🐧 Как ΡΠΆΠ°Ρ‚ΡŒ вСсь ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ xz ΠΈ tar Π² систСмах Linux

by itisgood

Команда xz Π² Linux, macOS, *BSD ΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах обСспСчиваСт прСвосходноС сТатиС.

Она прСвосходит zip ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ xz вмСстС с tar для максимального ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

НапримСр, я сТал ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 37M, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ xz ΠΈ zip.

Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° zip составил 31М, Π° Ρ„Π°ΠΉΠ»Π° xz – 16М послС сТатия.

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰Π΅, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ?

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΡΠΆΠ°Ρ‚ΡŒ вСсь ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ xz ΠΈ tar.

Как я ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», использованиС xz для сТатия ΠΈ распаковки Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Unix ΠΈ Linux обСспСчиваСт прСвосходный коэффициСнт сТатия.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π°Ρ€Ρ…ΠΈΠ²Ρ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ сТатии Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ zip/gzip.

πŸ› οΈΒ Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ gzip: stdin: not in gzip format

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ xz ΠΈ tar для сТатия ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° while Π² Linux ΠΈ Unix.

ИспользованиС xz для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Бинтаксис довольно прост

xz filename
xz [option] filename

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ firc.pdf:firc.img

firc.img

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls:

ls -l firc.pdf*

ΠŸΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -v, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ прогрСсс:

xz -v filename
xz -v resume.doc

Π’Ρ‹Π±ΠΎΡ€ прСдустановлСнного уровня сТатия

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π½ΠΈ сТатия ΠΎΡ‚ 0 Π΄ΠΎ 9 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΡ„Ρ€Ρ‹:

xz -{LEVEL} filename
xz -{LEVEL} {options} filename

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ -6.

Но ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ -9 ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

xz -9 filename
xz -9 -v filename

Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ настройки сТатия ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ трСбования ΠΊ памяти дСкомпрСссора.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, использованиС слишком высокого уровня прСдустановки ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ распаковка Ρ„Π°ΠΉΠ»Π° Π½Π° старой систСмС с нСбольшим объСмом ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½Π°.

Π’Π°Π±Π»ΠΈΡ†Π° 1: Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ прСдустановки сТатия XZ
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ОписаниС
-0 Π΄ΠΎ -3 -0 ΠΈΠ½ΠΎΠ³Π΄Π° быстрСС, Ρ‡Π΅ΠΌ gzip, ΠΏΡ€ΠΈ этом сТимаСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅.
-4 Π΄ΠΎ -6 Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ сТатиС ΠΏΡ€ΠΈ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠΌ использовании памяти дСкомпрСссора Π΄Π°ΠΆΠ΅ для старой систСмы
-7Π΄ΠΎ -9 Они ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° -6, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ большС памяти для компрСссора ΠΈ дСкомпрСссора. Они ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ сТатии Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 8, 16 ΠΈ 32 Мб соотвСтствСнно.

ДСкомпрСссия Ρ„Π°ΠΉΠ»Π°

Для распаковки ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

xz -d file.xz
xz --decompress resume.doc.xz
xz --uncompress cake_php.music_raw.xz
xz -d -v firc.pdf.xz

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ всСго ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ xz ΠΈ tar

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ xz сТимаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ».

Как ΠΆΠ΅ ΡΠΆΠ°Ρ‚ΡŒ вСсь ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ xz?

Нам Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ tar ΠΈ xz.

Бинтаксис зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, насколько ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Как xz ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ tar с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ сТатиСм

Π‘Π°ΠΌΡ‹ΠΉ простой синтаксис ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

tar -cJf archive.tar.xz dir1
tar -cvJf archive.tar.xz /path/to/appdir1/
# state compression level to 9 #
XZ_OPT='-9' tar -cvJf mywebsite.backup.tar.xz /var/www/html/

You can also use verbose syntax to state the -v and -9 option as follows:

tar cf itisgood.tar.xz \
--use-compress-program='xz -9v' \
~/projects/wp/cbz_blog/

ИспользованиС tar с xz для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²

ΠŸΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Π°Ρ вСрсия выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

tar -cf – /path/to/dir | xz -9ze -T0 >output.tar.xz

НапримСр, Π΄Π°Π²Π°ΠΉΡ‚Π΅ соТмСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ SalesData Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ мСстополоТСнии.

Но сначала ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΏΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ du:

$Β du -csh SalesData/
37M SalesData/
37M total


tar -cf - SalesData | xz -9ze -T0 >SalesData.txz
## ΠΈΠ»ΠΈΒ ##
tar -cf - SalesData | xz -9ze -T0 >SalesData.tar.xz

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠœΡ‹ рассмотрСли, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ xz для сТатия ΠΈ распаковки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Π—Π°Ρ‚Π΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ tar с xz для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

 

Loading

You may also like

Leave a Comment