12 najlepszych narzędzi do kompresji do kompresji plików w systemie Linux

12 najlepszych narzędzi do kompresji do kompresji plików w systemie Linux

Kompresja plików jest integralną częścią administrowania systemem. Znalezienie najlepszej metody kompresji wymaga dużej determinacji. Na szczęście istnieje wiele solidnych narzędzi do kompresji dla systemu Linux, które ułatwiają tworzenie kopii zapasowych danych systemowych. Tutaj przedstawiamy jedne z najlepszych narzędzi do kompresji systemu Linux, których można używać do kompresji plików w systemie Linux.

1. LZ4

LZ4 to narzędzie do kompresji wybierane przez administratorów, którzy potrzebują błyskawicznej kompresji i dekompresji. Wykorzystuje bezstratny algorytm LZ4, który należy do rodziny algorytmów kompresji zorientowanej na bajty LZ77.

Co więcej, LZ4 jest wyposażony w szybki dekoder, który może przetwarzać więcej niż 1 gigabajt na sekundę na rdzeń procesora. Dzięki temu jest idealnym rozwiązaniem dla użytkowników, którzy chcą połączyć duże ilości danych w jak najkrótszym czasie.

Terminal pokazujący ekran pomocy dla LZ4.

Plusy

  • Niezwykle szybki algorytm kompresji i dekompresji.
  • Dostępne obecnie w prawie każdej dystrybucji Linuksa.

Cons

  • Przedkłada prędkość nad wysoki stopień kompresji.
  • Domyślna implementacja wykorzystuje tylko jeden rdzeń procesora.

2. Zstandard

Zstandard to kolejne narzędzie do szybkiej kompresji dla systemu Linux, którego można używać w projektach osobistych i korporacyjnych. Niektóre z jego najbardziej atrakcyjnych funkcji obejmują tryb adaptacyjny, który może kontrolować współczynniki kompresji w oparciu o wejścia/wyjścia.

Co więcej, Zstandard ma możliwość zamiany szybkości na lepszą kompresję i schemat kompresji słownikowej. Wreszcie ma również bogate API, które jest dostępne dla wszystkich głównych języków programowania.

Terminal pokazujący ekran pomocy dla zstd.

Plusy

  • Można na bieżąco regulować stosunek prędkości do kompresji.
  • Podczas kompresji zużywa niewiele zasobów systemowych lub nie zużywa ich wcale.

Cons

  • Nie jest łatwo dostępny w większości dystrybucji i nie ma domyślnej obsługi w formacie tar.
  • Dekompresja może zająć trochę czasu przy wysokich współczynnikach kompresji.

3. lzop

lzop to solidne narzędzie do kompresji, które wykorzystuje algorytm kompresji Lempela-Ziv-Oberhumera (LZO). Zapewnia zawrotną prędkość kompresji poprzez zmianę współczynników kompresji. Na przykład tworzy nieco większe pliki w porównaniu do gzip, ale wymaga tylko 10% czasu pracy procesora.

Co więcej, lzop może radzić sobie z kopiami zapasowymi systemu na wiele sposobów, w tym w trybie kopii zapasowej, trybie pojedynczego pliku, trybie archiwum i trybie potoku. Wreszcie, lzop ma również być zastępczym zamiennikiem starszego algorytmu gzip. Oznacza to, że możliwe jest użycie lzop w skryptach, które normalnie używają gzip, po prostu tworząc alias Bash.

Terminal pokazujący ekran pomocy dla lzop.

Plusy

  • Przyzwoity stopień kompresji zapewniający dobrą prędkość kompresji.
  • Łatwa modernizacja w starszych skryptach archiwalnych dzięki kompatybilności z gzipem.

Cons

  • Nie usuwaj oryginalnego pliku po kompresji.
  • Stopień sprężania spada, im bardziej koncentruje się na prędkości.

4. Gzip

Gzip jest z pewnością jednym z najczęściej używanych narzędzi do kompresji przez administratorów Linuksa. Jest kompatybilny z każdym oprogramowaniem GNU, co czyni go idealnym narzędziem do kompresji dla zdalnych inżynierów.

Gzip wykorzystuje kodowanie Lempela-Ziv w trybie DEFLATE do kompresji plików. Może zmniejszyć rozmiar kodu źródłowego nawet o 90 procent. Poza tym zachowuje również metadane pliku, w tym czas modyfikacji i bity uprawnień. Ogólnie rzecz biorąc, sprawia to, że gzip jest doskonałym wyborem dla doświadczonych użytkowników Linuksa, a także twórców oprogramowania.

Terminal pokazujący, jak gzip kompresuje i dekompresuje plik.

Plusy

  • Dostępne w każdej dystrybucji Linuksa jako część GNU coreutils.
  • Zachowuje wszystkie istotne metadane skompresowanego pliku.

