Dakuan
Anmeldungsdatum: 2. November 2004
Beiträge: 6234
|
Ich möchte vom mehreren Rechnern Dateien auf einen neuen Server kopieren, wobei aber das Datum der letzten Veränderung beibehalten werden soll. Das ist wichtig, weil auf einigen Rechnern unterschidliche Versionen einiger Dateien vorhanden sind. Bisher habe ich Samba und FTP versucht, aber da erhält die Zieldatei immer den Zeitstempel des Kopierzeitpunkts. Deshalb habe ich jetzt auch scp versucht. Dort bleibt zwar die Veränderungszeit zwar erhalten, aber es wird auch nicht nachgefragt wenn die Datei bereits existiert, sodass evtl. eine neuere Datei durch eine ältere ersetzt wird. Gibt es da eine Patentlösung?
|
Dalai
Anmeldungsdatum: 16. Juni 2008
Beiträge: Zähle...
|
Mit einem vernünftigen FTP-Client klappt auch das Beibehalten des Datums beim Download. Total Commander und FlashGet können das. Für den Upload klappt das hingegen nicht. Dass das Datum bei Samba nicht beibehalten wird, kann ich nicht nachvollziehen. In der Firma bei uns steht ein Samba PDC (Ubuntu 8.04.2 mit ext3) und ich kann problemlos von und zu einem Windows-PC (Windows 2000 mit NTFS) kopieren und das Datum bleibt erhalten. Das wird sicherlich mit CIFS (einem Linux-Client) nicht anders sein. MfG Dalai
|
syscon-hh
Anmeldungsdatum: 8. Oktober 2005
Beiträge: 10220
|
Also bei einer Lösung mittels Terminal geht doch: (sudo) cp -af /von_Datei(n) /nach_Datei(n) dabei bleiben garantiert Modus, Besitzer und auch der Timestamp erhalten. Eine Anbindung via cifs in der /etc/fstab ist dabei sehr hilfreich. Ein Kopieren in Nautilus (Dolphin) setzt immmer neue interne File-Daten. gruß syscon-hh
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7787
|
@Dalai Dass das Datum bei Samba nicht beibehalten wird, kann ich nicht nachvollziehen
Das hängt vom Dateisystem des Servers und der Art des Zugriffs auf dem Client ab. Wenn mit cifs gemountet ist, und auf dem Server ein Linux-Dateisystem läuft, macht Samba mit den Timestamps keine Probleme (dank UNIX-Extensions). Wenn die UNIX-Extensions nicht ziehen (z.B. Zugriff über Nautilus/gvfs) oder deaktiviert sind (Windows-Dateisystem oder Option nounix ), bleibt das Änderungs-Datum nur dann erhalten, wenn sich der Besitzer der Datei beim Kopieren nicht ändert. Da die cifs-Shares in diesem Fall per Default als Besitz von Root gemountet werden (falls nichts anderes als uid angegeben ist), wird das Änderungsdatum häufig verstellt. Mit Samba geht alles, außer zu finden, wie es geht... 😉 Gruß - Max-Ulrich
|
Dakuan
(Themenstarter)
Anmeldungsdatum: 2. November 2004
Beiträge: 6234
|
Ich habe jetzt alle Tips durchprobiert, aber ich kriege es nicht hin. Mein Eindruck ist, das dieses gvfs unausgereifter Müll ist. Jedenfalls habe ich damit auch noch andere Probleme, so kann ich beispielsweise keine Textdateien über Sambafreigaben mit gedit öffnen (es wird immer nach Kennwort gefragt und immer der Zugriff verweigert) aber mit Mousepad oder Geany geht es. Ich habe jetzt auch keine Zeit mich weiter darum zu kümmern, da ich den Datenbestand (Text und HTML) schnell in Ordnung bringen muss. Jedenfalls sehe ich die von Max-Ulrich genannten Bedingungen auf meinem System weitgehend erfüllt. Die Benutzernamen und IDs sind auf allen Linux Rechnern identisch, bis auf die NSLU2, wo die Benutzer IDs mit 2000 beginnen. Trotzdem Danke für die Hinweise, vielleicht geht es ja endlich mit der nächsten LTS Version.
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7787
|
Mein Eindruck ist, das dieses gvfs unausgereifter Müll ist
Mein Eindruck: Unausgereift vielleicht, aber kein Müll. Dass man einen einheitlichen Zugriff für ganz verschiedene Dienste hat, ist schon positiv. Doch nun zum Timestamp-Problem: Mit Nautilus/gvfs ist das sicher in Samba nicht zu lösen, sondern nur übers Mounten mit cifs. Da spielt dann gvfs gar nicht mehr mit.
Textdateien über Sambafreigaben mit gedit öffnen
Da gibt es ein (inzwischen schon altes) Problem mit gedit, das offenbar Dateiattribute falsch interpretiert. Ich hatte aber gemeint, das sei inzwischen gefixt (?).
Die Benutzernamen und IDs sind auf allen Linux Rechnern identisch, bis auf die NSLU2, wo die Benutzer IDs mit 2000 beginnen.
Mit der NSLU2 können dann wohl die UNIX-Extensions nicht verwendet werden. Läuft da drauf nicht sowieso noch eine ältere Samba-2 Version? Dann gibt es mit den Extensions sowieso Probleme. Gruß - Max-Ulrich
|
Dakuan
(Themenstarter)
Anmeldungsdatum: 2. November 2004
Beiträge: 6234
|
Da gibt es ein (inzwischen schon altes) Problem mit gedit, das offenbar Dateiattribute falsch interpretiert. Ich hatte aber gemeint, das sei inzwischen gefixt (?).
Bei Hardy besteht dieser Bug noch. Und das scheint mir ein recht umfangreiches Problem zu sein. Ich war am Wochenende recht ungehalten deswegen und musste mich stark bremsen um hier nicht unangenehm aufzufallen. Jedenfalls hatte ich das Problem, das ich auch über gftp mit gedit als eingetragenen Editor zwar Textdateien bearbeiten konnte, gftp aber nach Abspeichern und Beenden behauptete die Datei wurde nicht verändert und muss dashalb auch nicht zum anderen Rechner übertragen werden. Heite habe ich festgestellt, das dieses Problem immer dann auftritt, wenn noch weitere Fenster/Tabs von gedit geöffnet sind. Momentan ist mein Workaround das ich Textpassagen, die zwischen unterschiedlichen Dateien und PCs ausgetauscht werden sollen in einem anderen Editor wie z.B. mousepad zwischenspeichere und darauf achte das nur jeweils eine Instanz von gedit verwendet wird. Mit mcedit ist es halt sehr umständlich, wenn man Absätze mit mehr als 24 Zeilen mittels past and coppy übertragen will ☹
Doch nun zum Timestamp-Problem: Mit Nautilus/gvfs ist das sicher in Samba nicht zu lösen, sondern nur übers Mounten mit cifs. Da spielt dann gvfs gar nicht mehr mit.
Das ist natürlich übel, da der Server nicht ständig läuft und nur bei Bedarf über wakeonlan gestartet wird, wesshalb ich keine statische Einbindung über fstab machen kann. Ausserdem muss ich mich dort je nach dem an welchem Problem gerade gearbeitet wird, mit unterschiedlichen Benutzernamen anmelden. Da ist Gnome noch blöder als Windows. Unter Windows habe ich immerhin die Möglichkeit mich "als anderen Benutzer" anzumelden. Diese Möglichkeit gibt es bei Gnome nicht, wenn man sich schonmal mit dem gegnerischen Rechner verbunden hatte, es wird immer der Anmeldename des ersten Verbindungsaufbaus benutzt. Da hilft dann nur ein Neustart. Und da soll nochmal jemand sagen Linux ist anders als Windows 👿
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7787
|
Und da soll nochmal jemand sagen Linux ist anders als Windows
GNOME ist nicht das ganze Linux. Und das hier sind Probleme von GNOME und gvfs.
Diese Möglichkeit gibt es bei Gnome nicht, wenn man sich schonmal mit dem gegnerischen Rechner verbunden hatte, es wird immer der Anmeldename des ersten Verbindungsaufbaus benutzt.
Es genügt AFAIK, den Netzwerk-Ordner, der auf dem Desktop erscheint, vorher auszuhängen. Dann sollte man sich mit anderer Identität neu anmelden können.
da der Server nicht ständig läuft und nur bei Bedarf über wakeonlan gestartet wird, wesshalb ich keine statische Einbindung über fstab machen kann
Das geht an sich schon. Das Mounten findet dann eben nicht statt (sonst passiert nichts), und man muss dann nach wakeonlan in genügendem zeitlichem Abstand noch sudo mount -a eingeben. Wenn Du die UNIX-Extensions verwenden kannst (das müsste man noch überprüfen), dann brauchst Du das ganze Theater nicht. Dann geht auch in Samba alles genau so einfach wie in NFS. Gruß - Max-Ulrich EDIT: Bisher habe ich Samba und FTP versucht
Mit SSH bleiben AFAIK die Dateiattribute auch erhalten, soweit ich sehe, auch mit Gnome/gvfs.
|
Dakuan
(Themenstarter)
Anmeldungsdatum: 2. November 2004
Beiträge: 6234
|
Es genügt AFAIK, den Netzwerk-Ordner, der auf dem Desktop erscheint, vorher auszuhängen. Dann sollte man sich mit anderer Identität neu anmelden können.
Das hatte ich auch versucht in der Hoffnung das damit alles vergessen ist. Was ich nicht versucht habe, aber woh noch einen Test wert ist, ist bei der Anmeldung den Haken mal auf "Kennwort sofort vergessen" zu setzen (war bisher auf Session).
Mit SSH bleiben AFAIK die Dateiattribute auch erhalten, soweit ich sehe, auch mit Gnome/gvfs.
Ich schrieb ja bereits, das es mit scp, welches wohl ssh benutzt, geht. Ich krige das hin, aber wie soll ich meinen DAUs beibringen das sie die Konsole benutzen sollen...
...und man muss dann nach wakeonlan in genügendem zeitlichem Abstand noch sudo mount -a eingeben.
das könnte ich nochmal ausprobieren. Vielleicht kriege ich da ja mit einem Script hin, welches als Desktop Verknüpfung abgelegt wird. Habe zwar noch keinen exakten Denkansatz dafür aber ich hatte mal ein funktionierendes Beispiel gesehen wo mittels ping oder arping exakt der Zeitpunkt abgewartet wurde um bei einer verlorenen NSLU2 genau die eine Sekunde zu finden, in der ein Telnet login in den Bootmanager möglich ist. Sowas plus 10 oder 20 Sekunden könnte vielleicht reichen. Das auszuprobieren dauert aber etwas, da ich mich in den nächsten Tagen mal um eine Abwrackprämie für meinen 17-jährigen oder alternativ um eine neue TÜV Plakette bemühen muss.
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7787
|
Ich krige das hin, aber wie soll ich meinen DAUs beibringen das sie die Konsole benutzen sollen
SSH geht auch mit Nautilus/gvfs (einfach ssh://<IP des Servers> oder ssh://<Servername>.local in die Adresszeile eines Nautilus-Fensters eintippen).
|
Dakuan
(Themenstarter)
Anmeldungsdatum: 2. November 2004
Beiträge: 6234
|
Das ssh auch über Nautilus funktioniert wusste ich nicht. Aber ich habe das gerade ausprobiertund dabei fastgestellt das auch hier der Timestamp des Kopierzeitpunktes verwendet wird. Aber das ist fast schon egal, denn ich habe schon angefangen bei allen ca. 1000 Textdateien auf 6 PCs das Datum der letzten Veränderung als "Version: 20090303" eizutragen damit das dann jeder Dummy lesen kann. Wer dann trotzdem alt auf neu kopiert hat selber Schuld.
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7787
|
ich habe das gerade ausprobiert und dabei festgestellt das auch hier der Timestamp des Kopierzeitpunktes verwendet wird.
Dann liegt das wohl am gvfs, das anscheinend unabhängig vom Protokoll so vorgeht. Dann ist hier mit Nautilus offenbar nichts zu machen. Schade!
|
Pfiffikus
Anmeldungsdatum: 27. November 2016
Beiträge: Zähle...
|
Gibt es inzwischen eine Lösung für das Problem im Titel? Ich nutze hier den MATE Desktop Environment 1.12.1 und Caja 1.12.7 auf Ubuntu MATE 16.04. Gerne schiebe ich die SD-Karte meiner Digitalkamera in den Rechner. Die Fotos schiebe ich dann von der SD-Karte in das richtige Verzeichnisfenster auf der Festplatte. Das ist zwar schön bequem. Aber die Fotos sind dann alle angeblich heute geändert. Ich möchte aber, dass das Änderungsdatum von der SD-Karte übernommen wird, denn das ist der Zeitpunkt der Aufnahme. Ja ich weiß, ich könnte in der Konsole kopieren und cp -ar verwenden. Aber es muss doch auch für das Maus schubsen eine solche Möglichkeit geben!!! Wo kann ich einstellen, dass beim Kopieren mit der Maus die Option -a beachtet wird. Am liebsten hätte ich eine Möglichkeit, diese Option dauerhaft einzustellen. Pfiffikus,
der seine Fotos nicht immer erst mit der Konsole kopieren möchte
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7787
|
Zuerst einmal: Caja und die anderen gtk-Dateimanager verwenden zum Kopieren nicht die Routine cp, sondern gvfs-copy, da dieses auch eine erweiterte Syntax incl. Netzwerk-Dateisysteme umfasst. Siehe dazu auch gvfs-mount (Abschnitt „Weitere-GVFS-Befehle“). Auch da gibt es den Befehl gvfs-copy --preserve , bei dem alle Dateiattribute unverändert bleiben. Wie man Caja dazu bewegen kann, diesen zu benutzen, weiß ich nicht. Allgemein gilt nach wie vor standardmäßig die Regel, dass der Zeitstempel immer dann verändert wird, wenn sich beim Kopieren der Eigentümer ändert. Da bei SD-Karten meist ein FAT-Dateisystem verwendet wird, das keinen "echten" Datei-Eigentum kennt, wird der Eigentümer beim Einbinden des Lesegeräts (USB oder Onboard?) simuliert. Bei mir bleibt das Veränderungsdatum erhalten, wenn ich die Bilder mit dem Dateimanager über ein USB-Lesegerät oder direkt von der Kamera mittels USB-Kabel kopiere, wenn diese "normal" dynamisch eingebunden wurden. Den Onboard-Kartenleser verwende ich hierfür nicht. Gruß – Max-Ulrich
|