7zip
jest bardziej kompaktorem (jak PKZIP) niż sprężarką. Jest dostępny dla Linuksa, ale może tworzyć skompresowane archiwa tylko w zwykłych plikach, na przykład nie jest w stanie skompresować strumienia. Nie jest w stanie przechowywać większości atrybutów plików Uniksa, takich jak własność, listy ACL, atrybuty rozszerzone, twarde linki ...
W systemie Linux jako kompresor używasz xz
tego samego algorytmu kompresji, co 7zip
(LZMA2). Możesz go użyć do kompresji archiwów tar.
Podobnie jak w przypadku gzip
i bzip2
nie jest równoległa wariant pixz
, który może wykorzystać kilka procesorów przyspieszyć kompresję ( xz
można też zrobić to natywnie od wersji 5.2.0 z -T
opcją). pixz
Wariant również obsługuje indeksowanie skompresowanego tar
archiwum, co oznacza, że jest w stanie wyodrębnić pojedynczy plik bez konieczności dekompresji pliku od początku.
lrzip jest tym, czego naprawdę szukasz, zwłaszcza jeśli kompresujesz kod źródłowy!
Cytując plik README:
lrzip najpierw skanuje i usuwa wszelką nadmiarowość danych na duże odległości za pomocą algorytmu opartego na rzipie, a następnie kompresuje dane nie nadmiarowe.
Con Kolivas stanowi fantastyczny przykład na liście mailingowej jądra Linux ; gdzie kompresuje 10,3 GB tarballa z czterdziestoma wersjami jądra Linuksa do 163,9 MB (1,6%) i robi to szybciej niż xz. Nie używał nawet najbardziej agresywnego algorytmu drugiego przejścia!
Jestem pewien, że uzyskasz świetne wyniki kompresowania ogromnych archiwów kodu źródłowego :)
Przykład (użycie domyślnych opcji dla innych):
Ultra kompresja, pies wolny:
Folderów, wystarczy zmienić
lrzip
nalrztar
źródło
lrzip
że świetnie sprawdza się również w przypadku kopii zapasowychtar/cpio/pax
drzew plików systemowych, ponieważ zwykle zawierają one wiele nadmiarowości dalekiego zasięgu, colrzip
jest naprawdę dobre w kompresji.lrzip
ipixz
na 19 GB plik tekstowy. Obie zajęły około pół godziny na skompresowanie go (na maszynie sześciordzeniowej), alelrz
plik był o połowę mniejszy niżxz
plik (2,7 vs. 4,4 GB). Zamiast tego kolejny głos na tę odpowiedź.Jeśli szukasz największej redukcji rozmiaru niezależnie od prędkości kompresji,
LZMA
prawdopodobnie najlepsza opcja.Porównując różne kompresje, ogólnie kompromis jest zależny od czasu i wielkości.
gzip
ma tendencję do kompresji i dekompresji stosunkowo szybko, jednocześnie zapewniając dobry współczynnik kompresji.bzip2
jest nieco wolniejszy niżgzip
czas kompresji i dekompresji, ale daje jeszcze większe współczynniki kompresji.LZMA
ma najdłuższy czas kompresji, ale daje najlepsze współczynniki, a jednocześnie ma współczynnik dekompresji przewyższający współczynnikbzip2
.Źródła: http://bashitout.com/2009/08/30/Linux-Compression-Comparison-GZIP-vs-BZIP2-vs-LZMA-vs-ZIP-vs-Compress.html
http://tukaani.org/lzma/benchmarks.html
źródło
zpaq
albopaq8l
. Są jednak tak powolne, że są mało praktyczne w przypadku większości zastosowań w świecie rzeczywistym.sudo apt-get install zpaq
, zrobiłem kilka testów, według wiki , ta aplikacja będzie najnowsza w 2009 roku, ale wciąż traci na kgb (który używa PAQ6), ale kgb jest DUŻO wolniejszy ...zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar
kompresuje więcej niżkgb -9
(zaktualizowana odpowiedź) Jeśli czas nie ma znaczenia, użyj ZPAQ v1.10 (lub nowszego) np .:
zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar
(maksymalna lokalizacja pliku ccg może się różnić, sprawdź listę zainstalowanych pakietów)zpaq
faktycznie skompresowany bardziej niżkgb -9 newFileName.kgb yourFileName.tar
.Jest to oparte na starszym algorytmie PAQ6 i jest bardzo wolne ...
Testowałem ze wszystkimi innymi kompresorami, takimi jak 7zip, lrzip, bzip2, kgb .. i zpaq najbardziej skompresowany!
Jeśli
kgb
nadal Cię interesuje: (ponieważ był to mój pierwszy wybór w tej odpowiedzi, więc zachowuję informacje tutaj)Ubuntu 14.04 ma kgb 1.0b4 , uruchom,
sudo apt-get install kgb
aby go zainstalować.Poniżej znajduje się wersja Windows, którą możesz spróbować uruchomić / skompilować
kgb
na Linuksie, ale mi się nie udało.Wersja 2 beta2 jest dostępna na SourceForge , ale nie są dostępne binaria dla Linuksa. Możesz spróbować uruchomić go w konsoli
wine kgb2_console.exe -a7 -m9
(metoda-a6 -m9
wydaje się odpowiadać najlepszej metodzie w wersji 1.0b4,-a7
jest nowa w wersji 2 beta2). Chociaż miałem lepszą stabilność, instalując .NET 2.0 z Winetricks i działającwine "KGB Archiver 2 .net.exe"
(nie lubię tego robić, więc pozostanę przy natywnym Linuksie 1.0b4, który ma prawie taki sam wynik jak 2 beta2).W każdym razie wersja 2 beta2 naprawdę zasługuje na natywną wersję Linuksa! Być może coś można osiągnąć za pomocą MinGW, zobacz to , ale to polecenie nadal nie działa poprawnie:
i586-mingw32msvc-g++ kgb2_console.cpp -o kgb
. Czy można spróbować go skompilować za pomocądmcs
(Mono)? zobacz tę wskazówkę .źródło
7zip nie jest unikalną technologią, ale obsługuje kilka różnych metod kompresji (patrz wikipedia 7z na ten temat).
Zestaw testów przeprowadzono z różnymi narzędziami specjalnie dla plików źródłowych C. Nie jestem pewien, które z narzędzi istnieją dla Linuksa, jeśli nadal istnieją. Można jednak zauważyć, że najlepszym algorytmem był PPM z modyfikacjami (PPMII, a następnie PPMZ).
Jeśli interesują Cię narzędzia, możesz przeglądać stronę, jest ona w języku rosyjskim, ale może pomóc tłumaczenie Google. Jest duży depozyt plików binarnych , których możesz użyć (lub nie będziesz mógł) z Linuksa z winem, jeśli naprawdę jest to potrzebne.
źródło