Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 16. Nov 2018 14:31

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 29. Jun 2006 16:02 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Hallo,

ich habe mir ein Bash-Script geschrieben, dass verschiedene Verzeichnisse in ein Backupverzeichnis zippt. Nun auch das etc-Verzeichnis. Leider bleiben die symbolischen Links darin nicht erhalten wie ich nun feststellen musste, als ich das backup wieder einspielen wollte.

Die Man-Pages geben nicht viel her und Google auch nicht, daher muss ich jetzt mal fragen.

Wie bringe ich TAR dazu auch meine symbolischen Links zu erhalten?

Ciao, micbur


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29. Jun 2006 22:30 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
Hallo,

Wie sieht Dein 'tar'-Befehl aus?
habe hier tar-1.14 (sarge), keine Probleme damit Links zu verpacken.
('tar cf ETC.tar /etc/') Entpacken dito.

Darf der job die Links lesen (Benutzer?)?

man-page tar: Einzige Referenz auf "links": '-h'/'--dereference'


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 30. Jun 2006 8:38 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Hallo,

meine Befehlszeile sieht so aus:
tar -pcvz --file=$TARGET_FILENAME --remove-files $TMP_DIR

--- edit
OK, ich glaube, ich kann mein Problem besser beschreiben.

Wenn ich ein Backup anlege und in meinem Verzeichnis ist ein Symlink, dann wird im Backup der Symlink zur Datei/Verzeichnis umgewandelt. Tar folgt dem Symlink und kopiert den Inhalt dann an die Stelle. Das ist unpraktisch. Wenn ich ein Symlink auf ein Verzeichnis habe, dann wird das gesamte Verzeichnis kopiert.

Das soll also nicht geschehen, der Symlink soll erhalten bleiben.
Würde es diese Zeile tun?
tar -hpcvz --file=$TARGET_FILENAME --remove-files $TMP_DIR
---

Ciao, micbur


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 30. Jun 2006 14:14 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
Hallo nochmal,

Der Schalter
Code:
 '-h'/'--dereference'
soll eigentlich für genau das von Dir bemängelte Verhalten dasein: Statt Links zu behandeln sollen die referenzierten Dateien/Verzeichnisse bearbeitet werden.

Versuch es mal damit, vielleicht ist Deine tar-Version (welche?, welches OS?) genau anders kompiliert.

Oder hast Du vielleicht einen 'alias' anstatt des tar gesetzt (in der Art: alias tar='tar h')?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 30. Jun 2006 14:41 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Hallo,

kein Alias für tar vorhanden.
Code:
[cofdb01]# tar --version
tar (GNU tar) 1.13.25
Und was es für ein Linux ist, kann ich dir nicht sagen. War vielleicht mal ein RedHat, aber das ist eine Vermutung. Uptime 385 days, und das nur, weil es vor einem Jahr einen Datenbankfehler gab.

Ciao, micbur


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 30. Jun 2006 23:11 
benutze dafür am besten cpio.
das ist für backups besser geeignet und die links kann man damit auch erhalten.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 01. Jul 2006 7:57 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
jsdop:
Zitat:
benutze dafür am besten cpio.
das ist für backups besser geeignet und die links kann man damit auch erhalten.
Widerspruch: cpio ist "anders", im Grunde erfüllen beide ihren Zweck. Hier geht es um ein spezielles Problem in tar, welches scheinbar distributionsspezifisch oder versionsabhängig ist (Behandlung der Links).

@micbur
ich habe hier für sarge-tar-1.14 eine Manpage vom 22.September 1993.
Wenn Deine dieselbe Version ist und dieses spezifische Verhalten nicht beschreibt, vielleicht hilft ein
Code:
tar --help
EDIT: fedora-4: tar-1.15.1


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 01. Jul 2006 9:05 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Hallo,

wie gesagt, welche Distri, das weiß ich nicht.
Ganz unten an der Manpage steht ein Datum: 30 October 2000 TAR(1). Ich hoffe, es ist nicht das Datum der (app) Manpage.

$> tar --version liefert:
tar (GNU tar) 1.13.25
Copyright © 2001 Free Software Foundation, Inc.

Ich habe auch nochmal nachgeschaut, es ist wirklich das einzigste tar auf diesem System. Also aktuell ist sowieso v-1.15.91. Würde es damit besser gehen?

Ciao, micbur

PS: bald bin ich soweit, dass ich die Manpage hier einfüge. Wahrscheinlich lese ich wieder nicht richtig :-(


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 01. Jul 2006 10:52 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
Hallo nochmal,
Zitat:
tar (GNU tar) 1.13.25
welche tar-Version soll laut rpm auf Deinem System sein?
Code:
rpm -qa | grep tar
(nicht dass Dein tar-1.13.25 eine rootkit-Version ist)
google: "tar (GNU tar) 1.13.25" ergab einige Seiten über buggy-Version.

http://fedora.redhat.com/Download/mirrors.html
(einfach ausprobieren, oft klappt so etwas; aber nicht installieren, sondern nur das binary aus dem Paket ausprobieren)
(auf meinem sarge konnte ich tar-1.15.1 nicht ausführen, was aber nicht heisst)

EDIT:
Um herauszubekommen, welche OS-Version auf deinem Rechner läuft:
Code:
uname -a (erste Hinweise durch die Kernelversion)
/etc/issue und /etc/issue.net (meist)
/etc/version oder /etc/redhat-version oder ähnlich (kenne kein RedHat)
Pakete aus dem Update-Cache (falls noch vorhanden) durchsehen
rpm -qa (einige Versionsnummern vergleichen; besonders Basis-Pakete: glibc, X usw.)
Beispiel:
FC4: glibc-2.3.5-10 upd: 2.3.6-3
FC5; glibc-2.4-4 upd: 2.4-8


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 01. Jul 2006 13:20 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Hallo,

bei rpm ist Version tar-1.13.25-13 registerit.
Dann werde ich mal ne neue Version installieren.

Ist übrigends ein RedHat. Vielen Dank.

Ciao, micbur


Nach oben
   
 Betreff des Beitrags: lösung gefunden
BeitragVerfasst: 06. Jul 2006 9:49 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Hallo,

also das tar, was ich hatte und das neue tar funktionieren super. Der Fehler lag woanders.
Ich hatte ein Backup-Script geschrieben, dass auf entfernten Rechnern ein Verzeichnis sichert.

sh backup <host> <verz>

Nunja, ich benutzte scp, um die Dateien temporär lokal zwischenzuspeichern und scp war es, dass die Links dereferenzierte. Nun nutze ich rsync und es geht super.

Merke, scp verfolgt Links und dereferenziert sie, rsync nicht.

Ciao, micbur


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 11 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de