Die Warnung „/bin/tar: Removing leading `/‘ from member names“ kommt wohl den meisten Linux Usern ziemlich bekannt vor. Doch was bedeutet diese Warnung eigentlich und warum wird sie ständig angezeigt? Ganz einfach erklärt:
Der Befehl wird für unser Beispiel wie folgt eingesetzt um das Verzeichnis /etc in das Archiv etc.tar.gz zu packen und zu komprimieren:
[bash]tar -czf etc.tar.gz /etc[/bash]Ausgabe:
[bash]tar: Removing leading `/‘ from member names[/bash]Die Meldung hat absolut seine Richtigkeit und ist durchaus sinnvoll, denn der tar Befehl entfernt den ersten / (trailing Slash), der zu sichernden Dateien und Verzeichnisse und „relativiert“ somit den Pfad (etc/)…
Wenn das nicht passiert, dann würde beim Entpacken des Archivs sämtliche vorhandene Dateien, im Beispiel unter /etc, durch neuere Dateien aus dem Archiv überschrieben werden.
[sam id=“2″ codes=“true“]Absolute Pfade im tar Befehl verwenden und Warnung entfernen
Damit die Warnung verschwindet können auch absolute Pfade verwendet werden. Hierzu wird der Flag „P“ (–absolute-names) gesetzt. Dieser teilt dem tar Befehl mit, dass absolute Pfade verwendet werden sollen und der trailing Slash erhalten bleibt (/etc).
[bash]tar -czPf etc.tar.gz /etc[/bash]Die Warnung verschwindet.
Entpacken des Archivs mit absoluten Pfaden
Wenn das Archiv nun ganz normal entpackt wird, wird ebenfalls der trailing Slash entfernt. (Doppelte Absicherung vom tar Befehl, also keine Sorge)
[bash]tar -xzf etc.tar.gz /etc[/bash]Ausgabe:
[bash]tar: Removing leading `/‘ from member names[/bash]Wird das Archiv allerdings mit dem Flag -P entpackt, so wird der absolute Pfad verwendet und /etc wird komplett überschrieben.
[bash]tar -xzPf etc.tar.gz /etc[/bash]
Kleine Ergänzung noch:
Wenn man das Archiv mit entferntem / gepackt hat, kann man diesen so beim Entpacken dazu fügen:
tar -xzf etc.tgz -C /
Mit -C $pfad kann man das Archiv in einem beliebigen Pfad entpacken. Sehr praktische Sache!
Kleine Frage noch: Darf ein Diktator das Häckchen bei menschlich machen oder nicht? *scnr*
Hallo, danke für die Erklärung, ich dachte schon, dass ich etwas falsch bei tar mache. Das erklärt, warum tar die Archive im aktuellen Verzeichnis entpackt.
Grüße
Sergej