Na vyriešenie tohto problému vyvinuli vývojári kompresné algoritmy a nástroje schopné komprimovať údaje v reálnom čase, čím sa zmenšila veľkosť a potrebný výkon spracovania. Jedným z týchto nástrojov je Zstandard, všeobecne známy ako Zstd.
Zstd je bezplatný algoritmus kompresie v reálnom čase s otvoreným zdrojovým kódom, ktorý vyvinul Yann Collect, zamestnanec spoločnosti Facebook. Zstd je veľmi rýchly a ponúka vynikajúce kompresné pomery. Je to bezstratový kompresný algoritmus napísaný v jazyku C, ale má implementácie API v iných populárnych programovacích jazykoch, ako sú Python, Java, C #, JavaScript a mnoho ďalších. Poskytuje tiež funkcie kompresie a dekompresie v pamäti.
Ak chcete skontrolovať, či Zstd podporuje váš požadovaný jazyk, skontrolujte zdroj uvedený nižšie:
https: // facebook.github.io / zstd /
Ak si chcete pozrieť porovnanie informácií o Zstd, použite nasledujúci odkaz:
https: // github.com / facebook / zstd
Tento tutoriál vám ukáže, ako zostaviť a nainštalovať nástroj Zstd v systéme Linux a potom ho použiť na kompresiu a dekompresiu údajov.
Ako nainštalovať Zstd
Aby sme mohli používať Zstd, musíme si ho nainštalovať kompiláciou zo zdrojov. V závislosti od spusteného systému a konfigurácie budete pravdepodobne musieť nainštalovať závislosti a nástroje, aby ste úspešne vykonali kompiláciu.
Začnite aktualizáciou systému a inštaláciou GNU make pomocou príkazu:
sudo apt-get aktualizáciasudo apt-get upgrade
sudo apt-get -y nainštalovať build-essential wget tar
Keď máme všetky nástroje nainštalované, môžeme si stiahnuť zdrojové súbory a skompilovať ich. Začnite navigáciou tam, kde ste čítali, písali a vykonávali povolenia. ~ / Desktop
cd ~ / DesktopĎalej pomocou wget stiahnite súbory do adresára.
wget https: // github.com / facebook / zstd / releasy / download / v1.4.9 / zstd-1.4.9.decht.gzTeraz zrušte archiváciu sťahovaného súboru a prejdite do adresára pomocou príkazov ako:
tar xvf zstd-1.4.9.decht.gzcd zstd-1.4.9
Posledným krokom je inštalácia Zstd pomocou make a make install v adresári Zstd.
sudo urobiťsudo urobiť inštaláciu
Po úspešnom dokončení kompilácie a inštalácie môžete vo svojom systéme začať používať program Zstd na kompresiu a dekompresiu súborov.
Ako používať Zstd
Zstd sa vôbec neodchyľuje od populárnych metód kompresie a dekompresie. Aj keď sa základná technológia a implementácia líšia od iných nástrojov, komprimácia súboru pomocou Zstd je podobná syntaxe tar a gzip.
Ako komprimovať súbor
Ak chcete komprimovať súbor, zavolajte príkaz zstd nasledovaný príznakom -z, ktorý povie zstd, aby vykonal kompresiu, a nakoniec názov súboru, ktorý sa má komprimovať.
Napríklad nasledujúci príkaz komprimuje súbor so zálohou systému na a .súbor zst.
$ sudo zstd -z system-backupVýstup príkazu, ako je uvedené nižšie:
systémová záloha: 100.00% (1821109 => 1821164 bajtov, zálohovanie systému.zst)$ ls zálohovanie systému
Mali by ste vidieť súbor s .rozšírenie zst ako:
zálohovanie systému.zstPo vykonaní príkazu sa súbor skomprimuje a vytvorí sa názov súboru .súbor zst, ktorý môžete dekomprimovať.
Komprimujte a odstráňte zdrojový súbor
Ako vidíte z vyššie uvedeného príkazu, zdrojový súbor sa pri kompresii predvolene neodstráni. Môžete určiť odstránenie zdrojových súborov pomocou príznaku -rm:
$ sudo zstd -z --rm system-backupsystémová záloha: 100.00% (1821109 => 1821164 bajtov, zálohovanie systému.zst)
$ ls
zálohovanie systému.zst
Zadanie príznaku -rm automaticky odstráni zdrojový súbor.
Získajte informácie o súbore
Ak chcete zobraziť súvisiace informácie o komprimovanom súbore Zstd, môžete použiť príznak -l nasledovaný názvom súboru. Zobrazené informácie zahŕňajú veľkosť súboru, kompresný pomer a kontrolný súčet súboru
$ zstd -lv zálohovanie systému.zst*** rozhranie príkazového riadku zstd 64 bitov v1.4.9, autor: Yann Collet ***
zálohovanie systému.zst # Zštandardné rámy: 1
Veľkosť okna: 1.74 MB (1821109 B)
Stlačená veľkosť: 1.74 MB (1821164 B)
Dekomprimovaná veľkosť: 1.74 MB (1821109 B)
Pomer: 1.0000
Kontrola: XXH64
Zadajte úroveň kompresie
Ak chcete explicitne určiť úroveň kompresie, použite - kde úroveň je hodnota v rozmedzí od 1 do 19. Predvolená úroveň kompresie je 3. Môžete tiež odomknúť vyššie úrovne kompresie, t.j.e., úroveň 20 - 22.
POZNÁMKA: Čím vyššia je úroveň kompresie, tým vyššie je využitie pamäte.
Napríklad na kompresiu súboru s úrovňou kompresie 10 použite príkaz:
zstd -z -10 --rm system-backupZadajte rýchlosť kompresie.
Zstd tiež umožňuje nastaviť rýchlosť kompresie v rozmedzí od 1 do. Rýchlosť kompresie je nepriamo úmerná kompresnému pomeru. Predvolená rýchlosť kompresie je 1 a čím vyššia je hodnota, tým vyššia je rýchlosť kompresie.
Napríklad na použitie maximálnej rýchlosti kompresie použite príkaz:
sudo zstd -z --fast = 10 system-backupZadajte formát kompresie
Môžete tiež určiť kompresný formát, ktorý sa má použiť, ak sa vám nepáči predvolená kompresia zst. Formáty zahŕňajú zstd, gzip, xz, lzma a lz4.
Použite príznak -formát a zadajte formát ako:
zstd -z --format = gzip system-backupKomprimovať zoznam súborov
Predpokladajme, že máte zoznam súborov, ktoré chcete komprimovať naraz. Zstd vám umožňuje odovzdať súbor obsahujúci zoznam súborov a rekurzívne ich komprimovať.
Napríklad zoznam súborov.txt obsahujúci súbory
/ home / user / mysql-backup/ backups / config
/ home / Desktop / media
/ sync / 2021 / používateľov
Po uložení súboru môžete zoznam odovzdať Zstd so všetkými ďalšími možnosťami, ako so súbormi pracovať.
sudo zstd -z -v --rm - zoznam súborov.TXTTento príkaz komprimuje všetky súbory uvedené v textovom súbore a po dokončení ich odstráni.
Dekomprimujte súbor
Na dekompresiu súboru môžete použiť príkaz -d pomocou príkazu zstd alebo jednoducho použiť príkaz unzstd na dekompresiu.
Napríklad:
sudo unzstd system-backup.zstsudo zstd -d system-backup.zst
Skontrolujte integritu súboru
Ak chcete otestovať integritu komprimovaného súboru zst, použite príznak -t, ako je uvedené v nasledujúcom príkaze:
sudo zstd -t system-backup.zstZáver
Ako vidíme z príkladov, Zstd je výkonný algoritmus kompresie s mnohými prípadmi použitia. Ak sa chcete dozvedieť viac o jeho fungovaní a implementácii, pozrite si manuálovú stránku a experimentujte.
Vďaka za prečítanie.