
Ist es gültig, dies zu tun:
{
tar -c dir1
tar -c dir2
} | cat > file.tar
Ist die resultierende Datei.tar ein gültiger Tarball?
Wenn nicht, wie kann ich Tarballs spontan verketten?
Antwort1
Ja, mit einer leichten Modifikation Ihrer Methode.
tar unterstützt das Zusammenfügen mehrerer tar-Dateien.... erinnern Sie sich an die Geschichte... es ist ein BANDARCHIV... es ist ein Datenstrom, der an eine Bandspule erinnert, die am Lese-/Schreibkopf vorbeisaust... für das tar-Programm sind es nur Datenblöcke...
Meinen Tests zufolge muss irgendwo mindestens EINE TAR-Datei vorhanden sein ...
tar cf one.tar buncha files to add
Ab diesem Punkt können Sie entweder weitere Dateien hinzufügen oder ein weiteres Tar (oder mehrere …) anhängen.
tar rf one.tar even more files to fill up this pseudo tape
tar Af one.tar two.tar three.tar four.tar
In diesem Beispiel wird alles in „one.tar“ zusammengequetscht …
wenn Sie die 'RF', fügt es neue Dateien an das angegebene Tar an (eins.tarhier), während Sie bei Verwendung derAf, es hängt eine oder mehrere Tar-Dateien an die ursprüngliche Tar-Datei an (urk! rekursives Tar! klebrig!)
Wie immer sind die Manpages Ihre Freunde. (langsame, schwach leuchtende, phosphorgrüne Freunde ... aber Freunde)
Antwort2
Sie können Tarballs nicht einfach so aneinanderreihen, denn das Ergebnis wäre nicht erwartungsgemäß. Sie können den Inhalt des Tarballs folgendermaßen überprüfen:
tar tf file.tar
Dies würde nur den Inhalt von dir1
ohne drucken dir2
. Um zwei Verzeichnisse dir1
und dir2
in zu archivieren file.tar
, können Sie Folgendes verwenden:
tar cf file.tar dir1 dir2
Das Handbuch ist verfügbar unterhttp://www.gnu.org/software/tar/manual/