GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie stellen Sie die bzip2-Blockgröße ein, wenn Sie tar verwenden?

Lösung 1:

export BZIP=--fast
tar cjf foo.tar.bz2 foo

Oder leiten Sie die Ausgabe von tar weiter bis bzip2 .

Beachten Sie jedoch Folgendes auf der bzip2-Manpage:

    -1 (or --fast) to -9 (or --best)
              Set  the  block size to 100 k, 200 k ..  900 k when compressing.
              Has no effect when decompressing.  See MEMORY MANAGEMENT  below.
              The --fast and --best aliases are primarily for GNU gzip compat-
              ibility.  In particular, --fast  doesn't  make  things  signifi-
              cantly faster.  And --best merely selects the default behaviour.

Lösung 2:

tar -cjf dir.tar.bz2 --options bzip2:compression-level=9 path/to/dir/

Lösung 3:

bzip2 Blockgrößen

bzip2 hat einige Blockgrößenoptionen. Von der Handbuchseite bzip2(1) :

-1 (or --fast) to -9 (or --best)
       Set the block size to 100 k, 200 k ..  900 k when compressing.
       Has no effect when decompressing. See MEMORY MANAGEMENT below.
       The --fast and --best aliases are primarily for GNU gzip
       compatibility. In particular, --fast doesn't make things
       significantly faster. And --best merely selects the default
       behaviour.

Wenn Sie eine schnellere Komprimierung mit weniger Rücksicht auf das Komprimierungsverhältnis wünschen, verwenden Sie bzip2 , du scheinst die -1 zu wollen (oder --fast )-Option.

Einstellung bzip2 Blockgröße bei Verwendung von tar

Sie können bzip2 einstellen Blockgröße bei Verwendung von tar in mehrfacher Hinsicht.

Der UNlX-Weg

Mein Lieblingsweg, der UNlX-Weg, ist einer, bei dem Sie jedes Werkzeug unabhängig voneinander verwenden und sie durch Pipes kombinieren.

$ tar --create [FILE...] | bzip2 -1 > [ARCHIVE].tar.bz2

Sie können das lesen als „erstelle .tar mit tar -> mit bzip2 komprimieren -> in [ARCHIVE].tar.bz2 schreiben ".

Umgebungsvariable

Es ist auch möglich, bzip2 einzustellen Optionen über die Umgebungsvariable BZIP2 . Aus der Handbuchseite bzip2(1) :

bzip2 will read arguments from the environment variables BZIP2 and BZIP,
in that order, and will process them before any arguments read from the
command line. This gives a convenient way to supply default arguments.

Um das also mit tar zu verwenden , könnten Sie zum Beispiel Folgendes tun:

$ BZIP2=-1 tar --create --bzip2 --file [ARCHIVE].tar.bz2 [FILE...]

Schnellere Alternativen

bzip2 verwendet einen langsamen Komprimierungsalgorithmus. Wenn Sie Bedenken hinsichtlich der Geschwindigkeit haben, können Sie alternative Algorithmen untersuchen, wie z. B. die von gzip verwendeten oder lzop . Hier ist ein netter Artikel, der Komprimierungstools vergleicht:https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/


Linux
  1. Wie alt waren Sie, als Sie angefangen haben, Linux zu benutzen?

  2. [Linux] :So schließen Sie das Verzeichnis aus, wenn Sie den Shell-Befehl „tar“ verwenden

  3. Wie kann ich die Paritätsbits einstellen, wenn ich den Bildschirm verwende, um auf eine serielle Schnittstelle zuzugreifen

  4. Wie können Sie beim Hinzufügen von Dateien zu einem tar einen beliebigen führenden Pfad festlegen?

  5. Wie stelle ich den DNS-Resolver in Fedora mit dem Netzwerkmanager ein?

So zeigen Sie Sternchen an, wenn Sie das Passwort im Terminal eingeben

So blockieren Sie einen Port mit einer Firewall in Linux

So blockieren Sie XML-RPC in WordPress mit Nginx/Apache

So blockieren Sie SSH-Brute-Force-Angriffe mit SSHGUARD

So richten Sie den APT-Caching-Server mit Apt-Cacher NG unter Ubuntu 20.04 ein

Wie blockiere ich eine IP-Adresse mit .htaccess?