# cat Dateiliste.txt

# cat Dateiliste.txt

Ich erstelle eine Tar-Datei aus einer Liste von Dateien mit der Option -T. Beim Extrahieren der Tar-Datei lauten die Unterverzeichnisberechtigungen root:root statt der Berechtigungen für das Verzeichnis selbst? Irgendwelche Ideen, wie man das beheben kann?

Beispiel:

# cat Dateiliste.txt

Datei1.txt

dir1/file2.txt

dir1/dir2/file3.txt

# tar cf files.tar -T Dateiliste.txt

# tar xf-Dateien.tar

Die Eigentümerschaft der extrahierten Dateien stimmt mit der ursprünglichen Eigentümerschaft von file1.txt, file2.txt und file3.txt überein. Die Eigentümerschaft von dir1 und dir2 stimmt nicht überein. Eigentümer ist root:root

Ich könnte eine ähnliche Lösung verfolgen wieBewahren Sie beim Extrahieren des Tar-Archivs die Eigentumsrechte und Rechte des übergeordneten Verzeichnisses auf. aber ich hatte gehofft, dass es einen anderen Weg gibt, da dies für eine Reihe von Verzeichnissen möglicherweise mehr Arbeit bedeuten könnte.

Antwort1

Sie müssen sowohl die Verzeichnisse als auch die Dateien sichern. Dazu müssen Sie zwei Dinge tun:-

1) Fügen Sie die Verzeichnisse zu Ihrer Dateiliste hinzu:

file1.txt
dir1
dir1/file2.txt
dir1/dir2
dir1/dir2/file3.txt

2) Fügen Sie --no-recursionder Sicherungsausführungszeichenfolge Folgendes hinzu, um die Einbeziehung aller anderen Dateien in den Verzeichnissen zu verhindern:

tar cf files.tar --no-recursion -T filelist.txt

Beachten Sie, dass die Reihenfolge wichtig ist: Die Verzeichnisse müssen vor jedem Verweis in einem Unterverzeichnis oder einer Datei stehen und der --no-recursionParameter muss vor dem -T, aber nach dem cf FileNameBefehl stehen.

verwandte Informationen