Cons

  • Nie tak skuteczne przy kompresowaniu katalogów plików.
  • Przeciętne współczynniki kompresji i prędkości w porównaniu do innych algorytmów.

5. bzip2

bzip2 to bezpłatne narzędzie do kompresji o otwartym kodzie źródłowym dla systemu Linux. Kompresuje pliki przy użyciu algorytmu kompresji sortowania bloków Burrowsa-Wheelera i kodowania Huffmana. Obsługuje także kilka dodatkowych metod kompresji, takich jak kodowanie ciągłe, kodowanie delta i tablica bitów rzadkich.

Bzip2 może także odzyskiwać dane z nośników poprzez rekonstrukcję brakujących, uszkodzonych danych z dostępnego archiwum. Ogólnie rzecz biorąc, bzip2 jest odpowiednim narzędziem do kompresji do codziennego użytku ze względu na jego solidne możliwości kompresji i dużą prędkość dekompresji.

Terminal pokazujący kompresję i dekompresję pliku przez bzip2.

Plusy

  • Posiada wbudowaną funkcję odzyskiwania danych, która pozwala na bieżąco rekonstruować brakujące i uszkodzone dane.
  • Niezwykle przenośny. Może działać zarówno na starym, jak i nowym sprzęcie i systemach operacyjnych.

Cons

  • Przeciętny stopień kompresji w porównaniu do Zstandardu i LZ4.
  • Czasami może to spowodować zwiększenie rozmiaru pliku, zamiast go zmniejszać.

6.7zip

7zip to port narzędzia wiersza poleceń 7-zip dla systemu Linux. Jest to wysokowydajne narzędzie do archiwizacji o solidnych współczynnikach kompresji. Podobnie jak jego odpowiednik w systemie Windows, obsługuje wiele popularnych formatów, w tym tar, xz, gzip, bzip2 i zip.

7zip domyślnie korzysta także z formatu 7z, który zapewnia od 30 do 50 procent lepszą kompresję niż standardowa kompresja zip . Co więcej, możesz użyć tego narzędzia do tworzenia samorozpakowujących się archiwów woluminów o dynamicznych rozmiarach.

Terminal pokazujący, że 7z kompresuje plik.

Plusy

  • Format jest łatwo kompatybilny z innymi systemami operacyjnymi innymi niż Linux.
  • Obsługuje wiele formatów kompresji wraz z charakterystycznym formatem 7z.

Cons

  • Nie zachowuje żadnych metadanych plików skompresowanego archiwum.
  • Nie jest łatwo dostępny w większości dystrybucji Linuksa.

7. pigz

pigz lub równoległa implementacja gzip jest niezawodnym zamiennikiem narzędzia do kompresji gzip. Wykorzystuje wiele rdzeni procesora, aby radykalnie zwiększyć prędkość kompresji. Wykorzystuje biblioteki zlib i pthread do realizacji procesu kompresji wielowątkowej. Jednakże pigz nie może dekompresować archiwów równolegle. Dlatego nie będzie można uzyskać podobnych prędkości podczas kompresji i dekompresji.

Terminal pokazujący ekran pomocy pigz.

Plusy

  • Niezwykle dobre prędkości kompresji dzięki możliwości wykorzystania wielu rdzeni.
  • Kompatybilny krzyżowo z popularnym plikiem binarnym kompresji gzip.

Cons

  • Można kompresować tylko jeden plik na raz.
  • Powolna dekompresja ze względu na brak obsługi wielowątkowości w algorytmie ekstrakcji.

8. piks

pixz to równoległa implementacja kompresora XZ z obsługą indeksowania danych. Zamiast tworzyć jeden duży blok skompresowanych danych, taki jak xz, tworzy zestaw mniejszych bloków. Dzięki temu losowy dostęp do oryginalnych danych jest prosty. Co więcej, pixz dba również o to, aby uprawnienia do plików zostały zachowane tak, jak podczas kompresji i dekompresji.

Terminal pokazujący, jak pixz kompresuje i dekompresuje plik.

Plusy

  • Wysoka wydajność w kompresji dużych bloków danych.
  • Wykorzystuje wszystkie dostępne rdzenie procesora podczas kompresji plików.

Cons

  • Nie ma możliwości przesyłania danych bezpośrednio na standardowe wyjście.
  • Nie w pełni kompatybilny z wariantem jednordzeniowym: xz.

9. proszę

plzip to bezstratne narzędzie do kompresji danych, które kreatywnie wykorzystuje możliwości wielowątkowości obsługiwane przez nowoczesne procesory. Jest zbudowany na bazie biblioteki lzlib i zapewnia interfejs wiersza poleceń podobny do gzip i bzip2.

