За да разрешат този проблем, разработчиците разработиха алгоритми за компресия и инструменти, способни да компресират данни в реално време, намалявайки размера и необходимата мощност. Един от тези инструменти е Zstandard, известен като Zstd.
Zstd е безплатен алгоритъм за компресиране в реално време с отворен код, разработен от Yann Collect, служител във Facebook. Zstd е много бърз и предлага изключителни степени на компресия. Това е алгоритъм за компресиране без загуби, написан на C, но има API реализации в други популярни езици за програмиране като Python, Java, C #, JavaScript и много други. Той също така осигурява функции за компресиране и декомпресия в паметта.
За да проверите дали Zstd поддържа желания от вас език, проверете ресурса, предоставен по-долу:
https: // facebook.github.io / zstd /
Ако искате да разгледате сравнителна информация за Zstd, използвайте връзката по-долу:
https: // github.com / facebook / zstd
Този урок ще ви покаже как да компилирате и инсталирате инструмента Zstd в Linux, след което да го използвате за извършване на компресиране и декомпресиране на данни.
Как да инсталирате Zstd
За да използваме Zstd, трябва да го инсталираме, като компилираме от източниците. В зависимост от системата, която работите, и конфигурацията, може да се наложи да инсталирате зависимости и инструменти за успешно изпълнение на компилацията.
Започнете с актуализиране на вашата система и инсталиране на GNU make, като използвате командата:
sudo apt-get updatesudo apt-get ъпгрейд
sudo apt-get -y инсталиране на компилацията от съществено значение wget tar
След като инсталираме всички инструменти, можем да изтеглим изходните файлове и да ги компилираме. Започнете с навигация къде сте чели, писали и изпълнявали разрешения. ~ / Работен плот
cd ~ / Работен плотСлед това използвайте wget, за да изтеглите файловете в директорията.
wget https: // github.com / facebook / zstd / releases / download / v1.4.9 / zstd-1.4.9.катран.gzСега деархивирайте файла за изтегляне и навигирайте в директорията, като използвате командите като:
катран xvf zstd-1.4.9.катран.gzcd zstd-1.4.9
Последните стъпки са да инсталирате Zstd, като използвате make и make install в директорията на Zstd.
sudo makesudo make install
След като компилацията и инсталацията приключат успешно, можете да започнете да използвате Zstd на вашата система за компресиране и декомпресиране на файлове.
Как да използвам Zstd
Zstd изобщо не се отказва от популярните методи за компресия и декомпресия. Въпреки че основната технология и изпълнение се различават от другите инструменти, компресирането на файл с Zstd е подобно на синтаксиса на tar и gzip.
Как да компресирам файл
За да компресирате файл, извикайте командата zstd, последвана от флага -z, който казва на zstd да извърши компресията и накрая името на файла за компресиране.
Например командата по-долу компресира файла за архивиране на системата в .zst файл.
$ sudo zstd -z система за архивиранеИзходът на командата, както е показано по-долу:
резервно копие на системата: 100.00% (1821109 => 1821164 байта, архивиране на системата.zst)$ ls резервно копие на системата
Трябва да видите файл с .zst разширение като:
архивиране на системата.zstСлед като командата се изпълни, файлът се компресира и създава име на файл .zst файл, който можете да декомпресирате.
Компресирайте и премахнете изходния файл
Както можете да видите от горната команда, изходният файл не се премахва по подразбиране при компресиране. Можете да посочите да премахнете изходните файлове, като използвате флага -rm:
$ sudo zstd -z --rm резервно копие на систематарезервно копие на системата: 100.00% (1821109 => 1821164 байта, архивиране на системата.zst)
$ ls
архивиране на системата.zst
Посочването на флага -rm автоматично премахва изходния файл.
Вземете информация за файла
За да покажете свързана информация за Zstd компресиран файл, можете да използвате флага -l, последван от името на файла. Показваната информация включва размера на файла, степента на компресия и контролната сума на файла
$ zstd -lv резервно копие на системата.zst*** zstd интерфейс на командния ред 64-бита v1.4.9, от Ян Колет ***
архивиране на системата.zst # Zstandard Рамки: 1
Размер на прозореца: 1.74 MB (1821109 B)
Компресиран размер: 1.74 MB (1821164 B)
Декомпресиран размер: 1.74 MB (1821109 B)
Съотношение: 1.0000
Проверка: XXH64
Посочете нивото на компресия
За да посочите изрично нивото на компресия, използвайте - където нивото е стойност, варираща от 1 - 19. Нивото на компресия по подразбиране е 3. Можете също така да отключите по-високи нива на компресия, т.е.д., ниво 20 - 22.
ЗАБЕЛЕЖКА: Колкото по-високо е нивото на компресия, толкова по-голямо е използването на паметта.
Например, за да компресирате файл с ниво на компресия 10, използвайте командата:
zstd -z -10 --rm резервно копие на систематаПосочете скорост на компресия.
Zstd също ви позволява да зададете скорост на компресия, варираща от 1 до. Скоростта на компресия е обратно пропорционална на степента на компресия. Скоростта на компресия по подразбиране е 1 и колкото по-висока е стойността, толкова по-бърза е скоростта на компресия.
Например, за да използвате максималната скорост на компресия, използвайте командата:
sudo zstd -z --fast = 10 системно архивиранеПосочете формат на компресия
Можете също така да посочите формата на компресиране, който да използвате, ако не ви харесва компресията по подразбиране zst. Форматите включват zstd, gzip, xz, lzma и lz4.
Използвайте флага -format и посочете формата като:
zstd -z --format = gzip резервно копие на систематаКомпресиране на списък с файлове
Да предположим, че имате списък с файлове, които искате да компресирате наведнъж. Zstd ви позволява да предадете файл, съдържащ списък с файлове, и ги компресира рекурсивно.
Например списък с файлове.txt, съдържащ файловете
/ home / user / mysql-backup/ архиви / конфиг
/ начало / работен плот / медия
/ sync / 2021 / потребители
След като запазите файла, можете да предадете списъка на Zstd с всички останали опции за изпълнение на файловете.
sudo zstd -z -v --rm - списък на списъка с файлове.текстТази команда ще компресира всички файлове, посочени в текстовия файл, и ще ги премахне при завършване.
Декомпресирайте файл
За да декомпресирате файл, можете да използвате флага -d с командата zstd или просто да използвате командата unzstd, за да декомпресирате.
Например:
sudo unzstd резервно копие на системата.zstsudo zstd -d system-backup.zst
Проверете целостта на файла
За да тествате целостта на zst компресиран файл, използвайте флага -t, както е показано в командата по-долу:
sudo zstd -t system-backup.zstЗаключение
Както можем да видим от примерите, Zstd е мощен алгоритъм за компресиране с множество случаи на употреба. За да научите повече за това как работи и прилагането му, проверете страницата с ръководства и експериментирайте.
Благодаря за четенето.