Was bedeuten die verschiedenen Warnungen zum Entfernen des führenden Schrägstrichs?

Was bedeuten die verschiedenen Warnungen zum Entfernen des führenden Schrägstrichs?

Ich verwende GNU tarmit einigen --excludeangegebenen Instanzen.

Ich bekomme beides

Removing leading / from member names

Und

Removing leading / from hard link targets

Warnungen. Was ist der Unterschied zwischen ihnen?

Antwort1

Kein Eintrag in einem Tarball darf mit einem "/" beginnen, also einen absoluten Pfad haben. Dies ist eine Sicherheitsfunktion, damit Sie beim Entpacken des Tarballs sicher sein können, dass alle Dateien im Zielverzeichnis und den Unterverzeichnissen liegen, anstatt über das ganze System verstreut zu sein (und möglicherweise wichtige Dateien zu überschreiben).

Die angezeigten Warnungen entstehen durch tardas Entfernen des führenden "/" aus allen absoluten Pfaden, sowohl für normale Dateien ("Mitgliedsnamen") als auch für Hardlinks ("Hardlink-Ziele").

Beispielsweise dieser Befehl ...

/home/user $ tar czf tarball.tgz /home/user/data

...würde zu diesen Warnungen führen, da "/home/..." in "home/..." umgewandelt wird. Das Auspacken des Tarballs...

/home/user $ tar xzf tarball.tgz

...würde dazu führen, dass alle Dateien nach entpackt würden /home/user/home/user/data. Wenn tardie führenden Schrägstriche nicht entfernt worden wären, /home/user/datawären die Dateien in stattdessen überschrieben worden.

verwandte Informationen