Laut dieser Seite kann man tar ein Tar-Archiv "aufteilen" lassen in 100 Mb-Dateien:
tar -c -M --tape-length = 102400 --file = disk1.tar largefile.tgz
Das Problem ist, dass Sie bei diesem Befehl interaktiv einen neuen Dateinamen für die nächste Datei eingeben müssen, nachdem die erste Datei gefüllt wurde.
Kennt jemand eine Möglichkeit, diesen interaktiven Schritt zu überspringen und tar die "Aufteilung" automatisch durchführen zu lassen?
Antworten:
Sehen Sie sich die
--new-volume-script
Option an, mit der Sie den Eingabeaufforderungsmechanismus durch einen anderen Mechanismus oder durch einen generierten Dateinamen ersetzen können. ((tar.info)Multi-Volume Archives
auf dertar
Infoseite.) Das Problem dabeisplit
ist, dass Siecat
die Teile wieder zusammenfügen müssen, um etwas zu tun, wohingegen ein Multivolume-Archiv etwas flexibler sein sollte.quelle
Sie können hierfür split verwenden:
Dies weist tar an, die Daten an stdout zu senden und zu teilen, um sie aus stdin auszuwählen - zusätzlich unter Verwendung eines numerischen Suffix (
-d
), einer-b
Blockgröße ( ) von 100M und unter Verwendung von 'tardisk' als Basis für die resultierenden Dateinamen (tardisk00, tardisk01, tardisk02 usw.).Um die Daten anschließend zu extrahieren, können Sie dies verwenden:
quelle
-d
gilt für numerisches Suffix, nicht für Präfix.Die beste Option ist natürlich die
--new-volume-script
Option.Wenn Sie die Größe der Datei kennen (in diesem Fall largefile.tgz), können Sie dies auch tun:
Zusammenfassung:
(Geben Sie für -L so viele an, wie erforderlich sind, damit die Gesamtsumme der TAR-Dateien größer als largefile.tgz ist.)
Wenn Sie versuchen,
tar
eine Verzeichnisbaumstruktur zu erstellenquelle
Ich habe es mit den folgenden Befehlen arbeiten:
Das einzige Problem ist, dass
part_1.tar
es sich tatsächlich um die letzte Datei handelt und die anderen um eine verschoben werden. Dhpart_2.tar
ist eigentlich der erste Teil, undpart_k.tar
ist der(n - 1)
th Teil. Das Problem mit einem Shell-Skript zu beheben, ist trivial und wird dem Leser als Übung überlassen.quelle
Es werden automatisch Dateien mit einer Größe von 1,1 GB erstellt. Wenn Ihr Teer größer ist, können Sie die Anzahl erhöhen, z. B. 1000 {2..1000}, oder Sie können die Eingabe auf Bandlänge erhöhen.
quelle