Jedną z kluczowych zalet plzip jest jego zdolność do pełnego wykorzystania maszyn wieloprocesorowych. Poza tym twórca algorytmu zaprojektował go tak, aby był jak najbardziej bezpieczny i niezawodny dla danych. To sprawia, że ​​jest to atrakcyjna opcja dla administratorów, którzy potrzebują wydajnego narzędzia do kompresji dla systemu Linux, obsługującego kompresję równoległą i odpowiedniego do długoterminowego przechowywania.

Terminal pokazujący ekran pomocy dla plzip.

Plusy

  • Wykorzystuje wszystkie rdzenie procesora zarówno podczas kompresji, jak i dekompresji.
  • Zbudowany z myślą o bezpieczeństwie podczas obsługi krytycznych danych.

Cons

  • Przedkłada prędkość nad stopień kompresji.
  • Aby efektywnie kompresować dane, wymagany jest minimalny rozmiar pliku wynoszący 2MB.

10. Narzędzia XZ

XZ Utils to zestaw narzędzi do kompresji dla systemu Linux, które umożliwiają kompresję i dekompresję. xz i. pliki lzmy. Do kompresji wykorzystuje przede wszystkim algorytm LZMA2 i może z łatwością przeprowadzać kontrolę integralności skompresowanych danych. Ponieważ to narzędzie jest domyślnie dostępne w popularnych dystrybucjach Linuksa , w wielu sytuacjach może być dobrym wyborem do kompresji.

Terminal pokazujący, że xz kompresuje i dekompresuje plik.

Plusy

  • Tworzy pliki o wyjątkowo wysokim współczynniku kompresji.
  • Dostępne w prawie wszystkich nowoczesnych dystrybucjach Linuksa.

Cons

  • Zarówno algorytmy kompresji, jak i dekompresji obciążają procesor i są powolne.
  • Wyższe ustawienia współczynnika kompresji mogą powodować duże zużycie pamięci.

11. lrzip

Long Range ZIP (lrzip) to wydajny program do kompresji danych dla systemu Linux, którego celem jest optymalizacja dużych plików binarnych. Czyni to poprzez rozszerzenie algorytmu rzip w celu dostosowania do zmiennych rozmiarów pamięci, a także poprzez wykorzystanie wielu algorytmów kompresji.

Poza tym lrzip jest również niezwykle przenośny. Oznacza to, że pakiet lrzip można znaleźć w prawie wszystkich nowoczesnych dystrybucjach Linuksa, takich jak Ubuntu, Debian i Arch Linux.

Terminal pokazujący ekran pomocy dla lrzip.

Plusy

  • Skutecznie kompresuje pliki o dużych rozmiarach.
  • Kod jest na tyle przenośny, że może być dostępny dla większości dystrybucji Linuksa.

Cons

  • Można kompresować tylko jeden plik na raz.
  • Użycie programu kompresującego w potoku UNIX może skutkować mniejszą wydajnością.

12. Zpaq

Zpaq to potężne narzędzie do kompresji danych, które może tworzyć przyrostowe kopie zapasowe. W przeciwieństwie do innych algorytmów kompresji, Zpaq to kompletny pakiet oprogramowania, którego celem jest zapewnienie redundantnego, ale bardzo wydajnego rozwiązania archiwizacyjnego.

Poza tym Zpaq ma również możliwość powrotu do starszej wersji swojego archiwum. Dzieje się tak, ponieważ śledzi wszystko, co dzieje się w archiwum Zpaq, łącznie z dokładnymi bajtami, które uległy zmianie pomiędzy wersjami.

Terminal pokazujący ekran pomocy dla zpaq.

Plusy

  • Może automatycznie tworzyć przyrostowe kopie zapasowe katalogu.
  • Doskonały współczynnik kompresji w przypadku wielu plików.

Cons

  • Nie zachowuje bitów uprawnień i czasów modyfikacji swoich archiwów.
  • Nie podąża za dowiązaniami symbolicznymi podczas archiwizacji danych.

Mnóstwo niezawodnych narzędzi do kompresji systemu Linux ułatwia archiwizację i tworzenie kopii zapasowych niezbędnych danych . Możesz wybierać spośród wielu bezstratnych kompresorów o wysokich współczynnikach kompresji, takich jak LZ4, lzop i bzip2.

Z drugiej strony narzędzia takie jak Zstandard, plzip i Zpaq pozwalają na bardziej zaawansowane procesy kompresji. Wreszcie, kompresja danych archiwalnych to nie koniec zapewnienia integralności danych przez długi czas. Dowiedz się, jak utworzyć bezpieczną kopię zapasową w chmurze za pomocą rclone .

Źródło zdjęcia: Priscilla Du Preez za pośrednictwem Unsplash . Wszystkie zmiany i zrzuty ekranu wykonał Ramces Red.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *