Komprimierungsgrad mit Nice und Tar einstellen

Komprimierungsgrad mit Nice und Tar einstellen

Wie wird hier die Komprimierungsstufe eingestellt?

nice -n 19 tar -czf $out $in

Antwort1

nicehat keine Auswirkungen auf den Komprimierungsgrad. Es beeinflusst nur die Planung des Prozesses durch den Kernel. Alle unten aufgeführten Befehle können mit einem Präfix versehen werden, um nicesie auf einem anderen „Nice“-Level auszuführen. Dies hat keinen Einfluss auf den Komprimierungsgrad, sondern nur auf die Zeit, die für die Ausführung der Aktion benötigt wird (wenn das System stark ausgelastet ist).

Wenn Sie GNU verwenden tar, kann das Komprimierungsprogramm mit -Iden --use-compress-programOptionen oder eingestellt werden:

$ tar -I "gzip --best" -c -f archive.tar.gz dir

oder

$ tar --use-compress-program="gzip --best" -c -f archive.tar.gz dir

Beachten Sie, dass die -zOption nicht verwendet werden sollte, wenn Sie das Komprimierungsprogramm explizit festlegen.

Im GNU- tarHandbuch steht, dass das verwendete Programm eine Option zum Dekomprimieren unterstützen muss -d(sofern Sie diese Optionen zum Dekomprimieren eines komprimierten Archivs verwenden), was auch der gzipFall ist.

Bei BSD tarist es, soweit ich gesehen habe, nicht möglich, den Komprimierungsgrad auf ähnliche Weise anzugeben.

Die andere Möglichkeit, dies zu erreichen, besteht offensichtlich darin, ein unkomprimiertes Archiv zu erstellen und dieses dann nach Wunsch zu komprimieren:

$ tar -c -f archive.tar dir
$ gzip --best archive.tar

oder

$ tar -c dir | gzip --best -o archive.tar.gz

Nochein andererMöglichkeit besteht darin, die Umgebungsvariable auf die Flags festzulegen GZIP, die Sie übergeben möchten gzip:

$ export GZIP='--best'
$ tar -c -z -f archive.tar.gz dir

Mit Ausnahme der Verwendung von -Iund --use-compress-programfunktionieren die letzten Alternativen sowohl mit GNU als auch mit BSD tar.

verwandte Informationen