Bzip2 und gzip verwenden nur einen Kern, obwohl viele Computer mehr als einen Kern haben. Es gibt jedoch Programme wie lbzip2, pbzip2 und pigz, die alle verfügbaren Kerne verwenden und versprechen, mit bzip2 und gzip kompatibel zu sein.
Also, was ist der beste Weg, um diese Programme standardmäßig zu verwenden, so dass tar cfa file.tar.bz2 directory
lbzip2 / pbzip2 anstelle von bzip2 verwendet wird? Natürlich will ich nichts kaputt machen.
Antworten:
Sie können bzip2, bunzip2 und bzcat mit lbzip2 und gzip, gunzip, gzcat und zcat mit pigz verknüpfen:
Ich habe lbzip2 anstelle von pbzip2 gewählt, weil /usr/share/doc/lbzip2/README.gz "besser" aussieht als /usr/share/doc/pbzip2/README.gz. Auch das tar-Handbuch spricht von lbzip2 .
Bearbeiten:
pigz-2.1.6, das in Precise Pangolin enthalten ist, lehnt es ab, Dateien mit unbekannten Suffixen (z. B. initramfs - *. img) zu dekomprimieren. Dies ist in pigz-2.2.4 behoben, das mit Quantal ausgeliefert wird. Warten Sie also möglicherweise bis Quantal, installieren Sie das Quantal-Paket manuell oder verknüpfen Sie gunzip / gzcat / zcat noch nicht.
quelle
sudo dpkg-divert --divert /bin/gunzip.orig --rename /bin/gunzip; sudo ln -s /usr/bin/pigz /bin/gunzip
Es besteht jedoch die Möglichkeit, dass pigz nicht zu 100% mit allen gzip-Flags kompatibel ist. Seien Sie also vorsichtig.Die Symlink-Idee ist wirklich gut.
Eine andere funktionierende Lösung ist Alias
tar
:bzw.
Es wird eine andere Art von Standard erstellt.
quelle
Die Symlink-Antwort ist wirklich falsch. Es würde das Standard-gzip (oder bzip2) durch pigz (oder pbzip2) für das gesamte System ersetzen. Während die parallelen Implementierungen den einzelnen Prozessversionen bemerkenswert ähnlich sind, können geringfügige Unterschiede bei den Befehlszeilenoptionen zu Problemen bei den Kernsystemprozessen führen, die von diesen Unterschieden abhängen.
Die Option "--use-compress-program" ist eine viel bessere Wahl. Eine zweite Möglichkeit (ähnlich dem Alias) wäre, die von GNU tar unterstützte Umgebungsvariable TAR_OPTIONS zu setzen:
quelle
Eine faszinierende Möglichkeit besteht darin, tar neu zu kompilieren, um standardmäßig Multithreading zu verwenden. Von dieser Stapelüberlaufantwort kopiert
Neukompilierung mit Ersetzung
Wenn Sie tar aus Quellen erstellen, können Sie mit Parametern neu kompilieren
Nachdem Sie tar mit diesen Optionen neu kompiliert haben, können Sie die Ausgabe der Hilfe von tar überprüfen:
quelle
Verwenden Sie in Ihren ~ / .bash_aliases:
quelle
gzip
(odergunzip
) direkt in der Befehlszeile der Shell aufrufen . Andere Programme (wietar
) sind davon nicht betroffen.