ນີ້ແມ່ນຄໍາສັ່ງ xzcat ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
xz, unxz, xzcat, lzma, unlzma, lzcat - ບີບອັດ ຫຼືບີບອັດໄຟລ໌ .xz ແລະ .lzma
ສະຫຼຸບສັງລວມ
xz [ທາງເລືອກ]... [ເອກະສານ] ...
unxz ເທົ່າກັບ xz -- ບີບອັດ.
xzcat ເທົ່າກັບ xz -- ບີບອັດ --stdout.
lzma ເທົ່າກັບ xz --format=lzma.
unlzma ເທົ່າກັບ xz --format=lzma -- ບີບອັດ.
lzcat ເທົ່າກັບ xz --format=lzma -- ບີບອັດ --stdout.
ເມື່ອຂຽນສະຄິບທີ່ຕ້ອງການ decompress ໄຟລ໌, ມັນແນະນໍາໃຫ້ໃຊ້ສະເຫມີ
ຊື່ xz ດ້ວຍການໂຕ້ຖຽງທີ່ເຫມາະສົມ (xz -d or xz -dc) ແທນທີ່ຈະເປັນຊື່ unxz ແລະ xzcat.
ລາຍລະອຽດ
xz ເປັນເຄື່ອງມືບີບອັດຂໍ້ມູນທົ່ວໄປທີ່ມີ syntax ເສັ້ນຄໍາສັ່ງຄ້າຍຄືກັນກັບ gzip(1)
ແລະ bzip2(1). ຮູບແບບໄຟລ໌ພື້ນເມືອງແມ່ນ .xz ຮູບແບບ, ແຕ່ມໍລະດົກ .lzma ຮູບແບບການນໍາໃຊ້
ໂດຍ LZMA Utils ແລະກະແສບີບອັດດິບທີ່ບໍ່ມີສ່ວນຫົວຮູບແບບບັນຈຸ
ສະຫນັບສະຫນູນ.
xz compresses ຫຼື decompresses ແຕ່ລະຄົນ ເອກະສານ ອີງຕາມຮູບແບບການດໍາເນີນງານທີ່ເລືອກ. ຖ້າບໍ່ມີ
ໄຟ ແມ່ນໃຫ້ຫຼື ເອກະສານ is -, xz ອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ ແລະຂຽນຂໍ້ມູນທີ່ປະມວນຜົນແລ້ວ
ຜົນຜະລິດມາດຕະຖານ. xz ຈະປະຕິເສດ (ສະແດງຂໍ້ຜິດພາດແລະຂ້າມ ເອກະສານ) ຂຽນ
ຂໍ້ມູນທີ່ຖືກບີບອັດເປັນຜົນຜະລິດມາດຕະຖານຖ້າມັນເປັນ terminal. ເຊັ່ນດຽວກັນ, xz ຈະປະຕິເສດທີ່ຈະອ່ານ
ບີບອັດຂໍ້ມູນຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານຖ້າມັນເປັນ terminal.
ເວັ້ນເສຍແຕ່ວ່າ --stdout ແມ່ນລະບຸໄວ້, ໄຟ ອື່ນກ່ວາ - ຖືກຂຽນໃສ່ໄຟລ໌ໃຫມ່ທີ່ມີຊື່
ໄດ້ມາຈາກແຫຼ່ງ ເອກະສານ ຊື່ຂອງທ່ານ:
· ໃນເວລາທີ່ການບີບອັດ, ຄໍາຕໍ່ທ້າຍຂອງຮູບແບບໄຟລ໌ເປົ້າຫມາຍ (.xz or .lzma) ຖືກຕໍ່ທ້າຍກັບ
ຊື່ໄຟລ໌ແຫຼ່ງເພື່ອໃຫ້ໄດ້ຮັບຊື່ໄຟລ໌ເປົ້າຫມາຍ.
· ເມື່ອ decompressing, ໄດ້ .xz or .lzma suffix ຖືກໂຍກຍ້າຍອອກຈາກຊື່ໄຟລ໌ເພື່ອໃຫ້ໄດ້ຮັບ
ຊື່ໄຟລ໌ເປົ້າຫມາຍ. xz ຍັງຮັບຮູ້ຄໍາຕໍ່ທ້າຍ .txz ແລະ .tlz, ແລະປ່ຽນແທນພວກມັນດ້ວຍ
ໄດ້ .tar បច្ច័យ.
ຖ້າໄຟລ໌ເປົ້າຫມາຍດັ່ງກ່າວມີຢູ່ແລ້ວ, ຂໍ້ຜິດພາດຈະຖືກສະແດງແລະ ເອກະສານ ຖືກຂ້າມ.
ເວັ້ນເສຍແຕ່ຈະຂຽນເປັນຜົນຜະລິດມາດຕະຖານ, xz ຈະສະແດງຄໍາເຕືອນແລະຂ້າມ ເອກະສານ ຖ້າມີ
ການນໍາໃຊ້ດັ່ງຕໍ່ໄປນີ້:
· ເອກະສານ ບໍ່ແມ່ນໄຟລ໌ປົກກະຕິ. ການເຊື່ອມໂຍງສັນຍາລັກບໍ່ໄດ້ຖືກປະຕິບັດຕາມ, ແລະດັ່ງນັ້ນພວກມັນບໍ່ແມ່ນ
ຖືວ່າເປັນໄຟລ໌ປົກກະຕິ.
· ເອກະສານ ມີຫຼາຍກວ່າຫນຶ່ງການເຊື່ອມຕໍ່ຍາກ.
· ເອກະສານ ມີ setuid, setgid, ຫຼືຊຸດບິດຫນຽວ.
· ໂຫມດການໃຊ້ງານຖືກຕັ້ງໃຫ້ບີບອັດ ແລະ ເອກະສານ ມີຄຳຕໍ່ທ້າຍຂອງເປົ້າໝາຍແລ້ວ
ຮູບແບບໄຟລ໌ (.xz or .txz ເມື່ອບີບອັດໃສ່ .xz ຮູບແບບ, ແລະ .lzma or .tlz ໃນເວລາທີ່
compressing ກັບ .lzma ຮູບແບບ).
· ຮູບແບບການໃຊ້ງານຖືກຕັ້ງໃຫ້ decompress ແລະໄດ້ ເອກະສານ ບໍ່ມີຄຳຕໍ່ທ້າຍຂອງອັນໃດອັນໜຶ່ງ
ຮູບແບບໄຟລ໌ສະຫນັບສະຫນູນ (.xz, .txz, .lzma, ຫຼື .tlz).
ຫຼັງຈາກສໍາເລັດການບີບອັດຫຼື decompressing ໄດ້ ເອກະສານ, xz ສຳເນົາເຈົ້າຂອງ, ກຸ່ມ,
ການອະນຸຍາດ, ການເຂົ້າເຖິງ, ແລະເວລາການດັດແກ້ຈາກແຫຼ່ງຂໍ້ມູນ ເອກະສານ ໄປຫາໄຟລ໌ເປົ້າຫມາຍ.
ຖ້າການຄັດລອກກຸ່ມລົ້ມເຫລວ, ການອະນຸຍາດຈະຖືກດັດແກ້ເພື່ອບໍ່ໃຫ້ໄຟລ໌ເປົ້າຫມາຍດັ່ງກ່າວ
ກາຍເປັນຜູ້ໃຊ້ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ເຂົ້າເຖິງແຫຼ່ງ ເອກະສານ. xz
ບໍ່ຮອງຮັບການຄັດລອກເມຕາເດຕາອື່ນ ເຊັ່ນ: ລາຍຊື່ການຄວບຄຸມການເຂົ້າເຖິງ ຫຼືຄຸນສົມບັດເພີ່ມເຕີມ
yet
ເມື່ອໄຟລ໌ເປົ້າຫມາຍໄດ້ຖືກປິດສົບຜົນສໍາເລັດ, ແຫຼ່ງ ເອກະສານ ຖືກໂຍກຍ້າຍອອກເວັ້ນເສຍແຕ່
--ຮັກສາ ໄດ້ລະບຸໄວ້. ແຫຼ່ງ ເອກະສານ ບໍ່ເຄີຍຖືກໂຍກຍ້າຍອອກຖ້າຜົນຜະລິດຖືກຂຽນໃສ່
ຜົນຜະລິດມາດຕະຖານ.
ການສົ່ງອອກ ເຂົ້າສູ່ລະບົບ or SIGUSR1 ການ xz ຂະບວນການເຮັດໃຫ້ມັນພິມຂໍ້ມູນຄວາມຄືບຫນ້າໄປ
ຄວາມຜິດພາດມາດຕະຖານ. ນີ້ມີພຽງແຕ່ຈໍາກັດການນໍາໃຊ້ນັບຕັ້ງແຕ່ໃນເວລາທີ່ຄວາມຜິດພາດມາດຕະຖານເປັນ terminal, ການນໍາໃຊ້
-- verbose ຈະສະແດງຕົວຊີ້ບອກຄວາມຄືບໜ້າຂອງການປັບປຸງອັດຕະໂນມັດ.
ຫນ່ວຍຄວາມຈໍາ ການນໍາໃຊ້
ການນໍາໃຊ້ຄວາມຊົງຈໍາຂອງ xz ແຕກຕ່າງກັນຈາກສອງສາມຮ້ອຍກິໂລໄບເຖິງຫຼາຍກິກາໄບໂດຍຂຶ້ນກັບ
ກ່ຽວກັບການຕັ້ງຄ່າການບີບອັດ. ການຕັ້ງຄ່າການນໍາໃຊ້ໃນເວລາທີ່ການບີບອັດໄຟລ໌ກໍານົດ
ຄວາມຕ້ອງການຄວາມຊົງຈໍາຂອງ decompressor. ໂດຍປົກກະຕິ decompressor ຕ້ອງການ 5% ຫາ 20% ຂອງ
ຈໍານວນຫນ່ວຍຄວາມຈໍາທີ່ compressor ຕ້ອງການໃນເວລາສ້າງໄຟລ໌. ຍົກຕົວຢ່າງ,
decompressing ໄຟລ໌ທີ່ສ້າງຂຶ້ນດ້ວຍ xz -9 ໃນປັດຈຸບັນຕ້ອງການ 65 MiB ຂອງຫນ່ວຍຄວາມຈໍາ. ຍັງ, ມັນແມ່ນ
ເປັນໄປໄດ້ທີ່ຈະມີ .xz ໄຟລ໌ທີ່ຕ້ອງການຄວາມຈໍາຫຼາຍກິກາໄບເພື່ອ decompress.
ໂດຍສະເພາະຜູ້ໃຊ້ຂອງລະບົບເກົ່າອາດຈະຊອກຫາຄວາມເປັນໄປໄດ້ຂອງການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາຂະຫນາດໃຫຍ່ຫຼາຍ
ລໍາຄານ. ເພື່ອປ້ອງກັນຄວາມແປກໃຈທີ່ບໍ່ສະບາຍ, xz ມີຕົວຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາໃນຕົວ,
ເຊິ່ງຖືກປິດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ. ໃນຂະນະທີ່ບາງລະບົບປະຕິບັດການສະຫນອງວິທີການຈໍາກັດການ
ການນໍາໃຊ້ຄວາມຊົງຈໍາຂອງຂະບວນການ, ການອີງໃສ່ມັນບໍ່ໄດ້ຖືວ່າຈະມີຄວາມຍືດຫຍຸ່ນພຽງພໍ (ເຊັ່ນ: ການນໍາໃຊ້
ສູງສຸດ(1) ການຈໍາກັດຄວາມຊົງຈໍາ virtual ມີແນວໂນ້ມທີ່ຈະ cripple ແຜນທີ່(2)).
ສາມາດເປີດໃຊ້ຕົວຈຳກັດການໃຊ້ຄວາມຈຳໄດ້ດ້ວຍຕົວເລືອກແຖວຄຳສັ່ງ --memlimit=ກໍານົດຂອບເຂດ.
ເລື້ອຍໆມັນສະດວກກວ່າທີ່ຈະເປີດໃຊ້ຕົວຈໍາກັດໂດຍຄ່າເລີ່ມຕົ້ນໂດຍການຕັ້ງຄ່າສະພາບແວດລ້ອມ
ຕົວແປ XZ_DEFAULTS, ຕົວຢ່າງ XZ_DEFAULTS=--memlimit=150MiB. ມັນເປັນໄປໄດ້ທີ່ຈະກໍານົດ
ຈໍາກັດແຍກຕ່າງຫາກສໍາລັບການບີບອັດແລະ decompression ໂດຍການນໍາໃຊ້ --memlimit-compress=ກໍານົດຂອບເຂດ ແລະ
--memlimit-decompress=ກໍານົດຂອບເຂດ. ການນໍາໃຊ້ສອງທາງເລືອກນີ້ຢູ່ນອກ XZ_DEFAULTS ບໍ່ຄ່ອຍເປັນປະໂຫຍດ
ເນື່ອງຈາກວ່າໄລຍະດຽວຂອງ xz ບໍ່ສາມາດເຮັດໄດ້ທັງ compression ແລະ decompression ແລະ
--memlimit=ກໍານົດຂອບເຂດ (ຫຼື -M ກໍານົດຂອບເຂດ) ແມ່ນສັ້ນກວ່າທີ່ຈະພິມຢູ່ໃນເສັ້ນຄໍາສັ່ງ.
ຖ້າຫາກວ່າກໍານົດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາທີ່ກໍານົດໄວ້ເກີນໄປໃນເວລາທີ່ການບີບອັດ, xz ຈະສະແດງເປັນ
ຄວາມຜິດພາດແລະການບີບອັດໄຟລ໌ຈະລົ້ມເຫລວ. ຖ້າເກີນຂອບເຂດຈໍາກັດໃນເວລາບີບອັດ, xz
ຈະພະຍາຍາມປັບຂະໜາດການຕັ້ງຄ່າລົງເພື່ອບໍ່ໃຫ້ເກີນຂີດຈຳກັດ (ຍົກເວັ້ນເວລາ
ການນໍາໃຊ້ --format=raw or --no-ປັບ). ດ້ວຍວິທີນີ້, ການປະຕິບັດງານຈະບໍ່ລົ້ມເຫລວເວັ້ນເສຍແຕ່ວ່າມີຂອບເຂດຈໍາກັດ
ຂະຫນາດນ້ອຍຫຼາຍ. ການປັບຂະໜາດຂອງການຕັ້ງຄ່າແມ່ນເຮັດໃນຂັ້ນຕອນທີ່ບໍ່ກົງກັບການບີບອັດ
presets ລະດັບ, e.g. ຖ້າຫາກວ່າຂອບເຂດຈໍາກັດແມ່ນພຽງແຕ່ເລັກນ້ອຍຫນ້ອຍກ່ວາຈໍານວນທີ່ກໍານົດໄວ້ສໍາລັບການ xz -9,
ການຕັ້ງຄ່າຈະໄດ້ຮັບການຫຼຸດລົງພຽງເລັກນ້ອຍ, ບໍ່ແມ່ນທັງຫມົດວິທີການລົງໄປ xz -8.
ການສະຫລຸບ ແລະ padding ກັບ .xz ໄຟ
ມັນເປັນໄປໄດ້ທີ່ຈະ concatenate .xz ໄຟລ໌ເຊັ່ນດຽວກັນ. xz ຈະບີບອັດໄຟລ໌ດັ່ງກ່າວຄືກັບວ່າພວກມັນ
ເປັນໂສດ .xz ຍື່ນ.
ມັນເປັນໄປໄດ້ທີ່ຈະໃສ່ padding ລະຫວ່າງພາກສ່ວນ concatenated ຫຼືຫຼັງຈາກພາກສ່ວນສຸດທ້າຍ.
padding ຈະຕ້ອງປະກອບດ້ວຍ bytes null ແລະຂະຫນາດຂອງ padding ຈະຕ້ອງເປັນຄູນຂອງ
ສີ່ bytes. ນີ້ສາມາດເປັນປະໂຫຍດເຊັ່ນ: ຖ້າຫາກວ່າ .xz ໄຟລ໌ຖືກເກັບໄວ້ໃນສື່ທີ່ວັດແທກ
ຂະຫນາດໄຟລ໌ໃນ 512-byte blocks.
ບໍ່ອະນຸຍາດໃຫ້ມີການເຊື່ອມໂຍງ ແລະແຜ່ນຮອງ .lzma ໄຟລ໌ ຫຼືກະແສດິບ.
OPTIONS
Integer បច្ច័យ ແລະ ພິເສດ ຄ່າ
ໃນສະຖານທີ່ສ່ວນໃຫຍ່ທີ່ຄາດວ່າຈະມີການໂຕ້ຖຽງຈໍານວນເຕັມ, ຄໍາຕໍ່ທ້າຍທາງເລືອກແມ່ນສະຫນັບສະຫນູນ
ຊີ້ບອກຕົວເລກໃຫຍ່ໄດ້ຢ່າງງ່າຍດາຍ. ຈະຕ້ອງບໍ່ມີຊ່ອງຫວ່າງລະຫວ່າງຈໍານວນເຕັມແລະຈໍານວນ
បច្ច័យ.
ກິບ ຄູນຈຳນວນເຕັມດ້ວຍ 1,024 (2^10). Ki, k, kB, K, ແລະ KB ຖືກຍອມຮັບເປັນ
ຄຳ ສັບຄ້າຍຄືກັນ ສຳ ລັບ ກິບ.
ອີບ ຄູນຈຳນວນເຕັມດ້ວຍ 1,048,576 (2^20). Mi, m, M, ແລະ MB ຖືກຍອມຮັບເປັນ
ຄຳ ສັບຄ້າຍຄືກັນ ສຳ ລັບ ອີບ.
GiB ຄູນຈຳນວນເຕັມດ້ວຍ 1,073,741,824 (2^30). Gi, g, G, ແລະ GB ຖືກຍອມຮັບເປັນ
ຄຳ ສັບຄ້າຍຄືກັນ ສຳ ລັບ GiB.
ມູນຄ່າພິເສດ ສູງສຸດທີ່ເຄຍ ສາມາດໃຊ້ເພື່ອຊີ້ບອກຄ່າຈໍານວນເຕັມສູງສຸດທີ່ສະຫນັບສະຫນູນໂດຍ
ທາງເລືອກ.
ການດໍາເນີນງານ ຮູບແບບການ
ຖ້າຫາກວ່າທາງເລືອກຮູບແບບການດໍາເນີນງານຫຼາຍແມ່ນໄດ້ຮັບການໃຫ້, ອັນສຸດທ້າຍມີຜົນກະທົບ.
-z, --ບີບອັດ
ບີບອັດ. ນີ້ແມ່ນຮູບແບບການດໍາເນີນງານໃນຕອນຕົ້ນໃນເວລາທີ່ບໍ່ມີທາງເລືອກຮູບແບບການດໍາເນີນງານແມ່ນ
ກໍານົດແລະບໍ່ມີຮູບແບບການດໍາເນີນການອື່ນແມ່ນ implied ຈາກຊື່ຄໍາສັ່ງ (ສໍາລັບ
ຍົກຕົວຢ່າງ, unxz implies -- ບີບອັດ).
-d, -- ບີບອັດ, -- uncompress
ບີບອັດ.
-t, --ທົດສອບ
ທົດສອບຄວາມສົມບູນຂອງການບີບອັດ ໄຟ. ທາງເລືອກນີ້ແມ່ນທຽບເທົ່າກັບ -- ບີບອັດ
--stdout ຍົກເວັ້ນຂໍ້ມູນທີ່ຖືກບີບອັດຖືກຍົກເລີກແທນທີ່ຈະຖືກຂຽນໃສ່
ຜົນຜະລິດມາດຕະຖານ. ບໍ່ມີໄຟລ໌ໃດຖືກສ້າງ ຫຼືລຶບອອກ.
-l, --ລາຍການ
ພິມຂໍ້ມູນກ່ຽວກັບການບີບອັດ ໄຟ. ບໍ່ມີຜົນຜະລິດທີ່ບໍ່ໄດ້ບີບອັດແມ່ນຜະລິດ, ແລະ
ບໍ່ມີໄຟລ໌ໃດຖືກສ້າງ ຫຼືລຶບອອກ. ໃນຮູບແບບລາຍການ, ໂຄງການບໍ່ສາມາດອ່ານໄດ້
ບີບອັດຂໍ້ມູນຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານ ຫຼືຈາກແຫຼ່ງອື່ນໆທີ່ບໍ່ສາມາດຊອກຫາໄດ້.
ບັນຊີລາຍຊື່ເລີ່ມຕົ້ນສະແດງໃຫ້ເຫັນຂໍ້ມູນພື້ນຖານກ່ຽວກັບ ໄຟ, ຫນຶ່ງໄຟລ໌ຕໍ່ແຖວ. ໄດ້ຮັບ
ຂໍ້ມູນລະອຽດເພີ່ມເຕີມ, ການນໍາໃຊ້ຍັງໄດ້ -- verbose ທາງເລືອກ. ສໍາລັບແມ້ກະທັ້ງຫຼາຍ
ຂໍ້ມູນ, ການນໍາໃຊ້ -- verbose ສອງຄັ້ງ, ແຕ່ສັງເກດວ່ານີ້ອາດຈະຊ້າ, ເນື່ອງຈາກວ່າໄດ້ຮັບ
ຂໍ້ມູນເພີ່ມເຕີມທັງຫມົດຮຽກຮ້ອງໃຫ້ມີການຊອກຫາຫຼາຍ. ຄວາມກວ້າງຂອງຜົນຜະລິດ verbose ເກີນ
80 ຕົວອັກສອນ, ສະນັ້ນ piping ຜົນຜະລິດເພື່ອ eg ຫນ້ອຍ -S ອາດຈະສະດວກຖ້າຫາກວ່າ
terminal ບໍ່ກວ້າງພຽງພໍ.
ຜົນຜະລິດທີ່ແນ່ນອນອາດຈະແຕກຕ່າງກັນລະຫວ່າງ xz ສະບັບແລະທ້ອງຖິ່ນທີ່ແຕກຕ່າງກັນ. ສໍາລັບເຄື່ອງຈັກ -
ຜົນຜະລິດທີ່ສາມາດອ່ານໄດ້, -- ຫຸ່ນຍົນ --ລາຍການ ຄວນຈະຖືກນໍາໃຊ້.
ການດໍາເນີນງານ ຕົວປ່ຽນແປງ
-k, --ຮັກສາ
ຢ່າລຶບໄຟລ໌ປ້ອນຂໍ້ມູນ.
-f, --ກຳລັງ
ທາງເລືອກນີ້ມີຜົນກະທົບຫຼາຍ:
· ຖ້າຫາກວ່າໄຟລ໌ເປົ້າຫມາຍມີຢູ່ແລ້ວ, ລຶບມັນກ່ອນທີ່ຈະບີບອັດຫຼື
ການບີບອັດ.
·ບີບອັດຫຼື decompress ເຖິງແມ່ນວ່າການປ້ອນຂໍ້ມູນແມ່ນການເຊື່ອມຕໍ່ສັນຍາລັກກັບໄຟລ໌ປົກກະຕິ,
ມີຫຼາຍກວ່າຫນຶ່ງເຊື່ອມຕໍ່ຍາກ, ຫຼືມີ setuid, setgid, ຫຼືຊຸດບິດຫນຽວ. ໄດ້
setuid, setgid, ແລະ sticky bits ບໍ່ໄດ້ຖືກຄັດລອກໄປຫາໄຟລ໌ເປົ້າຫມາຍ.
· ເມື່ອໃຊ້ກັບ -- ບີບອັດ --stdout ແລະ xz ບໍ່ສາມາດຮັບຮູ້ປະເພດຂອງ
ໄຟລ໌ແຫຼ່ງ, ຄັດລອກໄຟລ໌ແຫຼ່ງທີ່ເປັນຜົນຜະລິດມາດຕະຖານ. ນີ້ອະນຸຍາດໃຫ້ xzcat
--ກຳລັງ ຈະຖືກນໍາໃຊ້ຄື cat(1) ສໍາລັບໄຟລ໌ທີ່ຍັງບໍ່ໄດ້ຖືກບີບອັດດ້ວຍ xz.
ໃຫ້ສັງເກດວ່າໃນອະນາຄົດ, xz ອາດຈະສະຫນັບສະຫນູນຮູບແບບໄຟລ໌ທີ່ຖືກບີບອັດໃຫມ່, ເຊິ່ງອາດຈະ
ເຮັດໃຫ້ xz decompress ຫຼາຍປະເພດຂອງໄຟລ໌ແທນທີ່ຈະຄັດລອກໃຫ້ເຂົາເຈົ້າເປັນມາດຕະຖານ
ຜົນຜະລິດ. --format=ຮູບແບບ ສາມາດຖືກນໍາໃຊ້ເພື່ອຈໍາກັດ xz ເພື່ອ decompress ພຽງແຕ່ອັນດຽວ
ຮູບແບບໄຟລ໌.
-c, --stdout, --to-stdout
ຂຽນຂໍ້ມູນທີ່ບີບອັດຫຼື decompressed ເປັນຜົນຜະລິດມາດຕະຖານແທນທີ່ຈະເປັນໄຟລ໌.
ນີ້ຫມາຍຄວາມວ່າ --ຮັກສາ.
-- ກະແສດຽວ
Decompress ພຽງແຕ່ຄັ້ງທໍາອິດ .xz stream, ແລະງຽບໆບໍ່ສົນໃຈ input ທີ່ຍັງເຫຼືອທີ່ເປັນໄປໄດ້
ຂໍ້ມູນຕາມກະແສ. ໂດຍປົກກະຕິ, ຂີ້ເຫຍື້ອດັ່ງກ່າວເຮັດໃຫ້ xz ສະແດງ
ຜິດພາດ.
xz ບໍ່ເຄີຍ decompresses ຫຼາຍກ່ວາຫນຶ່ງນ້ໍາຈາກ .lzma ໄຟລ໌ຫຼືນ້ໍາດິບ, ແຕ່
ທາງເລືອກນີ້ຍັງເຮັດໃຫ້ xz ບໍ່ສົນໃຈຂໍ້ມູນ trailing ທີ່ເປັນໄປໄດ້ຫຼັງຈາກ .lzma ເອກະສານ
ຫຼືກະແສດິບ.
ທາງເລືອກນີ້ບໍ່ມີຜົນກະທົບຖ້າຫາກວ່າຮູບແບບການດໍາເນີນງານບໍ່ແມ່ນ -- ບີບອັດ or --ທົດສອບ.
-- ບໍ່ມີກະແຈກກະຈາຍ
ປິດການທໍາງານການສ້າງໄຟລ໌ sparse. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຖ້າ decompressing ເຂົ້າໄປໃນປົກກະຕິ
ແຟ້ມ, xz ພະຍາຍາມເຮັດໃຫ້ໄຟລ໌ກະແຈກກະຈາຍຖ້າຫາກວ່າຂໍ້ມູນທີ່ decompressed ມີຄວາມຍາວ
ລຳດັບຂອງສູນຖານສອງ. ມັນຍັງເຮັດວຽກໃນເວລາທີ່ຂຽນກັບຜົນຜະລິດມາດຕະຖານຍາວ
ເນື່ອງຈາກຜົນຜະລິດມາດຕະຖານແມ່ນເຊື່ອມຕໍ່ກັບໄຟລ໌ປົກກະຕິແລະເງື່ອນໄຂເພີ່ມເຕີມທີ່ແນ່ນອນ
ຖືກພົບເພື່ອເຮັດໃຫ້ມັນປອດໄພ. ການສ້າງໄຟລ໌ກະແຈກກະຈາຍອາດຈະປະຫຍັດພື້ນທີ່ດິສກ໌ແລະເລັ່ງ
decompression ໂດຍການຫຼຸດປະລິມານຂອງແຜ່ນ I/O.
-S .suf, --suffix=.suf
ເມື່ອບີບອັດ, ໃຊ້ .suf ເປັນ suffix ສໍາລັບໄຟລ໌ເປົ້າຫມາຍແທນທີ່ຈະເປັນ .xz or
.lzma. ຖ້າຫາກວ່າບໍ່ໄດ້ຂຽນເຖິງຜົນຜະລິດມາດຕະຖານແລະໄຟລ໌ແຫຼ່ງທີ່ມີຢູ່ແລ້ວ
បច្ច័យ .suf, ການເຕືອນໄພຈະສະແດງແລະໄຟລ໌ໄດ້ຖືກຂ້າມໄປ.
ໃນເວລາທີ່ decompressing, ຮັບຮູ້ໄຟລ໌ທີ່ມີ suffix .suf ນອກເຫນືອໄປຈາກໄຟລ໌ທີ່ມີ
ໄດ້ .xz, .txz, .lzma, ຫຼື .tlz ຕໍ່ທ້າຍ. ຖ້າໄຟລ໌ຕົ້ນສະບັບມີຄໍາຕໍ່ທ້າຍ .suf, ການ
suffix ຖືກໂຍກຍ້າຍອອກເພື່ອໃຫ້ໄດ້ຮັບຊື່ໄຟລ໌ເປົ້າຫມາຍ.
ເມື່ອບີບອັດ ຫຼື ບີບອັດກະແສນໍ້າດິບ (--format=raw), ຄໍາຕໍ່ທ້າຍຕ້ອງ
ຈະຖືກລະບຸສະເໝີເວັ້ນເສຍແຕ່ຈະຂຽນໃສ່ຜົນໄດ້ຮັບມາດຕະຖານ, ເພາະວ່າບໍ່ມີຄ່າເລີ່ມຕົ້ນ
suffix ສໍາລັບນ້ໍາດິບ.
--ໄຟລ໌[=ເອກະສານ]
ອ່ານຊື່ໄຟລ໌ເພື່ອປະມວນຜົນຈາກ ເອກະສານ; ຖ້າ ເອກະສານ ຖືກລະເວັ້ນ, ຊື່ໄຟລ໌ຖືກອ່ານ
ຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານ. ຊື່ໄຟລ໌ຕ້ອງຖືກຢຸດດ້ວຍຕົວອັກສອນແຖວໃໝ່. ກ
ຂີດ (-) ຖືກປະຕິບັດເປັນຊື່ໄຟລ໌ປົກກະຕິ; ມັນບໍ່ໄດ້ຫມາຍຄວາມວ່າການປ້ອນຂໍ້ມູນມາດຕະຖານ. ຖ້າ
ຊື່ໄຟລ໌ໄດ້ຖືກມອບໃຫ້ຍັງເປັນການໂຕ້ຖຽງແຖວຄໍາສັ່ງ, ພວກມັນຖືກປຸງແຕ່ງກ່ອນ
ຊື່ໄຟລ໌ອ່ານຈາກ ເອກະສານ.
--files0[=ເອກະສານ]
ນີ້ແມ່ນຄືກັນກັບ --ໄຟລ໌[=ເອກະສານ] ຍົກເວັ້ນແຕ່ລະຊື່ໄຟລ໌ຈະຕ້ອງຖືກຍົກເລີກ
ດ້ວຍຕົວອັກສອນ null.
ພື້ນຖານ ເອກະສານ ຮູບແບບ ແລະ compression ທາງເລືອກໃນການ
-F ຮູບແບບ, --format=ຮູບແບບ
ລະບຸໄຟລ໌ ຮູບແບບ ເພື່ອບີບອັດຫຼືບີບອັດ:
ອັດຕະໂນມັດ ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເມື່ອບີບອັດ, ອັດຕະໂນມັດ ເທົ່າກັບ xzທີ່ຢູ່ ເມື່ອໃດ
decompressing, ຮູບແບບຂອງໄຟລ໌ປ້ອນຂໍ້ມູນຖືກກວດພົບໂດຍອັດຕະໂນມັດ. ຫມາຍເຫດ
ນ້ໍາດິບ (ສ້າງດ້ວຍ --format=raw) ບໍ່ສາມາດຖືກກວດພົບອັດຕະໂນມັດ.
xz ບີບອັດໃສ່ .xz ຮູບແບບໄຟລ໌, ຫຼືຍອມຮັບພຽງແຕ່ .xz ໄຟລ໌ເມື່ອ
ການບີບອັດ.
lzma, ຢູ່ຄົນດຽວ
ບີບອັດໃສ່ກັບມໍລະດົກ .lzma ຮູບແບບໄຟລ໌, ຫຼືຍອມຮັບພຽງແຕ່ .lzma ໄຟລ໌ເມື່ອ
ການບີບອັດ. ຊື່ທາງເລືອກ ຢູ່ຄົນດຽວ ແມ່ນສະຫນອງໃຫ້ສໍາລັບການຖອຍຫລັງ
ຄວາມເຂົ້າກັນໄດ້ກັບ LZMA Utils.
ວັດຖຸດິບ ບີບອັດ ຫຼື ບີບອັດກະແສນໍ້າດິບ (ບໍ່ມີສ່ວນຫົວ). ນີ້ແມ່ນຫມາຍເຖິງ
ຜູ້ໃຊ້ຂັ້ນສູງເທົ່ານັ້ນ. ເພື່ອຖອດລະຫັດນ້ໍາດິບ, ທ່ານຈໍາເປັນຕ້ອງໃຊ້ --format=raw ແລະ
ລະບຸຢ່າງຊັດເຈນລະບົບຕ່ອງໂສ້ການກັ່ນຕອງ, ທີ່ປົກກະຕິຈະໄດ້ຮັບການເກັບຮັກສາໄວ້
ຢູ່ໃນຫົວບັນຈຸ.
-C ໃຫ້ກວດເບິ່ງ, --check=ໃຫ້ກວດເບິ່ງ
ລະບຸປະເພດຂອງການກວດສອບຄວາມສົມບູນ. ການກວດສອບແມ່ນຄິດໄລ່ຈາກ
uncompressed ຂໍ້ມູນແລະເກັບຮັກສາໄວ້ໃນ .xz ໄຟລ໌. ຕົວເລືອກນີ້ມີຜົນກະທົບພຽງແຕ່ເມື່ອ
compressing ເຂົ້າໄປໃນ .xz ຮູບແບບ; ໄດ້ .lzma ຮູບແບບບໍ່ຮອງຮັບການກວດສອບຄວາມສົມບູນ.
ການກວດສອບຄວາມສົມບູນ (ຖ້າມີ) ຖືກກວດສອບເມື່ອ .xz ໄຟລ໌ຖືກບີບອັດ.
ສະຫນັບສະຫນູນ ໃຫ້ກວດເບິ່ງ ປະເພດ:
none ຢ່າຄິດໄລ່ການກວດສອບຄວາມສົມບູນ. ນີ້ມັກຈະເປັນຄວາມຄິດທີ່ບໍ່ດີ.
ນີ້ສາມາດເປັນປະໂຫຍດເມື່ອຄວາມສົມບູນຂອງຂໍ້ມູນຖືກກວດສອບໂດຍວິທີອື່ນ
ຢ່າງໃດກໍ່ຕາມ.
crc32 ຄິດໄລ່ CRC32 ໂດຍໃຊ້ polynomial ຈາກ IEEE-802.3 (Ethernet).
crc64 ຄິດໄລ່ CRC64 ໂດຍໃຊ້ polynomial ຈາກ ECMA-182. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ,
ເນື່ອງຈາກວ່າມັນດີກວ່າ CRC32 ເລັກນ້ອຍໃນການກວດສອບໄຟລ໌ທີ່ເສຍຫາຍແລະ
ຄວາມແຕກຕ່າງຄວາມໄວແມ່ນລະເລີຍ.
sha256 ຄິດໄລ່ SHA-256. ນີ້ແມ່ນຂ້ອນຂ້າງຊ້າກວ່າ CRC32 ແລະ CRC64.
ຄວາມຊື່ສັດຂອງ .xz ສ່ວນຫົວແມ່ນຖືກກວດສອບສະເໝີດ້ວຍ CRC32. ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະ
ປ່ຽນ ຫຼືປິດການໃຊ້ງານມັນ.
-0 ... -9
ເລືອກລະດັບການບີບອັດທີ່ຕັ້ງໄວ້ລ່ວງໜ້າ. ຄ່າເລີ່ມຕົ້ນແມ່ນ -6. ຖ້າຫຼາຍລະດັບ preset
ຖືກລະບຸໄວ້, ອັນສຸດທ້າຍຈະມີຜົນ. ຖ້າຕ່ອງໂສ້ການກັ່ນຕອງແບບກຳນົດເອງແມ່ນຢູ່ແລ້ວ
ລະບຸໄວ້, ການຕັ້ງຄ່າລະດັບການບີບອັດ presets ລ້າງຕ່ອງໂສ້ການກັ່ນຕອງແບບກຳນົດເອງ.
ຄວາມແຕກຕ່າງລະຫວ່າງ presets ແມ່ນມີຄວາມ ສຳ ຄັນຫຼາຍກ່ວາກັບ gzip(1) ແລະ
bzip2(1). ການຕັ້ງຄ່າການບີບອັດທີ່ເລືອກກໍານົດຄວາມຕ້ອງການຫນ່ວຍຄວາມຈໍາຂອງ
decompressor, ດັ່ງນັ້ນການນໍາໃຊ້ລະດັບ preset ສູງເກີນໄປອາດຈະເຮັດໃຫ້ມັນເຈັບປວດກັບ
decompress ໄຟລ໌ໃນລະບົບເກົ່າທີ່ມີ RAM ຫນ້ອຍ. ໂດຍສະເພາະ, ມັນ ບໍ່ a
ດີ ຄວາມຄິດ to ຕາບອດ ການນໍາໃຊ້ -9 ສໍາລັບການ ທຸກສິ່ງທຸກຢ່າງ ຄືມັນມັກຈະຢູ່ກັບ gzip(1) ແລະ
bzip2(1).
-0 ... -3
ເຫຼົ່ານີ້ແມ່ນ presets ໄວເລັກນ້ອຍ. -0 ບາງຄັ້ງກໍ່ໄວກວ່າ gzip -9 ໃນຂະນະທີ່
compressing ດີກວ່າຫຼາຍ. ຕົວທີ່ສູງກວ່າມັກຈະມີຄວາມໄວທຽບເທົ່າກັບ
bzip2(1) ດ້ວຍອັດຕາສ່ວນການບີບອັດທີ່ປຽບທຽບຫຼືດີກວ່າ, ເຖິງແມ່ນວ່າຜົນໄດ້ຮັບ
ຂຶ້ນກັບຫຼາຍປະເພດຂອງຂໍ້ມູນທີ່ຖືກບີບອັດ.
-4 ... -6
ການບີບອັດທີ່ດີເຖິງດີຫຼາຍໃນຂະນະທີ່ຮັກສາການໃຊ້ຄວາມຊົງຈໍາ decompressor
ສົມເຫດສົມຜົນເຖິງແມ່ນວ່າສໍາລັບລະບົບເກົ່າ. -6 ແມ່ນຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງປົກກະຕິແລ້ວເປັນສິ່ງທີ່ດີ
ທາງເລືອກ eg ສໍາລັບການແຈກຢາຍໄຟລ໌ທີ່ຈໍາເປັນຕ້ອງ decompressible ເຖິງແມ່ນວ່າສຸດ
ລະບົບທີ່ມີ RAM 16 MiB ເທົ່ານັ້ນ. (-5e or -6e ອາດຈະມີມູນຄ່າພິຈາລະນາເຊັ່ນກັນ.
ເບິ່ງ -- ທີ່ສຸດ.)
-7 ... -9
ເຫຼົ່ານີ້ແມ່ນຄ້າຍຄື -6 ແຕ່ມີ compressor ສູງແລະ decompressor memory
ຄວາມຕ້ອງການ. ເຫຼົ່ານີ້ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ໃນເວລາທີ່ບີບອັດໄຟລ໌ຂະຫນາດໃຫຍ່ກວ່າ
8 MiB, 16 MiB, ແລະ 32 MiB, ຕາມລໍາດັບ.
ໃນຮາດແວດຽວກັນ, ຄວາມໄວ decompression ແມ່ນປະມານຈໍານວນຄົງທີ່ຂອງ
bytes ຂອງຂໍ້ມູນທີ່ບີບອັດຕໍ່ວິນາທີ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ການບີບອັດທີ່ດີກວ່າ,
ປົກກະຕິແລ້ວການບີບອັດຈະໄວຂຶ້ນ. ນີ້ຍັງຫມາຍຄວາມວ່າຈໍານວນຂອງ
ຜົນຜະລິດທີ່ບໍ່ໄດ້ບີບອັດທີ່ຜະລິດຕໍ່ວິນາທີສາມາດແຕກຕ່າງກັນຫຼາຍ.
ຕາຕະລາງຕໍ່ໄປນີ້ສະຫຼຸບລັກສະນະຂອງ presets:
Preset DictSize CompCPU CompMem DecMem
-0 256 KiB 0 3 MiB 1 MiB
-1 1 MiB 1 9 MiB 2 MiB
-2 2 MiB 2 17 MiB 3 MiB
-3 4 MiB 3 32 MiB 5 MiB
-4 4 MiB 4 48 MiB 5 MiB
-5 8 MiB 5 94 MiB 9 MiB
-6 8 MiB 6 94 MiB 9 MiB
-7 16 MiB 6 186 MiB 17 MiB
-8 32 MiB 6 370 MiB 33 MiB
-9 64 MiB 6 674 MiB 65 MiB
ຄຳອະທິບາຍຖັນ:
· DictSize ແມ່ນຂະຫນາດວັດຈະນານຸກົມ LZMA2. ມັນເປັນການສູນເສຍຄວາມຊົງຈໍາທີ່ຈະໃຊ້ a
ວັດຈະນານຸກົມໃຫຍ່ກວ່າຂະໜາດຂອງໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດ. ນີ້ແມ່ນເຫດຜົນທີ່ວ່າມັນເປັນ
ດີທີ່ຈະຫຼີກເວັ້ນການນໍາໃຊ້ presets ໄດ້ -7 ... -9 ໃນເວລາທີ່ບໍ່ມີຄວາມຕ້ອງການທີ່ແທ້ຈິງສໍາລັບພວກເຂົາ.
At -6 ແລະຕ່ໍາກວ່າ, ປະລິມານຂອງຄວາມຊົງຈໍາ wasted ປົກກະຕິແລ້ວແມ່ນຕ່ໍາພຽງພໍທີ່ຈະບໍ່
ເລື່ອງ.
· CompCPU ແມ່ນການເປັນຕົວແທນທີ່ງ່າຍດາຍຂອງການຕັ້ງຄ່າ LZMA2 ທີ່ມີຜົນກະທົບ
ຄວາມໄວການບີບອັດ. ຂະຫນາດວັດຈະນານຸກົມມີຜົນກະທົບຄວາມໄວເຊັ່ນດຽວກັນ, ສະນັ້ນໃນຂະນະທີ່ CompCPU ແມ່ນ
ດຽວກັນສໍາລັບລະດັບ -6 ... -9, ລະດັບທີ່ສູງຂຶ້ນຍັງມີແນວໂນ້ມທີ່ຈະຊ້າລົງເລັກນ້ອຍ.
ເພື່ອໃຫ້ໄດ້ຮັບເຖິງແມ່ນວ່າຊ້າລົງແລະດັ່ງນັ້ນການບີບອັດທີ່ດີກວ່າ, ເບິ່ງ -- ທີ່ສຸດ.
· CompMem ມີຄວາມຕ້ອງການຫນ່ວຍຄວາມຈໍາຂອງເຄື່ອງອັດຢູ່ໃນໂຫມດກະທູ້ດຽວ.
ມັນອາດຈະແຕກຕ່າງກັນເລັກນ້ອຍລະຫວ່າງ xz ສະບັບ. ຄວາມຕ້ອງການຈໍານວນຫນຶ່ງຂອງ
ຮູບແບບ multithreaded ໃນອະນາຄົດອາດຈະສູງກ່ວາຂອງ single-
ຮູບແບບກະທູ້.
· DecMem ມີຄວາມຕ້ອງການຄວາມຊົງຈໍາ decompressor. ນັ້ນແມ່ນ, ການບີບອັດ
ການຕັ້ງຄ່າກໍານົດຄວາມຕ້ອງການຫນ່ວຍຄວາມຈໍາຂອງ decompressor. ແນ່ນອນ
ການໃຊ້ຄວາມຊົງຈໍາ decompressor ແມ່ນຫຼາຍກ່ວາຂະຫນາດວັດຈະນານຸກົມ LZMA2 ເລັກນ້ອຍ, ແຕ່
ຄ່າໃນຕາຕະລາງໄດ້ຖືກຮວບຮວມເຖິງ MiB ເຕັມຖັດໄປ.
-e, -- ທີ່ສຸດ
ໃຊ້ຕົວແປທີ່ຊ້າກວ່າຂອງລະດັບການຕັ້ງຄ່າການບີບອັດທີ່ເລືອກ (-0 ... -9) ໄປ
ຫວັງວ່າຈະໄດ້ຮັບອັດຕາສ່ວນການບີບອັດເລັກນ້ອຍທີ່ດີກວ່າ, ແຕ່ໂຊກບໍ່ດີນີ້ສາມາດເຮັດໄດ້
ຍັງເຮັດໃຫ້ມັນຮ້າຍແຮງກວ່າເກົ່າ. ການໃຊ້ຄວາມຊົງຈໍາ decompressor ບໍ່ໄດ້ຮັບຜົນກະທົບ, ແຕ່ເຄື່ອງບີບອັດ
ການນໍາໃຊ້ຄວາມຊົງຈໍາເພີ່ມຂຶ້ນພຽງເລັກນ້ອຍໃນລະດັບ preset -0 ... -3.
ເນື່ອງຈາກວ່າມີສອງ presets ທີ່ມີຂະຫນາດວັດຈະນານຸກົມ 4 MiB ແລະ 8 MiB, presets ໄດ້ -3e
ແລະ -5e ໃຊ້ການຕັ້ງຄ່າທີ່ໄວກວ່າເລັກນ້ອຍ (ຕ່ໍາກວ່າ CompCPU) ກ່ວາ -4e ແລະ -6e,
ຕາມລໍາດັບ. ດ້ວຍວິທີນັ້ນ, ບໍ່ມີສອງ presets ຄືກັນ.
Preset DictSize CompCPU CompMem DecMem
-0e 256 KiB 8 4 MiB 1 MiB
-1e 1 MiB 8 13 MiB 2 MiB
-2e 2 MiB 8 25 MiB 3 MiB
-3e 4 MiB 7 48 MiB 5 MiB
-4e 4 MiB 8 48 MiB 5 MiB
-5e 8 MiB 7 94 MiB 9 MiB
-6e 8 MiB 8 94 MiB 9 MiB
-7e 16 MiB 8 186 MiB 17 MiB
-8e 32 MiB 8 370 MiB 33 MiB
-9e 64 MiB 8 674 MiB 65 MiB
ສໍາລັບຕົວຢ່າງ, ມີຈໍານວນທັງຫມົດສີ່ presets ທີ່ໃຊ້ 8 MiB ວັດຈະນານຸກົມ, ເຊິ່ງ
ສັ່ງຈາກໄວທີ່ສຸດໄປຫາຊ້າທີ່ສຸດແມ່ນ -5, -6, -5e, ແລະ -6e.
-- ໄວ
--ດີທີ່ສຸດ ເຫຼົ່ານີ້ແມ່ນບາງນາມແຝງທີ່ເຮັດໃຫ້ເຂົ້າໃຈຜິດ -0 ແລະ -9, ຕາມລໍາດັບ. ພວກນີ້ແມ່ນ
ສະໜອງໃຫ້ພຽງແຕ່ສຳລັບການເຂົ້າກັນໄດ້ກັບ LZMA Utils. ຫຼີກເວັ້ນການນໍາໃຊ້ເຫຼົ່ານີ້
ຕົວເລືອກ
--block-size=ຂະຫນາດ
ເມື່ອບີບອັດໃສ່ .xz ຮູບແບບ, ແບ່ງປັນຂໍ້ມູນການປ້ອນຂໍ້ມູນອອກເປັນຕັນຂອງ ຂະຫນາດ ໄບ.
ຕັນໄດ້ຖືກບີບອັດເປັນເອກະລາດຈາກກັນແລະກັນ.
--memlimit-compress=ກໍານົດຂອບເຂດ
ກໍານົດຂອບເຂດຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການບີບອັດ. ຖ້າຕົວເລືອກນີ້ຖືກລະບຸຫຼາຍ
ເວລາ, ອັນສຸດທ້າຍມີຜົນ.
ຖ້າການຕັ້ງຄ່າການບີບອັດເກີນ ກໍານົດຂອບເຂດ, xz ຈະປັບການຕັ້ງຄ່າລົງລຸ່ມ
ເພື່ອບໍ່ໃຫ້ເກີນຂອບເຂດຈໍາກັດແລະສະແດງຫນັງສືແຈ້ງການອັດຕະໂນມັດ
ການປັບປຸງແມ່ນສໍາເລັດ. ການປັບດັ່ງກ່າວບໍ່ໄດ້ເຮັດໃນເວລາທີ່ບີບອັດດ້ວຍ
--format=raw ຫຼືຖ້າ --no-ປັບ ໄດ້ຖືກລະບຸໄວ້. ໃນກໍລະນີດັ່ງກ່າວ, ຄວາມຜິດພາດແມ່ນ
ສະແດງແລະ xz ຈະອອກດ້ວຍສະຖານະທາງອອກ 1.
ໄດ້ ກໍານົດຂອບເຂດ ສາມາດໄດ້ຮັບການລະບຸໄວ້ໃນຫຼາຍວິທີ:
·ທ ກໍານົດຂອບເຂດ ສາມາດເປັນຄ່າຢ່າງແທ້ຈິງໃນ bytes. ການໃຊ້ຄຳຕໍ່ທ້າຍຈຳນວນເຕັມຄື ອີບ
ສາມາດເປັນປະໂຫຍດ. ຕົວຢ່າງ: --memlimit-compress=80MiB
·ທ ກໍານົດຂອບເຂດ ສາມາດຖືກກໍານົດເປັນເປີເຊັນຂອງຫນ່ວຍຄວາມຈໍາທາງດ້ານຮ່າງກາຍທັງຫມົດ (RAM). ນີ້
ສາມາດເປັນປະໂຫຍດໂດຍສະເພາະໃນເວລາທີ່ຕັ້ງ XZ_DEFAULTS ສະພາບແວດລ້ອມຕົວແປໃນ a
shell script ການເລີ່ມຕົ້ນທີ່ແບ່ງປັນລະຫວ່າງຄອມພິວເຕີທີ່ແຕກຕ່າງກັນ. ນັ້ນ
ວິທີການຈໍາກັດຈະໃຫຍ່ຂຶ້ນໂດຍອັດຕະໂນມັດໃນລະບົບທີ່ມີຫນ່ວຍຄວາມຈໍາຫຼາຍ. ຕົວຢ່າງ:
--memlimit-compress=70%
·ທ ກໍານົດຂອບເຂດ ສາມາດຖືກຕັ້ງຄືນເປັນຄ່າເລີ່ມຕົ້ນຂອງມັນໂດຍການຕັ້ງມັນເປັນ 0. ນີ້ແມ່ນ
ໃນປັດຈຸບັນທຽບເທົ່າກັບການຕັ້ງຄ່າ ກໍານົດຂອບເຂດ to ສູງສຸດທີ່ເຄຍ (ບໍ່ຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ). ຄັ້ງດຽວ
ສະຫນັບສະຫນູນ multithreading ໄດ້ຖືກປະຕິບັດ, ອາດຈະມີຄວາມແຕກຕ່າງລະຫວ່າງ 0
ແລະ ສູງສຸດທີ່ເຄຍ ສໍາລັບກໍລະນີ multithreaded, ສະນັ້ນມັນແນະນໍາໃຫ້ໃຊ້ 0 ແທນທີ່ ສູງສຸດທີ່ເຄຍ
ຈົນກ່ວາລາຍລະອຽດໄດ້ຮັບການຕັດສິນໃຈ.
ເບິ່ງພາກ ຫນ່ວຍຄວາມຈໍາ ການນໍາໃຊ້.
--memlimit-decompress=ກໍານົດຂອບເຂດ
ກໍານົດຂອບເຂດຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການ decompression. ນີ້ຍັງມີຜົນກະທົບ --ລາຍການ ໂໝດ. ຖ້າ
ການດໍາເນີນງານແມ່ນເປັນໄປບໍ່ໄດ້ໂດຍບໍ່ມີການເກີນ ກໍານົດຂອບເຂດ, xz ຈະສະແດງຂໍ້ຜິດພາດ
ແລະການບີບອັດໄຟລ໌ຈະລົ້ມເຫລວ. ເບິ່ງ --memlimit-compress=ກໍານົດຂອບເຂດ ສໍາລັບຄວາມເປັນໄປໄດ້
ວິທີການກໍານົດ ກໍານົດຂອບເຂດ.
-M ກໍານົດຂອບເຂດ, --memlimit=ກໍານົດຂອບເຂດ, --ຄວາມຈຳ=ກໍານົດຂອບເຂດ
ນີ້ແມ່ນເທົ່າກັບການລະບຸ --memlimit-compress=ກໍານົດຂອບເຂດ
--memlimit-decompress=ກໍານົດຂອບເຂດ.
--no-ປັບ
ສະແດງຂໍ້ຜິດພາດແລະອອກຖ້າການຕັ້ງຄ່າການບີບອັດເກີນການໃຊ້ຫນ່ວຍຄວາມຈໍາ
ຈຳກັດ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອປັບການຕັ້ງຄ່າລົງລຸ່ມເພື່ອໃຫ້ການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ
ຂີດຈຳກັດບໍ່ເກີນ. ການປັບອັດຕະໂນມັດຖືກປິດໄວ້ຕະຫຼອດເວລາເມື່ອສ້າງວັດຖຸດິບ
ກະແສ (--format=raw).
-T ກະທູ້, --ກະທູ້=ກະທູ້
ລະບຸຈໍານວນຂອງກະທູ້ພະນັກງານທີ່ຈະໃຊ້. ຈໍານວນຕົວຈິງຂອງກະທູ້ສາມາດເປັນ
ຫນ້ອຍກ່ວາ ກະທູ້ ຖ້າຫາກວ່າການນໍາໃຊ້ຫຼາຍກະທູ້ຈະເກີນກໍານົດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ.
Multithreaded compression ແລະ ການບີບອັດ ມີ ບໍ່ ປະຕິບັດ ທັນ, so ນີ້ ທາງເລືອກ
ມີ no ຜົນກະທົບ ສໍາລັບການ ໃນປັດຈຸບັນ.
As of ລາຍລັກອັກສອນ (2010-09-27), ທ. it ບໍ່ໄດ້ ໄດ້ ຕັດສິນໃຈ if ກະທູ້ ຈະ be ໃຫມ່ by
Default on ຫຼາຍຫຼັກ ລະບົບ ຄັ້ງຫນຶ່ງ ສະຫນັບສະຫນູນ ສໍາລັບການ ກະທູ້ ມີ ໄດ້ ປະຕິບັດ.
ຄວາມຄິດເຫັນ ມີ ຍິນດີຕ້ອນຮັບ. ປັດໄຈທີ່ສັບສົນແມ່ນວ່າການນໍາໃຊ້ຫຼາຍກະທູ້ຈະ
ເພີ່ມການນໍາໃຊ້ຄວາມຊົງຈໍາຢ່າງຫຼວງຫຼາຍ. ໃຫ້ສັງເກດວ່າຖ້າ multithreading ຈະເປັນ
ໃນຕອນຕົ້ນ, ມັນອາດຈະເປັນການເຮັດດັ່ງນັ້ນຮູບແບບດຽວ threaded ແລະ multithreaded
ຜະລິດຜົນຜະລິດດຽວກັນ, ດັ່ງນັ້ນອັດຕາສ່ວນການບີບອັດຈະບໍ່ໄດ້ຮັບຜົນກະທົບຢ່າງຫຼວງຫຼາຍຖ້າ
threading ຈະຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ.
Custom ເຄື່ອງອັດ ການກັ່ນຕອງ chains
ລະບົບຕ່ອງໂສ້ການກັ່ນຕອງທີ່ກໍາຫນົດເອງອະນຸຍາດໃຫ້ກໍານົດການຕັ້ງຄ່າການບີບອັດໃນລາຍລະອຽດແທນທີ່ຈະເປັນ
ອີງໃສ່ການຕັ້ງຄ່າທີ່ກ່ຽວຂ້ອງກັບລະດັບທີ່ກໍານົດໄວ້ກ່ອນ. ເມື່ອລະບົບຕ່ອງໂສ້ການກັ່ນຕອງທີ່ກໍາຫນົດເອງແມ່ນ
ລະບຸໄວ້, ຕົວເລືອກລະດັບການບີບອັດ preset (-0 ... -9 ແລະ -- ທີ່ສຸດ) ງຽບໆ
ບໍ່ສົນໃຈ.
ລະບົບຕ່ອງໂສ້ການກັ່ນຕອງແມ່ນປຽບທຽບກັບທໍ່ຢູ່ໃນເສັ້ນຄໍາສັ່ງ. ໃນເວລາທີ່ບີບອັດ, ໄດ້
ການປ້ອນຂໍ້ມູນທີ່ບໍ່ຖືກບີບອັດຈະໄປຫາຕົວກອງທຳອິດ, ຜົນຜະລິດຂອງມັນຈະໄປຫາຕົວກອງຕໍ່ໄປ (ຖ້າ
ໃດ). ຜົນຜະລິດຂອງການກັ່ນຕອງສຸດທ້າຍໄດ້ຮັບລາຍລັກອັກສອນກັບໄຟລ໌ທີ່ຖືກບີບອັດ. ສູງສຸດ
ຈໍານວນຂອງການກັ່ນຕອງໃນຕ່ອງໂສ້ແມ່ນສີ່, ແຕ່ໂດຍປົກກະຕິຕ່ອງໂສ້ການກັ່ນຕອງມີພຽງແຕ່ຫນຶ່ງຫຼືສອງ
ຕົວກອງ
ການກັ່ນຕອງຈໍານວນຫຼາຍມີຂໍ້ຈໍາກັດກ່ຽວກັບບ່ອນທີ່ພວກເຂົາສາມາດຢູ່ໃນຕ່ອງໂສ້ການກັ່ນຕອງ: ບາງຕົວກອງສາມາດ
ເຮັດວຽກພຽງແຕ່ເປັນຕົວກອງສຸດທ້າຍໃນລະບົບຕ່ອງໂສ້, ບາງອັນພຽງແຕ່ເປັນຕົວກອງທີ່ບໍ່ແມ່ນສຸດທ້າຍ, ແລະບາງວຽກ
ໃນຕໍາແໜ່ງໃດນຶ່ງໃນຕ່ອງໂສ້. ອີງຕາມການກັ່ນຕອງ, ຂໍ້ຈໍາກັດນີ້ແມ່ນປະກົດຂຶ້ນ
ກັບການອອກແບບການກັ່ນຕອງຫຼືມີຢູ່ເພື່ອປ້ອງກັນບັນຫາຄວາມປອດໄພ.
ລະບົບຕ່ອງໂສ້ການກັ່ນຕອງທີ່ກໍາຫນົດເອງແມ່ນຖືກກໍານົດໂດຍການໃຊ້ຫນຶ່ງຫຼືຫຼາຍທາງເລືອກການກັ່ນຕອງຕາມລໍາດັບ
ຕ້ອງການຢູ່ໃນລະບົບຕ່ອງໂສ້ການກັ່ນຕອງ. ນັ້ນແມ່ນ, ຄໍາສັ່ງຂອງຕົວເລືອກການກັ່ນຕອງແມ່ນສໍາຄັນ!
ເມື່ອຖອດລະຫັດກະແສດິບ (--format=raw), ຕ່ອງໂສ້ການກັ່ນຕອງແມ່ນລະບຸໄວ້ໃນຄໍາສັ່ງດຽວກັນ
ດັ່ງທີ່ໄດ້ລະບຸໄວ້ໃນເວລາບີບອັດ.
ການກັ່ນຕອງເອົາຕົວກອງສະເພາະ ທາງເລືອກໃນການ ເປັນລາຍການທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ. ເຄື່ອງໝາຍຈຸດເພີ່ມເຕີມໃນ ທາງເລືອກໃນການ
ຖືກລະເລີຍ. ທຸກໆຕົວເລືອກມີຄ່າເລີ່ມຕົ້ນ, ດັ່ງນັ້ນທ່ານຈໍາເປັນຕ້ອງລະບຸສະເພາະທີ່ທ່ານຕ້ອງການ
ປ່ຽນ.
--lzma1[=ທາງເລືອກໃນການ]
--lzma2[=ທາງເລືອກໃນການ]
ເພີ່ມຕົວກອງ LZMA1 ຫຼື LZMA2 ໃສ່ຕ່ອງໂສ້ການກັ່ນຕອງ. ການກັ່ນຕອງເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ພຽງແຕ່ເປັນ
ການກັ່ນຕອງສຸດທ້າຍໃນລະບົບຕ່ອງໂສ້.
LZMA1 ແມ່ນຕົວກອງທີ່ເປັນມໍລະດົກ, ເຊິ່ງໄດ້ຮັບການສະຫນັບສະຫນູນເກືອບພຽງແຕ່ຍ້ອນມໍລະດົກ .lzma
ຮູບແບບໄຟລ໌, ເຊິ່ງຮອງຮັບພຽງແຕ່ LZMA1. LZMA2 ແມ່ນສະບັບປັບປຸງຂອງ LZMA1 ເປັນ
ແກ້ໄຂບັນຫາການປະຕິບັດບາງອັນຂອງ LZMA1. ໄດ້ .xz ຮູບແບບໃຊ້ LZMA2 ແລະບໍ່ຮອງຮັບ
LZMA1 ທັງຫມົດ. ຄວາມໄວການບີບອັດແລະອັດຕາສ່ວນຂອງ LZMA1 ແລະ LZMA2 ແມ່ນປະຕິບັດໄດ້
ດຽວກັນ.
LZMA1 ແລະ LZMA2 ແບ່ງປັນຊຸດດຽວກັນຂອງ ທາງເລືອກໃນການ:
preset=ຕັ້ງໄວ້ລ່ວງ ໜ້າ
ຣີເຊັດ LZMA1 ຫຼື LZMA2 ທັງໝົດ ທາງເລືອກໃນການ to ຕັ້ງໄວ້ລ່ວງ ໜ້າ. Preset ປະກອບດ້ວຍຈໍານວນເຕັມ,
ເຊິ່ງອາດຈະຕິດຕາມດ້ວຍຕົວປັບປ່ຽນທີ່ຕັ້ງໄວ້ລ່ວງໜ້າຂອງຕົວອັກສອນດຽວ. ຈຳນວນເຕັມສາມາດເປັນ
ຈາກ 0 to 9, ກົງກັບຕົວເລືອກແຖວຄໍາສັ່ງ -0 ... -9ທີ່ຢູ່ ພຽງແຕ່
ຕົວແກ້ໄຂທີ່ຮອງຮັບໃນປັດຈຸບັນ e, ເຊິ່ງກົງກັນ -- ທີ່ສຸດ. ຄ່າເລີ່ມຕົ້ນ
ຕັ້ງໄວ້ລ່ວງ ໜ້າ is 6, ຈາກທີ່ຄ່າເລີ່ມຕົ້ນສໍາລັບສ່ວນທີ່ເຫຼືອຂອງ LZMA1 ຫຼື
LZMA2 ທາງເລືອກໃນການ ຖືກປະຕິບັດ.
dict=ຂະຫນາດ
ວັດຈະນານຸກົມ (buffer ປະຫວັດສາດ) ຂະຫນາດ ຊີ້ບອກຈໍານວນໄບຕ໌ຂອງບໍ່ດົນມານີ້
ຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດໄດ້ຮັບການປະຕິບັດແມ່ນເກັບຮັກສາໄວ້ໃນຫນ່ວຍຄວາມຈໍາ. ສູດການຄິດໄລ່ພະຍາຍາມຊອກຫາ
ເຮັດຊ້ຳລໍາດັບ byte (ກົງກັນ) ໃນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດ, ແລະປ່ຽນແທນ
ພວກມັນດ້ວຍການອ້າງອີງເຖິງຂໍ້ມູນປະຈຸບັນຢູ່ໃນວັດຈະນານຸກົມ. ໃຫຍ່ກວ່າ
ວັດຈະນານຸກົມ, ໂອກາດທີ່ຈະຊອກຫາການແຂ່ງຂັນທີ່ສູງກວ່າ. ດັ່ງນັ້ນ, ເພີ່ມຂຶ້ນ
ວັດຈະນານຸກົມ ຂະຫນາດ ປົກກະຕິແລ້ວປັບປຸງອັດຕາສ່ວນການບີບອັດ, ແຕ່ວັດຈະນານຸກົມໃຫຍ່ກວ່າ
ກ່ວາໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດແມ່ນເສຍຄວາມຈໍາ.
ວັດຈະນານຸກົມທົ່ວໄປ ຂະຫນາດ ຕັ້ງແຕ່ 64 KiB ຫາ 64 MiB. ຕໍາ່ສຸດທີ່ 4 KiB.
ສູງສຸດສໍາລັບການບີບອັດໃນປັດຈຸບັນແມ່ນ 1.5 GiB (1536 MiB). ໄດ້
decompressor ແລ້ວສະຫນັບສະຫນູນວັດຈະນານຸກົມເຖິງຫນຶ່ງ byte ຫນ້ອຍກວ່າ 4 GiB,
ເຊິ່ງແມ່ນສູງສຸດສຳລັບຮູບແບບສະຕຣີມ LZMA1 ແລະ LZMA2.
Dictionary ຂະຫນາດ ແລະຜູ້ຊອກຫາການແຂ່ງຂັນ (mf) ຮ່ວມກັນກໍານົດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາຂອງ
ຕົວເຂົ້າລະຫັດ LZMA1 ຫຼື LZMA2. ວັດຈະນານຸກົມດຽວກັນ (ຫຼືໃຫຍ່ກວ່າ). ຂະຫນາດ is
ຕ້ອງການສໍາລັບການ decompressing ທີ່ຖືກນໍາໃຊ້ໃນເວລາທີ່ compressing, ດັ່ງນັ້ນຫນ່ວຍຄວາມຈໍາ
ການນໍາໃຊ້ຂອງຕົວຖອດລະຫັດແມ່ນກໍານົດໂດຍຂະຫນາດວັດຈະນານຸກົມທີ່ໃຊ້ໃນເວລາທີ່
ການບີບອັດ. ໄດ້ .xz ສ່ວນຫົວເກັບຮັກສາວັດຈະນານຸກົມ ຂະຫນາດ ບໍ່ວ່າຈະເປັນ 2^n ຫຼື 2^n
+ 2^(n-1), ດັ່ງນັ້ນສິ່ງເຫຼົ່ານີ້ ຂະຫນາດ ຂ້ອນຂ້າງມັກສໍາລັບການບີບອັດ. ອື່ນໆ
ຂະຫນາດ ຈະໄດ້ຮັບການມົນຂຶ້ນໃນເວລາທີ່ເກັບຮັກສາໄວ້ໃນ .xz ສ່ວນຫົວ.
lc=lc ລະບຸຈໍານວນບິດຂອງບໍລິບົດຕົວຫນັງສື. ຕໍາ່ສຸດທີ່ແມ່ນ 0 ແລະ
ສູງສຸດແມ່ນ 4; ຄ່າເລີ່ມຕົ້ນແມ່ນ 3. ນອກຈາກນັ້ນ, ຜົນລວມຂອງ lc ແລະ lp ບໍ່ຕ້ອງ
ເກີນ 4.
ໄບຕ໌ທັງໝົດທີ່ບໍ່ສາມາດເຂົ້າລະຫັດເປັນຂໍ້ມູນທີ່ກົງກັນໄດ້ຈະຖືກເຂົ້າລະຫັດເປັນຕົວໜັງສື. ນັ້ນ
ແມ່ນ, ຕົວຫນັງສືແມ່ນພຽງແຕ່ 8-bit bytes ທີ່ຖືກເຂົ້າລະຫັດຫນຶ່ງຄັ້ງ.
ການເຂົ້າລະຫັດຕົວຫນັງສືເຮັດໃຫ້ສົມມຸດຕິຖານວ່າສູງສຸດ lc bits ຂອງ
byte ທີ່ບໍ່ຖືກບີບອັດກ່ອນໜ້າ ກ່ຽວຂ້ອງກັບ byte ຕໍ່ໄປ. ສໍາລັບຕົວຢ່າງ, ໂດຍທົ່ວໄປ
ຂໍ້ຄວາມພາສາອັງກິດ, ຕົວອັກສອນຕົວພິມໃຫຍ່ມັກຈະຕິດຕາມດ້ວຍຕົວພິມນ້ອຍ,
ແລະຕົວອັກສອນຕົວພິມນ້ອຍມັກຈະຕິດຕາມດ້ວຍຕົວພິມນ້ອຍອື່ນ.
ໃນຊຸດຕົວອັກສອນ US-ASCII, ສາມບິດສູງສຸດແມ່ນ 010 ສໍາລັບຕົວພິມໃຫຍ່
ຕົວອັກສອນ ແລະ 011 ສໍາລັບຕົວພິມນ້ອຍ. ເມື່ອໃດ lc ແມ່ນຢ່າງຫນ້ອຍ 3, ຕົວຫນັງສື
coding ສາມາດໃຊ້ປະໂຍດຈາກຄຸນສົມບັດນີ້ໃນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດ.
ຄ່າເລີ່ມຕົ້ນ (3) ປົກກະຕິດີ. ຖ້າທ່ານຕ້ອງການການບີບອັດສູງສຸດ,
ການທົດສອບ lc=4. ບາງຄັ້ງມັນຊ່ວຍພຽງເລັກນ້ອຍ, ແລະບາງຄັ້ງມັນເຮັດໃຫ້ການບີບອັດ
ຮ້າຍແຮງກວ່າເກົ່າ. ຖ້າມັນເຮັດໃຫ້ຮ້າຍແຮງກວ່າເກົ່າ, ທົດສອບຕົວຢ່າງ lc=2 ເຊັ່ນດຽວກັນ.
lp=lp ລະບຸຈໍານວນບິດຕໍາແໜ່ງຕົວຫນັງສື. ຕໍາ່ສຸດທີ່ແມ່ນ 0 ແລະ
ສູງສຸດແມ່ນ 4; ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
Lp ຜົນກະທົບຕໍ່ການຈັດຮຽງປະເພດໃດແດ່ໃນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດແມ່ນສົມມຸດວ່າເມື່ອໃດ
ການເຂົ້າລະຫັດຕົວໜັງສື. ເບິ່ງ pb ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການສອດຄ່ອງ.
pb=pb ລະບຸຈໍານວນຂອງບິດຕໍາແໜ່ງ. ຕໍາ່ສຸດທີ່ແມ່ນ 0 ແລະສູງສຸດແມ່ນ 4;
ຄ່າເລີ່ມຕົ້ນແມ່ນ 2.
Pb ຜົນກະທົບຕໍ່ການຈັດຮຽງປະເພດໃດແດ່ໃນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດຖືກສົມມຸດຂຶ້ນ
ທົ່ວໄປ. ຄ່າເລີ່ມຕົ້ນໝາຍເຖິງການຈັດຮຽງສີ່ໄບຕ໌ (2^pb=2^2=4), ເຊິ່ງມັກຈະເປັນ
ເປັນທາງເລືອກທີ່ດີໃນເວລາທີ່ບໍ່ມີການຄາດເດົາທີ່ດີກວ່າ.
ໃນເວລາທີ່ alignment ເປັນທີ່ຮູ້ຈັກ, ການຕັ້ງຄ່າ pb ຕາມຄວາມເຫມາະສົມອາດຈະຫຼຸດລົງຂະຫນາດໄຟລ໌
ຫນ້ອຍຫນຶ່ງ. ເຊັ່ນ: ໄຟລ໌ຂໍ້ຄວາມທີ່ມີການຈັດຮຽງຫນຶ່ງໄບຕ໌ (US-ASCII,
ISO-8859-*, UTF-8), ການຕັ້ງຄ່າ pb=0 ສາມາດປັບປຸງການບີບອັດເລັກນ້ອຍ. ສໍາລັບ
ຂໍ້ຄວາມ UTF-16, pb=1 ເປັນທາງເລືອກທີ່ດີ. ຖ້າການຈັດຮຽງເປັນຕົວເລກຄີກເຊັ່ນ
3 ໄບ, pb=0 ອາດຈະເປັນທາງເລືອກທີ່ດີທີ່ສຸດ.
ເຖິງແມ່ນວ່າການສອດຄ່ອງສົມມຸດຕິຖານສາມາດປັບດ້ວຍ pb ແລະ lp, LZMA1 ແລະ
LZMA2 ຍັງມັກການຈັດຮຽງ 16-byte ເລັກນ້ອຍ. ມັນອາດຈະຄຸ້ມຄ່າທີ່ຈະເຂົ້າໄປໃນ
ບັນຊີໃນເວລາທີ່ການອອກແບບຮູບແບບໄຟລ໌ທີ່ມັກຈະຖືກບີບອັດ
ກັບ LZMA1 ຫຼື LZMA2.
mf=mf Match finder ມີຜົນກະທົບທີ່ສໍາຄັນຕໍ່ຄວາມໄວຂອງຕົວເຂົ້າລະຫັດ, ການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ, ແລະ
ອັດຕາສ່ວນການບີບອັດ. ປົກກະຕິແລ້ວ Hash Chain match finders ແມ່ນໄວກວ່າ Binary
ຜູ້ຊອກຫາໄມ້ຢືນຕົ້ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບ ຕັ້ງໄວ້ລ່ວງ ໜ້າ: 0 ການນໍາໃຊ້ hc3, 1-3 ການນໍາໃຊ້
hc4, ແລະສ່ວນທີ່ເຫຼືອໃຊ້ bt4.
ຜູ້ຊອກຫາການແຂ່ງຂັນຕໍ່ໄປນີ້ໄດ້ຮັບການສະຫນັບສະຫນູນ. ສູດການນຳໃຊ້ໜ່ວຍຄວາມຈຳຂ້າງລຸ່ມນີ້
ແມ່ນການປະມານທີ່ຫຍາບຄາຍ, ເຊິ່ງໃກ້ກັບຄວາມເປັນຈິງທີ່ສຸດ ຂຽນ ຄຳ ສັ່ງ ເປັນ
ພະລັງງານຂອງສອງ.
hc3 Hash Chain ທີ່ມີ hashing 2- ແລະ 3-byte
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 3
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ:
ຂຽນ ຄຳ ສັ່ງ * 7.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ <= 16 MiB);
ຂຽນ ຄຳ ສັ່ງ * 5.5 + 64 MiB (ຖ້າ ຂຽນ ຄຳ ສັ່ງ > 16 MiB)
hc4 Hash Chain ດ້ວຍການ hashing 2-, 3-, ແລະ 4-byte
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 4
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ:
ຂຽນ ຄຳ ສັ່ງ * 7.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ <= 32 MiB);
ຂຽນ ຄຳ ສັ່ງ * 6.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ > 32 MiB)
bt2 ຕົ້ນໄມ້ໄບນາຣີທີ່ມີ hashing 2-byte
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 2
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ: ຂຽນ ຄຳ ສັ່ງ * 9.5
bt3 ຕົ້ນໄມ້ໄບນາຣີທີ່ມີ 2- ແລະ 3-byte hashing
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 3
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ:
ຂຽນ ຄຳ ສັ່ງ * 11.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ <= 16 MiB);
ຂຽນ ຄຳ ສັ່ງ * 9.5 + 64 MiB (ຖ້າ ຂຽນ ຄຳ ສັ່ງ > 16 MiB)
bt4 ຕົ້ນໄມ້ໄບນາຣີທີ່ມີ 2-, 3-, ແລະ 4-byte hashing
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 4
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ:
ຂຽນ ຄຳ ສັ່ງ * 11.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ <= 32 MiB);
ຂຽນ ຄຳ ສັ່ງ * 10.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ > 32 MiB)
ໂໝດ=ຮູບແບບການ
ການບີບອັດ ຮູບແບບການ ກໍານົດວິທີການວິເຄາະຂໍ້ມູນທີ່ຜະລິດໂດຍ the
ຜູ້ຊອກຫາການແຂ່ງຂັນ. ສະຫນັບສະຫນູນ ໂຫມດ ມີ ໄວ ແລະ ປົກກະຕິ. ຄ່າເລີ່ມຕົ້ນແມ່ນ ໄວ ສໍາລັບການ
ຕັ້ງໄວ້ລ່ວງ ໜ້າ 0-3 ແລະ ປົກກະຕິ ສໍາລັບການ ຕັ້ງໄວ້ລ່ວງ ໜ້າ 4-9.
ປົກກະຕິແລ້ວ ໄວ ຖືກນໍາໃຊ້ກັບ Hash Chain match finders ແລະ ປົກກະຕິ ກັບ Binary
ຜູ້ຊອກຫາໄມ້ຢືນຕົ້ນ. ນີ້ຍັງແມ່ນສິ່ງທີ່ ຕັ້ງໄວ້ລ່ວງ ໜ້າ ເຮັດແນວໃດ.
ງາມ =ງາມ
ລະບຸສິ່ງທີ່ຖືວ່າເປັນຄວາມຍາວທີ່ດີສໍາລັບການແຂ່ງຂັນ. ເມື່ອການແຂ່ງຂັນຂອງ
ຢ່າງຫນ້ອຍ ງາມ bytes ຖືກພົບເຫັນ, algorithm ຢຸດເຊົາການຊອກຫາທີ່ເປັນໄປໄດ້
ການແຂ່ງຂັນທີ່ດີກວ່າ.
ງາມ ສາມາດ 2-273 bytes. ມູນຄ່າທີ່ສູງຂຶ້ນມີແນວໂນ້ມທີ່ຈະໃຫ້ການບີບອັດທີ່ດີກວ່າ
ອັດຕາສ່ວນໃນຄ່າໃຊ້ຈ່າຍຂອງຄວາມໄວ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບ ຕັ້ງໄວ້ລ່ວງ ໜ້າ.
ຄວາມເລິກ=ຄວາມເລິກ
ລະບຸຄວາມເລິກການຊອກຫາສູງສຸດໃນຕົວຊອກຫາທີ່ກົງກັນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
ຄ່າພິເສດຂອງ 0, ເຊິ່ງເຮັດໃຫ້ເຄື່ອງອັດກໍານົດຄວາມສົມເຫດສົມຜົນ ຄວາມເລິກ
ຈາກ mf ແລະ ງາມ.
ສົມເຫດສົມຜົນ ຄວາມເລິກ ສໍາລັບ Hash Chains ແມ່ນ 4-100 ແລະ 16-1000 ສໍາລັບຕົ້ນໄມ້ຖານສອງ.
ການນໍາໃຊ້ມູນຄ່າສູງຫຼາຍສໍາລັບ ຄວາມເລິກ ສາມາດເຮັດໃຫ້ຕົວເຂົ້າລະຫັດຊ້າທີ່ສຸດກັບ
ບາງໄຟລ໌. ຫຼີກເວັ້ນການຕັ້ງ ຄວາມເລິກ ຫຼາຍກວ່າ 1000 ເວັ້ນເສຍແຕ່ວ່າທ່ານກຽມພ້ອມທີ່ຈະ
ຂັດຂວາງການບີບອັດໃນກໍລະນີທີ່ມັນໃຊ້ເວລາດົນເກີນໄປ.
ເມື່ອຖອດລະຫັດກະແສດິບ (--format=raw), LZMA2 ຕ້ອງການພຽງແຕ່ພົດຈະນານຸກົມເທົ່ານັ້ນ ຂະຫນາດ.
LZMA1 ຍັງຕ້ອງການ lc, lp, ແລະ pb.
--x86[=ທາງເລືອກໃນການ]
--powerpc[=ທາງເລືອກໃນການ]
--ia64[=ທາງເລືອກໃນການ]
--ແຂນ[=ທາງເລືອກໃນການ]
--ໂປ້ມື[=ທາງເລືອກໃນການ]
--sparc[=ທາງເລືອກໃນການ]
ເພີ່ມຕົວກອງສາຂາ/ໂທ/ໂດດ (BCJ) ໃສ່ຕ່ອງໂສ້ການກັ່ນຕອງ. ການກັ່ນຕອງເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້
ພຽງແຕ່ເປັນຕົວກອງທີ່ບໍ່ແມ່ນສຸດທ້າຍໃນຕ່ອງໂສ້ການກັ່ນຕອງ.
ການກັ່ນຕອງ BCJ ປ່ຽນທີ່ຢູ່ທີ່ກ່ຽວຂ້ອງໃນລະຫັດເຄື່ອງເປັນຢ່າງແທ້ຈິງຂອງພວກເຂົາ
ຄູ່ຮ່ວມ. ນີ້ບໍ່ມີການປ່ຽນແປງຂະຫນາດຂອງຂໍ້ມູນ, ແຕ່ມັນເພີ່ມຂຶ້ນ
redundancy, ເຊິ່ງສາມາດຊ່ວຍ LZMA2 ຜະລິດ 0-15 % ນ້ອຍລົງ .xz ໄຟລ໌. BCJ
ການກັ່ນຕອງແມ່ນສາມາດປີ້ນກັບກັນໄດ້ຕະຫຼອດເວລາ, ດັ່ງນັ້ນການໃຊ້ຕົວກອງ BCJ ສໍາລັບປະເພດຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງແມ່ນບໍ່ໄດ້
ເຮັດໃຫ້ເກີດການສູນເສຍຂໍ້ມູນໃດໆ, ເຖິງແມ່ນວ່າມັນອາດຈະເຮັດໃຫ້ອັດຕາສ່ວນການບີບອັດຮ້າຍແຮງຂຶ້ນເລັກນ້ອຍ.
ມັນດີທີ່ຈະນໍາໃຊ້ຕົວກອງ BCJ ໃນການປະຕິບັດທັງຫມົດ; ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ມັນ
ພຽງແຕ່ຢູ່ໃນພາກປະຕິບັດ. ການນຳໃຊ້ຕົວກອງ BCJ ຢູ່ໃນບ່ອນເກັບມ້ຽນທີ່ບັນຈຸ
ທັງສອງໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້ແລະບໍ່ສາມາດປະຕິບັດໄດ້ອາດຈະຫຼືອາດຈະບໍ່ໃຫ້ຜົນໄດ້ຮັບທີ່ດີ, ສະນັ້ນມັນ
ໂດຍທົ່ວໄປແລ້ວມັນບໍ່ດີທີ່ຈະໃຊ້ຕົວກອງ BCJ ໃນເວລາບີບອັດແພັກເກັດໄບນາຣີ
ສໍາລັບການແຈກຢາຍ.
ຕົວກອງ BCJ ເຫຼົ່ານີ້ແມ່ນໄວຫຼາຍ ແລະໃຊ້ຄວາມຊົງຈໍາທີ່ບໍ່ສໍາຄັນ. ຖ້າ BCJ
ການກັ່ນຕອງປັບປຸງອັດຕາສ່ວນການບີບອັດຂອງໄຟລ໌, ມັນສາມາດປັບປຸງຄວາມໄວໃນການບີບອັດ
ເວລາດຽວກັນ. ນີ້ແມ່ນຍ້ອນວ່າ, ໃນຮາດແວດຽວກັນ, ຄວາມໄວ decompression ຂອງ
LZMA2 ແມ່ນປະມານຕົວເລກຄົງທີ່ຂອງໄບຕ໌ຂອງຂໍ້ມູນທີ່ຖືກບີບອັດຕໍ່ວິນາທີ.
ການກັ່ນຕອງ BCJ ເຫຼົ່ານີ້ມີບັນຫາທີ່ຮູ້ຈັກທີ່ກ່ຽວຂ້ອງກັບອັດຕາສ່ວນການບີບອັດ:
·ບາງປະເພດຂອງໄຟລ໌ທີ່ມີລະຫັດປະຕິບັດໄດ້ (ເຊັ່ນ: ໄຟລ໌ວັດຖຸ, static
ຫ້ອງສະຫມຸດ, ແລະໂມດູນ Linux kernel) ມີທີ່ຢູ່ໃນຄໍາແນະນໍາ
ເຕັມໄປດ້ວຍຄຸນຄ່າຂອງ filler. ຕົວກອງ BCJ ເຫຼົ່ານີ້ຈະຍັງຄົງເຮັດທີ່ຢູ່
ການປ່ຽນໃຈເຫລື້ອມໃສ, ເຊິ່ງຈະເຮັດໃຫ້ການບີບອັດຮ້າຍແຮງກວ່າເກົ່າກັບໄຟລ໌ເຫຼົ່ານີ້.
· ການນໍາໃຊ້ຕົວກັ່ນຕອງ BCJ ໃນການເກັບຮັກສາທີ່ປະກອບດ້ວຍການປະຕິບັດທີ່ຄ້າຍຄືກັນຫຼາຍສາມາດເຮັດໄດ້
ເຮັດໃຫ້ອັດຕາສ່ວນການບີບອັດຮ້າຍແຮງກວ່າບໍ່ໃຊ້ຕົວກອງ BCJ. ນີ້ແມ່ນຍ້ອນວ່າ
ການກັ່ນຕອງ BCJ ບໍ່ກວດພົບຂອບເຂດຂອງໄຟລ໌ທີ່ປະຕິບັດໄດ້, ແລະ
ບໍ່ໄດ້ຕັ້ງຕົວນັບການແປງທີ່ຢູ່ຄືນໃໝ່ສໍາລັບແຕ່ລະອັນທີ່ປະຕິບັດໄດ້.
ທັງສອງບັນຫາຂ້າງເທິງຈະຖືກແກ້ໄຂໃນອະນາຄົດໃນຕົວກອງໃຫມ່. ເກົ່າ
ຕົວກອງ BCJ ຍັງຈະເປັນປະໂຫຍດໃນລະບົບຝັງຕົວ, ເພາະວ່າຕົວຖອດລະຫັດຂອງ
ການກັ່ນຕອງໃຫມ່ຈະໃຫຍ່ກວ່າແລະໃຊ້ຫນ່ວຍຄວາມຈໍາຫຼາຍ.
ຊຸດຄໍາແນະນໍາທີ່ແຕກຕ່າງກັນມີການຈັດຕໍາແຫນ່ງທີ່ແຕກຕ່າງກັນ:
ບັນທຶກການຈັດຮຽງການກັ່ນຕອງ
x86 1 32-bit ຫຼື 64-bit x86
PowerPC 4 Big endian ເທົ່ານັ້ນ
ARM 4 Little endian ເທົ່ານັ້ນ
ARM-Thumb 2 Little endian ເທົ່ານັ້ນ
IA-64 16 ໃຫຍ່ ຫຼື ນ້ອຍ endian
SPARC 4 endian ໃຫຍ່ ຫຼື ນ້ອຍ
ນັບຕັ້ງແຕ່ຂໍ້ມູນການກັ່ນຕອງ BCJ ມັກຈະຖືກບີບອັດດ້ວຍ LZMA2, ອັດຕາສ່ວນການບີບອັດ
ອາດຈະຖືກປັບປຸງເລັກນ້ອຍຖ້າຕົວເລືອກ LZMA2 ຖືກກໍານົດໃຫ້ກົງກັບການຈັດຕໍາແຫນ່ງຂອງ
ເລືອກຕົວກອງ BCJ. ຕົວຢ່າງ, ດ້ວຍຕົວກອງ IA-64, ມັນດີທີ່ຈະຕັ້ງຄ່າ pb=4
ກັບ LZMA2 (2^4=16). ການກັ່ນຕອງ x86 ແມ່ນຂໍ້ຍົກເວັ້ນ; ມັນເປັນປົກກະຕິດີທີ່ຈະຕິດຢູ່
ການຈັດຮຽງສີ່ໄບຕ໌ມາດຕະຖານຂອງ LZMA2 ເມື່ອບີບອັດ x86 ປະຕິບັດໄດ້.
ການກັ່ນຕອງ BCJ ທັງຫມົດສະຫນັບສະຫນູນຄືກັນ ທາງເລືອກໃນການ:
start=ຊົດເຊີຍ
ກໍານົດການເລີ່ມຕົ້ນ ຊົດເຊີຍ ທີ່ຖືກນໍາໃຊ້ໃນເວລາທີ່ການແປງລະຫວ່າງພີ່ນ້ອງແລະ
ທີ່ຢູ່ຢ່າງແທ້ຈິງ. ໄດ້ ຊົດເຊີຍ ຕ້ອງເປັນຄວາມຫຼາກຫຼາຍຂອງການຈັດຮຽງຂອງ
ການກັ່ນຕອງ (ເບິ່ງຕາຕະລາງຂ້າງເທິງ). ຄ່າເລີ່ມຕົ້ນແມ່ນສູນ. ໃນການປະຕິບັດ, ໄດ້
ຄ່າເລີ່ມຕົ້ນແມ່ນດີ; ກໍານົດ custom ຊົດເຊີຍ ແມ່ນເກືອບບໍ່ເຄີຍເປັນປະໂຫຍດ.
--delta[=ທາງເລືອກໃນການ]
ເພີ່ມຕົວກອງ Delta ໃສ່ຕ່ອງໂສ້ການກັ່ນຕອງ. ການກັ່ນຕອງ Delta ສາມາດຖືກນໍາໃຊ້ພຽງແຕ່ເປັນ
ການກັ່ນຕອງທີ່ບໍ່ແມ່ນສຸດທ້າຍໃນຕ່ອງໂສ້ການກັ່ນຕອງ.
ໃນປັດຈຸບັນພຽງແຕ່ການຄໍານວນ delta ງ່າຍດາຍ byte-wise ໄດ້ຮັບການສະຫນັບສະຫນູນ. ມັນສາມາດເປັນປະໂຫຍດ
ໃນເວລາທີ່ການບີບອັດເຊັ່ນ: ຮູບພາບ bitmap ທີ່ບໍ່ໄດ້ບີບອັດຫຼື PCM ສຽງທີ່ບໍ່ໄດ້ບີບອັດ.
ຢ່າງໃດກໍຕາມ, ສູດການຄິດໄລ່ຈຸດປະສົງພິເສດອາດຈະໃຫ້ຜົນໄດ້ຮັບທີ່ດີກວ່າຢ່າງຫຼວງຫຼາຍ
Delta + LZMA2. ນີ້ແມ່ນຄວາມຈິງໂດຍສະເພາະກັບສຽງ, ເຊິ່ງ compresses ໄວຂຶ້ນແລະ
ດີກວ່າ e.g. ກັບ flac(1).
ສະຫນັບສະຫນູນ ທາງເລືອກໃນການ:
dist=ໄລຍະທາງ
ລະບຸວ່າ ໄລຍະທາງ ຂອງການຄິດໄລ່ delta ໃນ bytes. ໄລຍະທາງ ຕ້ອງເປັນ
1-256. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
ຍົກຕົວຢ່າງ, ກັບ dist=2 ແລະການປ້ອນຂໍ້ມູນແປດໄບ A1 B1 A2 B3 A3 B5 A4 B7, the
ຜົນຜະລິດຈະເປັນ A1 B1 01 02 01 02 01 02.
ອື່ນ ໆ ທາງເລືອກໃນການ
-q, --ງຽບ
ສະກັດກັ້ນການເຕືອນໄພ ແລະແຈ້ງການ. ລະບຸນີ້ສອງຄັ້ງເພື່ອສະກັດກັ້ນຄວາມຜິດພາດເກີນໄປ. ນີ້
ທາງເລືອກບໍ່ມີຜົນກັບສະຖານະການອອກ. ນັ້ນແມ່ນ, ເຖິງແມ່ນວ່າການເຕືອນໄພແມ່ນ
ຖືກສະກັດກັ້ນ, ສະຖານະການອອກເພື່ອຊີ້ບອກເຕືອນແມ່ນຍັງໃຊ້.
-v, -- verbose
ເປັນຄຳເວົ້າ. ຖ້າຄວາມຜິດພາດມາດຕະຖານເຊື່ອມຕໍ່ກັບເຄື່ອງໃຊ້ໄຟຟ້າ, xz ຈະສະແດງກ
ຕົວຊີ້ບອກຄວາມຄືບໜ້າ. ການລະບຸ -- verbose ສອງຄັ້ງຈະເຮັດໃຫ້ຜົນຜະລິດ verbose ຫຼາຍຂຶ້ນ.
ຕົວຊີ້ບອກຄວາມຄືບໜ້າສະແດງຂໍ້ມູນຕໍ່ໄປນີ້:
·ອັດຕາສ່ວນການສໍາເລັດແມ່ນສະແດງໃຫ້ເຫັນຖ້າຫາກວ່າຂະຫນາດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນຮູ້ຈັກ. ນັ້ນແມ່ນ,
ເປີເຊັນບໍ່ສາມາດສະແດງຢູ່ໃນທໍ່.
· ຈໍານວນຂໍ້ມູນທີ່ຖືກບີບອັດທີ່ຜະລິດ (ບີບອັດ) ຫຼືບໍລິໂພກ (ການບີບອັດ).
· ຈໍານວນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດທີ່ບໍລິໂພກ (ບີບອັດ) ຫຼືຜະລິດ (ບີບອັດ).
· ອັດຕາສ່ວນການບີບອັດ, ເຊິ່ງໄດ້ຖືກຄິດໄລ່ໂດຍການແບ່ງປັນຈໍານວນຂອງຂໍ້ມູນທີ່ບີບອັດ
ປະມວນຜົນມາເຖິງຕອນນັ້ນໂດຍປະລິມານຂອງຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດປະມວນຜົນມາເຖິງຕອນນັ້ນ.
· ຄວາມໄວການບີບອັດຫຼື decompression. ນີ້ແມ່ນການວັດແທກເປັນຈໍານວນ
ຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດຖືກບໍລິໂພກ (ການບີບອັດ) ຫຼືຜະລິດ (ການບີບອັດ) ຕໍ່ວິນາທີ.
ມັນສະແດງໃຫ້ເຫັນຫຼັງຈາກສອງສາມວິນາທີໄດ້ຜ່ານໄປນັບຕັ້ງແຕ່ xz ໄດ້ເລີ່ມຕົ້ນການປຸງແຕ່ງ
ຍື່ນ.
· ເວລາຜ່ານໄປໃນຮູບແບບ M:SS ຫຼື H:MM:SS.
· ເວລາທີ່ເຫຼືອໂດຍຄາດຄະເນຈະສະແດງເມື່ອຂະໜາດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນຮູ້ເທົ່ານັ້ນ
ແລະສອງສາມວິນາທີໄດ້ຜ່ານໄປແລ້ວຕັ້ງແຕ່ນັ້ນມາ xz ໄດ້ເລີ່ມຕົ້ນການປຸງແຕ່ງ
ໄຟລ໌. ເວລາຖືກສະແດງໃນຮູບແບບທີ່ຊັດເຈນໜ້ອຍກວ່າທີ່ບໍ່ເຄີຍມີຈໍ້າສອງເມັດ,
ຕົວຢ່າງ: 2 min 30 s.
ເມື່ອຄວາມຜິດພາດມາດຕະຖານບໍ່ແມ່ນຈຸດເຊື່ອມຕໍ່, -- verbose ຈະເຮັດໃຫ້ xz ພິມຊື່ໄຟລ໌,
ຂະຫນາດບີບອັດ, ຂະຫນາດທີ່ບໍ່ໄດ້ບີບອັດ, ອັດຕາສ່ວນການບີບອັດ, ແລະອາດຈະເປັນຄວາມໄວ
ແລະເວລາຜ່ານໄປໃນເສັ້ນດຽວກັບຄວາມຜິດພາດມາດຕະຖານຫຼັງຈາກການບີບອັດຫຼື
decompressing ໄຟລ໌. ຄວາມໄວແລະເວລາທີ່ຜ່ານໄປແມ່ນລວມເອົາພຽງແຕ່ໃນເວລາທີ່
ການດໍາເນີນງານໃຊ້ເວລາຢ່າງຫນ້ອຍສອງສາມວິນາທີ. ຖ້າຫາກວ່າການດໍາເນີນງານບໍ່ໄດ້ສໍາເລັດ, ເຊັ່ນ: ເນື່ອງຈາກ
ການຂັດຂວາງຜູ້ໃຊ້, ຍັງອັດຕາສ່ວນການສໍາເລັດແມ່ນພິມອອກຖ້າຫາກວ່າຂະຫນາດຂອງ
ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນເປັນທີ່ຮູ້ຈັກ.
-Q, -- ບໍ່ເຕືອນ
ຢ່າຕັ້ງສະຖານະທາງອອກເປັນ 2 ເຖິງແມ່ນວ່າຈະກວດພົບເງື່ອນໄຂທີ່ຄຸ້ມຄ່າກັບການເຕືອນ.
ທາງເລືອກນີ້ບໍ່ມີຜົນຕໍ່ລະດັບ verbosity, ດັ່ງນັ້ນທັງສອງ --ງຽບ ແລະ -- ບໍ່ເຕືອນ
ຕ້ອງໃຊ້ເພື່ອບໍ່ສະແດງຄໍາເຕືອນແລະບໍ່ປ່ຽນແປງສະຖານະການອອກ.
-- ຫຸ່ນຍົນ
ພິມຂໍ້ຄວາມໃນຮູບແບບທີ່ເຄື່ອງຈັກສາມາດວິເຄາະໄດ້. ນີ້ມີຈຸດປະສົງເພື່ອຄວາມສະດວກໃນການຂຽນ
frontends ທີ່ຕ້ອງການໃຊ້ xz ແທນທີ່ຈະ liblzma, ເຊິ່ງອາດຈະເປັນກໍລະນີ
ສະຄຣິບຕ່າງໆ. ຜົນຜະລິດທີ່ມີຕົວເລືອກນີ້ຖືກເປີດໃຊ້ແມ່ນຫມາຍຄວາມວ່າຈະມີຄວາມຫມັ້ນຄົງໃນທົ່ວ
xz ການປ່ອຍ. ເບິ່ງພາກ ROBOT MODE ສໍາລັບລາຍລະອຽດ.
--info-ຄວາມຊົງຈໍາ
ຈໍສະແດງຜົນ, ໃນຮູບແບບທີ່ມະນຸດສາມາດອ່ານໄດ້, ຫນ່ວຍຄວາມຈໍາທາງດ້ານຮ່າງກາຍ (RAM) ຫຼາຍປານໃດ xz ຄິດວ່າ
ລະບົບມີແລະຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການບີບອັດແລະ decompression, ແລະອອກ
ຢ່າງ ສຳ ເລັດຜົນ.
-h, - ຊ່ວຍ
ສະແດງຂໍ້ຄວາມຊ່ວຍເຫຼືອທີ່ອະທິບາຍທາງເລືອກທີ່ໃຊ້ທົ່ວໄປທີ່ສຸດ, ແລະອອກ
ຢ່າງ ສຳ ເລັດຜົນ.
-H, -- ຍາວ ຊ່ວຍ
ສະແດງຂໍ້ຄວາມຊ່ວຍເຫຼືອທີ່ອະທິບາຍລັກສະນະທັງໝົດຂອງ xz, ແລະອອກຢ່າງສໍາເລັດຜົນ
-V, - ການປ່ຽນແປງ
ສະແດງຈໍານວນສະບັບຂອງ xz ແລະ liblzma ໃນຮູບແບບທີ່ສາມາດອ່ານໄດ້ຂອງມະນຸດ. ໄດ້ຮັບ
ຜົນຜະລິດຂອງເຄື່ອງວິເຄາະ, ລະບຸ -- ຫຸ່ນຍົນ ກ່ອນທີ່ຈະ - ການປ່ຽນແປງ.
ROBOT MODE
ໂຫມດຫຸ່ນຍົນຖືກເປີດໃຊ້ດ້ວຍ -- ຫຸ່ນຍົນ ທາງເລືອກ. ມັນເຮັດໃຫ້ຜົນຜະລິດຂອງ xz ງ່າຍຕໍ່ການ
parse ໂດຍໂຄງການອື່ນໆ. ໃນປັດຈຸບັນ -- ຫຸ່ນຍົນ ແມ່ນສະຫນັບສະຫນູນພຽງແຕ່ຮ່ວມກັນກັບ - ການປ່ຽນແປງ,
--info-ຄວາມຊົງຈໍາ, ແລະ --ລາຍການ. ມັນຈະໄດ້ຮັບການສະຫນັບສະຫນູນສໍາລັບການບີບອັດແລະ decompression ປົກກະຕິ
ໃນອານາຄົດ.
Version
xz -- ຫຸ່ນຍົນ - ການປ່ຽນແປງ ຈະພິມຈໍານວນສະບັບຂອງ xz ແລະ liblzma ຕໍ່ໄປນີ້
ຮູບແບບ:
XZ_VERSION=XYYYZZZS
LIBLZMA_VERSION=XYYYZZZS
X ສະບັບສໍາຄັນ.
ປປ ຮຸ່ນນ້ອຍ. ຕົວເລກແມ່ນຄົງທີ່. ຕົວເລກຄີກແມ່ນເວີຊັນ alpha ຫຼື beta.
Zzz ລະດັບ Patch ສໍາລັບການປ່ອຍທີ່ຫມັ້ນຄົງຫຼືພຽງແຕ່ counter ສໍາລັບການປ່ອຍການພັດທະນາ.
S ສະຖຽນລະພາບ. 0 ແມ່ນອັນຟາ, 1 ແມ່ນເບຕ້າ, ແລະ 2 ມີຄວາມໝັ້ນຄົງ. S ຄວນຈະເປັນ 2 ສະເໝີ ປປ
ແມ່ນແມ້ແຕ່.
XYYYZZZS ແມ່ນຄືກັນໃນທັງສອງສາຍຖ້າ xz ແລະ liblzma ແມ່ນມາຈາກການປ່ອຍ XZ Utils ດຽວກັນ.
ຕົວຢ່າງ: 4.999.9beta ແມ່ນ 49990091 ແລະ 5.0.0 ແມ່ນ 50000002.
ຫນ່ວຍຄວາມຈໍາ ກໍານົດຂອບເຂດ ຂໍ້ມູນຂ່າວສານ
xz -- ຫຸ່ນຍົນ --info-ຄວາມຊົງຈໍາ ພິມແຖວດຽວກັບສາມຖັນແຍກແຖບ:
1. ຈໍານວນທັງຫມົດຂອງຫນ່ວຍຄວາມຈໍາທາງດ້ານຮ່າງກາຍ (RAM) ໃນ bytes
2. ຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການບີບອັດໃນ bytes. ຄ່າພິເສດຂອງສູນສະແດງເຖິງ
ການຕັ້ງຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງສໍາລັບໂຫມດກະທູ້ດຽວແມ່ນຄືກັນກັບບໍ່ມີຂອບເຂດຈໍາກັດ.
3. ຈໍາກັດການໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການ decompression ໃນ bytes. ຄ່າພິເສດຂອງສູນສະແດງເຖິງ
ການຕັ້ງຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງສໍາລັບໂຫມດກະທູ້ດຽວແມ່ນຄືກັນກັບບໍ່ມີຂອບເຂດຈໍາກັດ.
ໃນອະນາຄົດ, ຜົນຜະລິດຂອງ xz -- ຫຸ່ນຍົນ --info-ຄວາມຊົງຈໍາ ອາດຈະມີຖັນຫຼາຍ, ແຕ່ບໍ່ເຄີຍ
ຫຼາຍກ່ວາເສັ້ນດຽວ.
ບັນຊີລາຍຊື່ ຮູບແບບການ
xz -- ຫຸ່ນຍົນ --ລາຍການ ໃຊ້ຜົນຜະລິດທີ່ແຍກແທັບ. ຖັນທຳອິດຂອງທຸກໆແຖວມີສະຕຣິງ
ທີ່ຊີ້ບອກປະເພດຂອງຂໍ້ມູນທີ່ພົບເຫັນຢູ່ໃນແຖວນັ້ນ:
ຊື່ ນີ້ແມ່ນເສັ້ນທຳອິດສະເໝີເມື່ອເລີ່ມລາຍການໄຟລ໌. ຖັນທີສອງກ່ຽວກັບ
ເສັ້ນແມ່ນຊື່ໄຟລ໌.
ເອກະສານ ເສັ້ນນີ້ປະກອບດ້ວຍຂໍ້ມູນໂດຍລວມກ່ຽວກັບ .xz ໄຟລ໌. ເສັ້ນນີ້ແມ່ນຢູ່ສະເຫມີ
ພິມອອກຫຼັງຈາກ ຊື່ ເສັ້ນ.
ນ້ໍາ ປະເພດເສັ້ນນີ້ຖືກນໍາໃຊ້ພຽງແຕ່ເມື່ອ -- verbose ໄດ້ລະບຸໄວ້. ມີຫຼາຍເທົ່າ ນ້ໍາ
ສາຍຍ້ອນວ່າມີສາຍນ້ໍາຢູ່ໃນ .xz ຍື່ນ.
block ປະເພດເສັ້ນນີ້ຖືກນໍາໃຊ້ພຽງແຕ່ເມື່ອ -- verbose ໄດ້ລະບຸໄວ້. ມີຫຼາຍເທົ່າ block
ສາຍຍ້ອນວ່າມີຕັນຢູ່ໃນ .xz ແຟ້ມ. ທ block ສາຍແມ່ນສະແດງໃຫ້ເຫັນຫຼັງຈາກທັງຫມົດ
ນ້ໍາ ສາຍ; ປະເພດເສັ້ນທີ່ແຕກຕ່າງກັນແມ່ນບໍ່ interleaved.
ສະຫຼຸບສັງລວມ
ປະເພດເສັ້ນນີ້ຖືກນໍາໃຊ້ພຽງແຕ່ເມື່ອ -- verbose ໄດ້ລະບຸໄວ້ສອງຄັ້ງ. ເສັ້ນນີ້ແມ່ນ
ພິມອອກຫຼັງຈາກທັງຫມົດ block ສາຍ. ເຊັ່ນດຽວກັນກັບ ເອກະສານ ເສັ້ນ, ໄດ້ ສະຫຼຸບສັງລວມ ເສັ້ນປະກອບມີ
ຂໍ້ມູນໂດຍລວມກ່ຽວກັບການ .xz ຍື່ນ.
ຈຳ ນວນທັງ ໝົດ ເສັ້ນນີ້ແມ່ນເສັ້ນສຸດທ້າຍຂອງຜົນຜະລິດລາຍຊື່ສະເໝີ. ມັນສະແດງໃຫ້ເຫັນຈໍານວນທັງຫມົດ
ນັບແລະຂະຫນາດ.
ຖັນຂອງ ເອກະສານ ສາຍ:
2. ຈໍານວນຂອງສາຍນ້ໍາໃນໄຟລ໌
3. ຈຳນວນທ່ອນໄມ້ທັງໝົດໃນກະແສ
4. ບີບອັດຂະຫນາດຂອງໄຟລ໌
5. ຂະຫນາດຂອງໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດ
6. ອັດຕາສ່ວນການບີບອັດ, ສໍາລັບການຍົກຕົວຢ່າງ 0.123. ຖ້າອັດຕາສ່ວນເກີນ 9.999, ສາມຂີດ
(---) ຖືກສະແດງແທນອັດຕາສ່ວນ.
7. ບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຊື່ກວດສອບຄວາມສົມບູນ. ສະຕຣິງຕໍ່ໄປນີ້ຖືກໃຊ້
ສໍາລັບປະເພດການກວດສອບທີ່ຮູ້ຈັກ: ບໍ່ມີ, CRC32, CRC64, ແລະ SHA-256. ສໍາລັບການກວດສອບທີ່ບໍ່ຮູ້ຈັກ
ປະເພດ, ບໍ່ຮູ້ຈັກ-N ຖືກນໍາໃຊ້, ບ່ອນທີ່ N ແມ່ນ check ID ເປັນເລກທົດສະນິຍົມ (ໜຶ່ງ ຫຼື
ສອງຕົວເລກ).
8. ຂະຫນາດທັງຫມົດຂອງ stream padding ໃນໄຟລ໌
ຖັນຂອງ ນ້ໍາ ສາຍ:
2. ເລກສະຕຣີມ (ສາຍທຳອິດແມ່ນ 1)
3. ຈໍານວນຂອງຕັນໃນນ້ໍາ
4. ການບີບອັດເລີ່ມຕົ້ນຊົດເຊີຍ
5. Uncompressed start offset
6. ຂະໜາດທີ່ບີບອັດ (ບໍ່ລວມເອົາກະແສໄຟຟ້າ)
7. ຂະຫນາດທີ່ບໍ່ຖືກບີບອັດ
8. ອັດຕາສ່ວນການບີບອັດ
9. ຊື່ການກວດສອບຄວາມສົມບູນ
10. ຂະຫນາດຂອງນ້ໍາ padding
ຖັນຂອງ block ສາຍ:
2. ຈໍານວນນ້ໍາທີ່ມີຕັນນີ້
3. ບລັອກຕົວເລກທີ່ກ່ຽວຂ້ອງກັບຈຸດເລີ່ມຕົ້ນຂອງກະແສ (ຕັນທຳອິດແມ່ນ 1)
4. ບລັອກຕົວເລກທີ່ກ່ຽວຂ້ອງກັບຈຸດເລີ່ມຕົ້ນຂອງໄຟລ໌
5. compressed start offset ທຽບກັບຈຸດເລີ່ມຕົ້ນຂອງໄຟລ໌
6. Uncompressed start offset ທຽບກັບຈຸດເລີ່ມຕົ້ນຂອງໄຟລ໌
7. ຂະໜາດບີບອັດທັງໝົດຂອງບລັອກ (ລວມທັງສ່ວນຫົວ)
8. ຂະຫນາດທີ່ບໍ່ຖືກບີບອັດ
9. ອັດຕາສ່ວນການບີບອັດ
10. ຊື່ການກວດສອບຄວາມສົມບູນ
If -- verbose ໄດ້ຖືກລະບຸສອງຄັ້ງ, ຖັນເພີ່ມເຕີມແມ່ນລວມຢູ່ໃນ block ສາຍ.
ສິ່ງເຫຼົ່ານີ້ບໍ່ໄດ້ສະແດງດ້ວຍອັນດຽວ -- verbose, ເນື່ອງຈາກວ່າການໄດ້ຮັບຂໍ້ມູນນີ້ຮຽກຮ້ອງໃຫ້ມີ
ຫຼາຍຄົນຊອກຫາແລະດັ່ງນັ້ນຈຶ່ງສາມາດຊ້າ:
11. ຄ່າຂອງການກວດສອບຄວາມຖືກຕ້ອງໃນເລກຖານສິບຫົກ
12. ບລັອກຂະໜາດຫົວ
13. ທຸງຕັນ: c ຊີ້ໃຫ້ເຫັນວ່າຂະຫນາດທີ່ຖືກບີບອັດແມ່ນມີຢູ່, ແລະ u ຊີ້ໃຫ້ເຫັນວ່າ
ຂະໜາດທີ່ບໍ່ໄດ້ບີບອັດແມ່ນມີຢູ່. ຖ້າບໍ່ໄດ້ຕັ້ງທຸງ, ຂີດຕໍ່ (-) ສະແດງໃຫ້ເຫັນ
ແທນທີ່ຈະຮັກສາຄວາມຍາວຂອງສະຕຣິງຄົງທີ່. ທຸງໃຫມ່ອາດຈະຖືກເພີ່ມໃສ່ໃນຕອນທ້າຍຂອງ
ສະຕິງໃນອະນາຄົດ.
14. ຂະຫນາດຂອງຂໍ້ມູນທີ່ຖືກບີບອັດຕົວຈິງໃນບລັອກ (ອັນນີ້ບໍ່ລວມບລັອກ
header, block padding, ແລະ check fields)
15. ຈໍານວນຫນ່ວຍຄວາມຈໍາ (ໃນ bytes) ທີ່ຕ້ອງການເພື່ອ decompress block ນີ້ດ້ວຍນີ້ xz
ສະບັບພາສາ
16. ຕ່ອງໂສ້ການກັ່ນຕອງ. ໃຫ້ສັງເກດວ່າຕົວເລືອກສ່ວນໃຫຍ່ທີ່ໃຊ້ໃນເວລາບີບອັດບໍ່ສາມາດເປັນໄດ້
ເປັນທີ່ຮູ້ຈັກ, ເພາະວ່າພຽງແຕ່ຕົວເລືອກທີ່ຈໍາເປັນສໍາລັບການບີບອັດຖືກເກັບໄວ້ໃນ
ໄດ້ .xz ສ່ວນຫົວ.
ຖັນຂອງ ສະຫຼຸບສັງລວມ ສາຍ:
2. ຈໍານວນຫນ່ວຍຄວາມຈໍາ (ໃນ bytes) ທີ່ຕ້ອງການເພື່ອ decompress ໄຟລ໌ນີ້ xz
ສະບັບພາສາ
3. yes or no ຊີ້ບອກວ່າຫົວບລັອກທັງໝົດມີທັງຂະໜາດບີບອັດ ແລະ
ຂະຫນາດທີ່ບໍ່ໄດ້ບີບອັດເກັບຮັກສາໄວ້ໃນພວກເຂົາ
ນັບຕັ້ງແຕ່ xz 5.1.2 ອັນຟາ:
4. ຕ່ ຳ ສຸດ xz ສະບັບທີ່ຕ້ອງການເພື່ອ decompress ໄຟລ໌
ຖັນຂອງ ຈຳ ນວນທັງ ໝົດ line:
2. ຈຳນວນສາຍນ້ຳ
3. ຈໍານວນຕັນ
4. ຂະຫນາດບີບອັດ
5. ຂະຫນາດທີ່ບໍ່ຖືກບີບອັດ
6. ອັດຕາສ່ວນການບີບອັດສະເລ່ຍ
7. ບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຊື່ກວດສອບຄວາມສົມບູນທີ່ມີຢູ່ໃນໄຟລ໌
8. Stream padding size
9. ຈໍານວນໄຟລ໌. ນີ້ແມ່ນຢູ່ທີ່ນີ້ເພື່ອຮັກສາຄໍາສັ່ງຂອງຖັນກ່ອນຫນ້ານີ້
ເຊັ່ນດຽວກັນກັບ ເອກະສານ ສາຍ.
If -- verbose ໄດ້ຖືກລະບຸສອງຄັ້ງ, ຖັນເພີ່ມເຕີມແມ່ນລວມຢູ່ໃນ ຈຳ ນວນທັງ ໝົດ line:
10. ຈໍານວນສູງສຸດຂອງຫນ່ວຍຄວາມຈໍາ (ໃນ bytes) ຕ້ອງການເພື່ອ decompress ໄຟລ໌ທີ່ມີນີ້
xz ສະບັບພາສາ
11. yes or no ຊີ້ບອກວ່າຫົວບລັອກທັງໝົດມີທັງຂະໜາດບີບອັດ ແລະ
ຂະຫນາດທີ່ບໍ່ໄດ້ບີບອັດເກັບຮັກສາໄວ້ໃນພວກເຂົາ
ນັບຕັ້ງແຕ່ xz 5.1.2 ອັນຟາ:
12. ຕ່ ຳ ສຸດ xz ສະບັບທີ່ຕ້ອງການເພື່ອ decompress ໄຟລ໌
ຮຸ່ນໃນອະນາຄົດອາດຈະເພີ່ມປະເພດເສັ້ນໃຫມ່ແລະຖັນໃຫມ່ສາມາດຖືກເພີ່ມໃສ່ແຖວທີ່ມີຢູ່ແລ້ວ
ປະເພດ, ແຕ່ຖັນທີ່ມີຢູ່ແລ້ວຈະບໍ່ມີການປ່ຽນແປງ.
ອອກ STATUS
0 ທັງ ໝົດ ແມ່ນດີ.
1 ເກີດຄວາມຜິດພາດ.
2 ບາງສິ່ງບາງຢ່າງທີ່ມີຄ່າເປັນການເຕືອນໄພໄດ້ເກີດຂຶ້ນ, ແຕ່ວ່າບໍ່ມີຄວາມຜິດພາດທີ່ແທ້ຈິງເກີດຂຶ້ນ.
ແຈ້ງການ (ບໍ່ແມ່ນຄໍາເຕືອນຫຼືຄວາມຜິດພາດ) ທີ່ພິມໃນຄວາມຜິດພາດມາດຕະຖານບໍ່ມີຜົນຕໍ່ສະຖານະການອອກ.
ENVIRONMENT
xz parses ບັນຊີລາຍຊື່ທີ່ແຍກຕ່າງຫາກ space ຂອງທາງເລືອກຈາກຕົວແປສະພາບແວດລ້ອມ XZ_DEFAULTS ແລະ
XZ_OPT, ໃນຄໍາສັ່ງນີ້, ກ່ອນທີ່ຈະແຍກທາງເລືອກຈາກເສັ້ນຄໍາສັ່ງ. ໃຫ້ສັງເກດວ່າພຽງແຕ່
ທາງເລືອກແມ່ນໄດ້ແຍກຈາກຕົວແປສະພາບແວດລ້ອມ; ຕົວເລືອກທີ່ບໍ່ແມ່ນທັງໝົດແມ່ນຖືກລະເລີຍຢ່າງງຽບໆ.
ການແຍກວິເຄາະແມ່ນເຮັດດ້ວຍ getopt_long(3) ເຊິ່ງໃຊ້ສໍາລັບການໂຕ້ຖຽງແຖວຄໍາສັ່ງ.
XZ_DEFAULTS
ຕົວເລືອກເລີ່ມຕົ້ນສະເພາະຜູ້ໃຊ້ ຫຼືທົ່ວລະບົບ. ໂດຍປົກກະຕິ, ມັນຖືກຕັ້ງຢູ່ໃນເປືອກ
script ການເລີ່ມຕົ້ນເພື່ອເປີດໃຊ້ງານ xzຈໍາກັດການໃຊ້ຄວາມຈໍາຂອງໂດຍຄ່າເລີ່ມຕົ້ນ. ບໍ່ລວມ
Shell scripts ເລີ່ມຕົ້ນແລະກໍລະນີພິເສດທີ່ຄ້າຍຄືກັນ, scripts ບໍ່ເຄີຍກໍານົດຫຼື
ກຳ ນົດ XZ_DEFAULTS.
XZ_OPT ນີ້ແມ່ນສໍາລັບການຖ່າຍທອດທາງເລືອກໃນການ xz ໃນເວລາທີ່ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະກໍານົດທາງເລືອກ
ໂດຍກົງໃນ xz ເສັ້ນຄໍາສັ່ງ. ນີ້ແມ່ນກໍລະນີເຊັ່ນ: ໃນເວລາທີ່ xz ແມ່ນດໍາເນີນການໂດຍ script
ຫຼືເຄື່ອງມື, ເຊັ່ນ: GNU tar(1):
XZ_OPT=-2v tar caf foo.tar.xz foo
ສະຄຣິບອາດຈະໃຊ້ XZ_OPT e.g. ເພື່ອກໍານົດຕົວເລືອກການບີບອັດໃນຕອນຕົ້ນສະເພາະສະຄຣິບ. ມັນ
ຍັງແນະນໍາໃຫ້ຜູ້ໃຊ້ສາມາດ override ໄດ້ XZ_OPT ຖ້າມັນສົມເຫດສົມຜົນ, ຕົວຢ່າງ
in sh(1) scripts ຫນຶ່ງອາດຈະໃຊ້ບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:
XZ_OPT=${XZ_OPT-"-7e"}
ສົ່ງອອກ XZ_OPT
LZMA UTILS ຄວາມເຂົ້າກັນໄດ້
syntax ເສັ້ນຄໍາສັ່ງຂອງ xz ຕົວຈິງແລ້ວແມ່ນ superset ຂອງ lzma, unlzma, ແລະ lzcat as
ພົບຈາກ LZMA Utils 4.32.x. ໃນກໍລະນີຫຼາຍທີ່ສຸດ, ມັນເປັນໄປໄດ້ທີ່ຈະທົດແທນ LZMA Utils ດ້ວຍ XZ
Utils ໂດຍບໍ່ມີການທໍາລາຍສະຄິບທີ່ມີຢູ່ແລ້ວ. ມີຄວາມບໍ່ເຂົ້າກັນບາງຢ່າງ, ທີ່
ບາງຄັ້ງອາດຈະເຮັດໃຫ້ເກີດບັນຫາ.
ການບີບອັດ ຕັ້ງໄວ້ລ່ວງ ໜ້າ ລະດັບ
ຕົວເລກຂອງ presets ລະດັບ compression ແມ່ນບໍ່ຄືກັນໃນ xz ແລະ LZMA Utils. ໄດ້
ຄວາມແຕກຕ່າງທີ່ ສຳ ຄັນທີ່ສຸດແມ່ນວິທີການຂະ ໜາດ ວັດຈະນານຸກົມຖືກແຜນທີ່ກັບ presets ທີ່ແຕກຕ່າງກັນ.
ຂະຫນາດວັດຈະນານຸກົມແມ່ນປະມານເທົ່າກັບການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ decompressor.
ລະດັບ xz LZMA Utils
-0 256 KiB N/A
-1 1 MiB 64 KiB
-2 2 MiB 1 MiB
-3 4 MiB 512 KiB
-4 4 MiB 1 MiB
-5 8 MiB 2 MiB
-6 8 MiB 4 MiB
-7 16 MiB 8 MiB
-8 32 MiB 16 MiB
-9 64 MiB 32 MiB
ຄວາມແຕກຕ່າງຂອງຂະ ໜາດ ວັດຈະນານຸກົມມີຜົນຕໍ່ການໃຊ້ຄວາມຊົງ ຈຳ ຂອງເຄື່ອງບີບອັດ, ແຕ່ມີບາງອັນ
ຄວາມແຕກຕ່າງອື່ນໆລະຫວ່າງ LZMA Utils ແລະ XZ Utils, ເຊິ່ງເຮັດໃຫ້ຄວາມແຕກຕ່າງທີ່ໃຫຍ່ກວ່າ:
ລະດັບ xz LZMA Utils 4.32.x
-0 3 MiB N/A
-1 9 MiB 2 MiB
-2 17 MiB 12 MiB
-3 32 MiB 12 MiB
-4 48 MiB 16 MiB
-5 94 MiB 26 MiB
-6 94 MiB 45 MiB
-7 186 MiB 83 MiB
-8 370 MiB 159 MiB
-9 674 MiB 311 MiB
ລະດັບການຕັ້ງຄ່າໄວ້ໃນຕອນຕົ້ນໃນ LZMA Utils ແມ່ນ -7 ໃນຂະນະທີ່ຢູ່ໃນ XZ Utils ມັນແມ່ນ -6ດັ່ງນັ້ນທັງສອງໃຊ້ 8
ວັດຈະນານຸກົມ MiB ໂດຍຄ່າເລີ່ມຕົ້ນ.
ສາຍນ້ ຳ ທຽບ ບໍ່ໄດ້ຖ່າຍທອດ .lzma ໄຟ
ຂະຫນາດທີ່ບໍ່ໄດ້ບີບອັດຂອງໄຟລ໌ສາມາດຖືກເກັບໄວ້ໃນ .lzma ສ່ວນຫົວ. LZMA Utils ເຮັດແນວນັ້ນ
ເມື່ອບີບອັດໄຟລ໌ປົກກະຕິ. ທາງເລືອກແມ່ນເພື່ອຫມາຍວ່າຂະຫນາດທີ່ບໍ່ໄດ້ບີບອັດແມ່ນ
ບໍ່ຮູ້ຈັກ ແລະໃຊ້ເຄື່ອງໝາຍການສົ່ງເງິນປາຍທາງເພື່ອຊີ້ບອກບ່ອນທີ່ເຄື່ອງ decompressor ຄວນຢຸດ.
LZMA Utils ໃຊ້ວິທີນີ້ເມື່ອບໍ່ຮູ້ຂະໜາດທີ່ບໍ່ໄດ້ບີບອັດ, ເຊິ່ງເປັນກໍລະນີ
ຕົວຢ່າງໃນທໍ່.
xz ສະຫນັບສະຫນູນ decompressing .lzma ໄຟລ໌ທີ່ມີ ຫຼືບໍ່ມີເຄື່ອງໝາຍສິ້ນສຸດການຈ່າຍ, ແຕ່ທັງໝົດ .lzma
ໄຟລ໌ທີ່ສ້າງຂຶ້ນໂດຍ xz ຈະໃຊ້ເຄື່ອງໝາຍ end-of-payload ແລະ ມີຂະໜາດທີ່ບໍ່ໄດ້ບີບອັດໝາຍເປັນ
ບໍ່ຮູ້ຈັກໃນ .lzma ສ່ວນຫົວ. ນີ້ອາດຈະເປັນບັນຫາໃນບາງສະຖານະການທີ່ບໍ່ທໍາມະດາ. ສໍາລັບ
ຕົວຢ່າງ, a .lzma decompressor ໃນອຸປະກອນຝັງອາດຈະເຮັດວຽກພຽງແຕ່ກັບໄຟລ໌ທີ່ມີ
ຂະໜາດທີ່ບໍ່ຖືກບີບອັດທີ່ຮູ້ຈັກ. ຖ້າທ່ານປະສົບບັນຫານີ້, ທ່ານຈໍາເປັນຕ້ອງໃຊ້ LZMA Utils ຫຼື LZMA SDK
ເພື່ອສ້າງ .lzma ໄຟລ໌ທີ່ຮູ້ຈັກຂະຫນາດທີ່ບໍ່ຖືກບີບອັດ.
ບໍ່ສະຫນັບສະຫນູນ .lzma ໄຟ
ໄດ້ .lzma ຮູບແບບອະນຸຍາດໃຫ້ lc ຄ່າສູງເຖິງ 8, ແລະ lp ຄ່າສູງເຖິງ 4. LZMA Utils ສາມາດ
decompress ໄຟລ໌ດ້ວຍອັນໃດ lc ແລະ lp, ແຕ່ສະເຫມີສ້າງໄຟລ໌ທີ່ມີ lc=3 ແລະ lp=0.
ການສ້າງໄຟລ໌ກັບອື່ນໆ lc ແລະ lp ເປັນໄປໄດ້ກັບ xz ແລະດ້ວຍ LZMA SDK.
ການປະຕິບັດຕົວກອງ LZMA1 ໃນ liblzma ຮຽກຮ້ອງໃຫ້ຜົນລວມຂອງ lc ແລະ lp ຕ້ອງ
ບໍ່ເກີນ 4. ດັ່ງນັ້ນ, .lzma ໄຟລ໌ທີ່ເກີນຂອບເຂດຈໍາກັດນີ້, ບໍ່ສາມາດຖືກບີບອັດໄດ້
ກັບ xz.
LZMA Utils ສ້າງພຽງແຕ່ .lzma ໄຟລ໌ທີ່ມີຂະຫນາດວັດຈະນານຸກົມຂອງ 2^n (ພະລັງງານຂອງ 2) ແຕ່
ຍອມຮັບໄຟລ໌ທີ່ມີຂະຫນາດວັດຈະນານຸກົມໃດນຶ່ງ. liblzma ຍອມຮັບພຽງແຕ່ .lzma ໄຟລ໌ທີ່ມີ a
ຂະໜາດວັດຈະນານຸກົມຂອງ 2^n ຫຼື 2^n + 2^(n-1). ນີ້ແມ່ນເພື່ອຫຼຸດລົງໃນທາງບວກທີ່ບໍ່ຖືກຕ້ອງໃນເວລາທີ່
ການຊອກຄົ້ນຫາ .lzma ໄຟລ໌.
ຂໍ້ຈໍາກັດເຫຼົ່ານີ້ບໍ່ຄວນຈະເປັນບັນຫາໃນການປະຕິບັດ, ນັບຕັ້ງແຕ່ການປະຕິບັດທັງຫມົດ .lzma ໄຟ
ໄດ້ຖືກບີບອັດດ້ວຍການຕັ້ງຄ່າທີ່ liblzma ຈະຍອມຮັບ.
Trailing ຂີ້ເຫຍື້ອ
ໃນເວລາທີ່ decompressing, LZMA Utils silently ignore ທຸກສິ່ງທຸກຢ່າງຫຼັງຈາກທໍາອິດ .lzma stream
ໃນສະຖານະການສ່ວນໃຫຍ່, ນີ້ແມ່ນແມງໄມ້. ນີ້ຍັງຫມາຍຄວາມວ່າ LZMA Utils ບໍ່ສະຫນັບສະຫນູນ
decompressing concatenated .lzma ໄຟລ໌.
ຖ້າມີຂໍ້ມູນປະໄວ້ຫຼັງຈາກທໍາອິດ .lzma ກະແສ, xz ຖືວ່າໄຟລ໌ເສຍຫາຍ
ເວັ້ນເສຍແຕ່ວ່າ -- ກະແສດຽວ ຖືກນໍາໃຊ້. ນີ້ອາດຈະທໍາລາຍສະຄິບທີ່ບໍ່ຊັດເຈນທີ່ສົມມຸດວ່າ
ຂີ້ເຫຍື້ອຕາມຫຼັງແມ່ນຖືກລະເລີຍ.
ຫມາຍເຫດ
ບີບອັດ output ອາດຈະ ແຕກຕ່າງກັນ
ຜົນຜະລິດທີ່ຖືກບີບອັດທີ່ແນ່ນອນທີ່ຜະລິດຈາກໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດດຽວກັນອາດຈະແຕກຕ່າງກັນ
ລະຫວ່າງລຸ້ນ XZ Utils ເຖິງແມ່ນວ່າຕົວເລືອກການບີບອັດແມ່ນຄືກັນ. ນີ້ແມ່ນຍ້ອນວ່າ
ຕົວເຂົ້າລະຫັດສາມາດໄດ້ຮັບການປັບປຸງ (ການບີບອັດໄວຫຼືດີກວ່າ) ໂດຍບໍ່ມີຜົນກະທົບຕໍ່ຮູບແບບໄຟລ໌.
ຜົນຜະລິດສາມາດແຕກຕ່າງກັນເຖິງແມ່ນວ່າລະຫວ່າງການກໍ່ສ້າງທີ່ແຕກຕ່າງກັນຂອງ XZ Utils ຮຸ່ນດຽວກັນ, ຖ້າ
ທາງເລືອກການກໍ່ສ້າງທີ່ແຕກຕ່າງກັນຖືກນໍາໃຊ້.
ຂ້າງເທິງນີ້ຫມາຍຄວາມວ່າການປະຕິບັດ --syncable ເພື່ອສ້າງ rsyncable .xz ໄຟລ໌ບໍ່ໄປ
ທີ່ຈະເກີດຂຶ້ນໂດຍບໍ່ມີການ freezing ສ່ວນຫນຶ່ງຂອງການປະຕິບັດຕົວເຂົ້າລະຫັດ, ເຊິ່ງຫຼັງຈາກນັ້ນສາມາດຖືກນໍາໃຊ້
ກັບ --syncable.
ຝັງ .xz decompressors
ຝັງ .xz ການປະຕິບັດ decompressor ເຊັ່ນ XZ Embedded ບໍ່ຈໍາເປັນຕ້ອງສະຫນັບສະຫນູນໄຟລ໌
ສ້າງດ້ວຍຄວາມຊື່ສັດ ໃຫ້ກວດເບິ່ງ ປະເພດອື່ນນອກຈາກ none ແລະ crc32. ນັບຕັ້ງແຕ່ຄ່າເລີ່ມຕົ້ນແມ່ນ
--check=crc64, ເຈົ້າຕ້ອງໃຊ້ --check=none or --check=crc32 ເມື່ອສ້າງໄຟລ໌ສໍາລັບການຝັງ
ລະບົບ.
ພາຍນອກລະບົບຝັງ, ທັງຫມົດ .xz decompressors ຮູບແບບສະຫນັບສະຫນູນທັງຫມົດ ໃຫ້ກວດເບິ່ງ ປະເພດ, ຫຼືຢູ່
ຢ່າງຫນ້ອຍສາມາດ decompress ໄຟລ໌ໂດຍບໍ່ມີການກວດສອບຄວາມຖືກຕ້ອງຂອງການກວດສອບຖ້າຫາກວ່າໄດ້
ໂດຍສະເພາະ ໃຫ້ກວດເບິ່ງ ບໍ່ໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ.
XZ Embedded ຮອງຮັບຕົວກອງ BCJ, ແຕ່ວ່າພຽງແຕ່ມີການຊົດເຊີຍເລີ່ມຕົ້ນເລີ່ມຕົ້ນເທົ່ານັ້ນ.
ຕົວຢ່າງ
ຄວາມຮູ້ພື້ນຖານ
ບີບອັດໄຟລ໌ ຟູ ເຂົ້າໄປໃນ foo.xz ການນໍາໃຊ້ລະດັບການບີບອັດເລີ່ມຕົ້ນ (-6), ແລະເອົາອອກ ຟູ
ຖ້າການບີບອັດສຳເລັດ:
xz ໂຟ
Decompress bar.xz ເຂົ້າໄປໃນ ພາທະນາຍຄວາມ ແລະຢ່າເອົາອອກ bar.xz ເຖິງແມ່ນວ່າການບີບອັດຈະປະສົບຜົນສໍາເລັດ:
xz -dk bar.xz
ສ້າງ baz.tar.xz ກັບ preset ໄດ້ -4e (-4 -- ທີ່ສຸດ), ເຊິ່ງຊ້າກວ່າຕົວຢ່າງເຊັ່ນ
Default -6, ແຕ່ຕ້ອງການຫນ່ວຍຄວາມຈໍາຫນ້ອຍສໍາລັບການບີບອັດແລະການບີບອັດ (48 MiB ແລະ 5 MiB,
ຕາມລໍາດັບ):
tar cf - baz | xz -4e > baz.tar.xz
ການປະສົມຂອງໄຟລ໌ທີ່ຖືກບີບອັດແລະບໍ່ຖືກບີບອັດສາມາດ decompressed ເປັນຜົນຜະລິດມາດຕະຖານດ້ວຍ a
ຄໍາສັ່ງດຽວ:
xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt
ຂະຫນານ compression of ຈໍານວນຫຼາຍ ໄຟ
ໃນ GNU ແລະ *BSD, ຊອກຫາ(1) ແລະ xargs(1) ສາມາດນໍາໃຊ້ເພື່ອ parallelize compression ຂອງຈໍານວນຫຼາຍ
ແຟ້ມ:
ຊອກຫາ. -type f \! -ຊື່ '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1
ໄດ້ -P ທາງເລືອກທີ່ຈະ xargs(1) ກໍານົດຈໍານວນຂອງຂະຫນານ xz ຂະບວນການ. ມູນຄ່າທີ່ດີທີ່ສຸດສໍາລັບ
ໄດ້ -n ທາງເລືອກແມ່ນຂຶ້ນກັບຈໍານວນຫຼາຍໄຟລ໌ທີ່ຈະຖືກບີບອັດ. ຖ້າມີພຽງແຕ່ a
ຄູ່ຂອງໄຟລ໌, ມູນຄ່າຄວນຈະເປັນ 1; ມີຫຼາຍສິບພັນໄຟລ໌, 100 ຫຼື
ແມ້ກະທັ້ງຫຼາຍອາດຈະເຫມາະສົມທີ່ຈະຫຼຸດຜ່ອນຈໍານວນຂອງ xz ຂະບວນການນັ້ນ xargs(1) ຈະ
ໃນທີ່ສຸດສ້າງ.
ທາງເລືອກ 1 ສໍາລັບການ xz ຢູ່ທີ່ນັ້ນເພື່ອບັງຄັບມັນໄປສູ່ໂຫມດກະທູ້ດຽວ, ເພາະວ່າ xargs(ປີ 1) ແມ່ນ
ໃຊ້ເພື່ອຄວບຄຸມປະລິມານຂະໜານ.
ຫຸ່ນຍົນ ຮູບແບບການ
ຄິດໄລ່ຈໍານວນ bytes ໄດ້ຖືກບັນທຶກໄວ້ໃນຈໍານວນທັງຫມົດຫຼັງຈາກການບີບອັດຫຼາຍໄຟລ໌:
xz --robot --list *.xz | awk '/^totals/{print $5-$4}'
script ອາດຕ້ອງການຮູ້ວ່າມັນກໍາລັງໃຊ້ໃຫມ່ພຽງພໍ xz. ຕໍ່ໄປນີ້ sh(1) script
ກວດເບິ່ງວ່າຈໍານວນສະບັບຂອງ xz ເຄື່ອງມືແມ່ນຢ່າງຫນ້ອຍ 5.0.0. ວິທີການນີ້ແມ່ນ
ເຂົ້າກັນໄດ້ກັບລຸ້ນເບຕ້າເກົ່າ, ເຊິ່ງບໍ່ຮອງຮັບ -- ຫຸ່ນຍົນ ຕົວເລືອກ:
ຖ້າ ! eval "$(xz --robot --version 2> /dev/null)" ||
[ "$XZ_VERSION" -lt 50000002 ]; ແລ້ວ
echo "xz ຂອງທ່ານເກົ່າເກີນໄປ."
fi
ບໍ່ໄດ້ຕັ້ງ XZ_VERSION LIBLZMA_VERSION
ກໍານົດຂອບເຂດຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການ decompression ການນໍາໃຊ້ XZ_OPT, ແຕ່ຖ້າມີຂອບເຂດຈໍາກັດແລ້ວ
ຕັ້ງ, ຢ່າເພີ່ມມັນ:
NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --robot --info-memory | cut -f3)
ຖ້າ [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; ແລ້ວ
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
ສົ່ງອອກ XZ_OPT
fi
Custom ເຄື່ອງອັດ ການກັ່ນຕອງ chains
ການນໍາໃຊ້ທີ່ງ່າຍດາຍທີ່ສຸດສໍາລັບຕ່ອງໂສ້ການກັ່ນຕອງແບບກໍາຫນົດເອງແມ່ນການປັບແຕ່ງ LZMA2 preset. ນີ້ສາມາດເປັນ
ທີ່ເປັນປະໂຫຍດ, ເນື່ອງຈາກວ່າ presets ກວມເອົາພຽງແຕ່ຊຸດຍ່ອຍຂອງການປະສົມປະສານທີ່ເປັນປະໂຫຍດຂອງ
ການຕັ້ງຄ່າການບີບອັດ.
ຖັນ CompCPU ຂອງຕາຕະລາງຈາກຄໍາອະທິບາຍຂອງທາງເລືອກ -0 ... -9 ແລະ
-- ທີ່ສຸດ ມີປະໂຫຍດໃນເວລາປັບແຕ່ງ LZMA2 presets. ນີ້ແມ່ນພາກສ່ວນທີ່ກ່ຽວຂ້ອງ
ລວບລວມຈາກສອງຕາຕະລາງນັ້ນ:
Preset CompCPU
-0 0 XNUMX
-1 1 XNUMX
-2 2 XNUMX
-3 3 XNUMX
-4 4 XNUMX
-5 5 XNUMX
-6 6 XNUMX
-5e 7
-6e 8
ຖ້າຫາກວ່າທ່ານຮູ້ວ່າໄຟລ໌ຕ້ອງການຈະນານຸກົມຂະຫນາດໃຫຍ່ (ເຊັ່ນ 32 MiB) ເພື່ອອັດໄດ້ດີ,
ແຕ່ທ່ານຕ້ອງການບີບອັດໄວກວ່າ xz -8 ຈະເຮັດແນວໃດ, preset ທີ່ມີຄ່າ CompCPU ຕ່ໍາ
(ເຊັ່ນ: 1) ສາມາດດັດແກ້ເພື່ອໃຊ້ວັດຈະນານຸກົມໃຫຍ່ກວ່າ:
xz --lzma2=preset=1,dict=32MiB foo.tar
ດ້ວຍໄຟລ໌ທີ່ແນ່ນອນ, ຄໍາສັ່ງຂ້າງເທິງອາດຈະໄວກວ່າ xz -6 ໃນຂະນະທີ່ກໍາລັງບີບອັດ
ດີຂຶ້ນຢ່າງຫຼວງຫຼາຍ. ຢ່າງໃດກໍ່ຕາມ, ມັນຕ້ອງໄດ້ຮັບການເນັ້ນຫນັກວ່າພຽງແຕ່ບາງໄຟລ໌ໄດ້ຮັບຜົນປະໂຫຍດຈາກ a
ວັດຈະນານຸກົມໃຫຍ່ໃນຂະນະທີ່ຮັກສາຄ່າ CompCPU ຕໍ່າ. ສະຖານະການທີ່ຈະແຈ້ງທີ່ສຸດ, ບ່ອນທີ່ ກ
ວັດຈະນານຸກົມໃຫຍ່ສາມາດຊ່ວຍໄດ້ຫຼາຍ, ເປັນບ່ອນເກັບມ້ຽນທີ່ປະກອບດ້ວຍໄຟລ໌ທີ່ຄ້າຍຄືກັນຫຼາຍຢ່າງຫນ້ອຍ a
ບໍ່ຫຼາຍປານໃດ megabytes ແຕ່ລະຄົນ. ຂະໜາດວັດຈະນານຸກົມຈະຕ້ອງໃຫຍ່ກວ່າອັນໃດອັນໜຶ່ງ
ໄຟລ໌ສ່ວນບຸກຄົນເພື່ອໃຫ້ LZMA2 ໃຊ້ປະໂຫຍດອັນເຕັມທີ່ຂອງຄວາມຄ້າຍຄືກັນລະຫວ່າງ
ໄຟລ໌ຕິດຕໍ່ກັນ.
ຖ້າ compressor ສູງຫຼາຍແລະ decompressor ການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາແມ່ນດີ, ແລະໄຟລ໌ເປັນ
ການບີບອັດແມ່ນຢ່າງຫນ້ອຍຫຼາຍຮ້ອຍ megabytes, ມັນອາດຈະເປັນປະໂຫຍດທີ່ຈະໃຊ້ຂະຫນາດໃຫຍ່ກວ່າ
ວັດຈະນານຸກົມກ່ວາ 64 MiB ນັ້ນ xz -9 ຈະນໍາໃຊ້:
xz -vv --lzma2=dict=192MiB big_foo.tar
ການນໍາໃຊ້ -vv (-- verbose -- verbose) ເຊັ່ນໃນຕົວຢ່າງຂ້າງເທິງສາມາດເປັນປະໂຫຍດເພື່ອເບິ່ງຄວາມຊົງຈໍາ
ຄວາມຕ້ອງການຂອງເຄື່ອງອັດແລະ decompressor. ຈື່ໄວ້ວ່າໃຊ້ວັດຈະນານຸກົມໃຫຍ່ກວ່າ
ຫຼາຍກ່ວາຂະຫນາດຂອງໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດແມ່ນເສຍຄວາມຈໍາ, ດັ່ງນັ້ນຄໍາສັ່ງຂ້າງເທິງບໍ່ແມ່ນ
ທີ່ເປັນປະໂຫຍດສໍາລັບໄຟລ໌ຂະຫນາດນ້ອຍ.
ບາງຄັ້ງເວລາບີບອັດບໍ່ສໍາຄັນ, ແຕ່ການໃຊ້ຫນ່ວຍຄວາມຈໍາ decompressor ຕ້ອງມີ
ເກັບຮັກສາໄວ້ຕ່ໍາເຊັ່ນເພື່ອເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະ decompress ໄຟລ໌ໃນລະບົບຝັງ. ໄດ້
ການນໍາໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້ -6e (-6 -- ທີ່ສຸດ) ເປັນພື້ນຖານແລະກໍານົດວັດຈະນານຸກົມພຽງແຕ່
64 ກິບ. ໄຟລ໌ຜົນໄດ້ຮັບສາມາດຖືກບີບອັດດ້ວຍ XZ Embedded (ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າມີ
--check=crc32) ການນໍາໃຊ້ປະມານ 100 KiB ຂອງຫນ່ວຍຄວາມຈໍາ.
xz --check=crc32 --lzma2=preset=6e,dict=64KiB foo
ຖ້າທ່ານຕ້ອງການທີ່ຈະບີບອອກຫຼາຍ bytes ເທົ່າທີ່ເປັນໄປໄດ້, ປັບຈໍານວນຕົວຫນັງສື
ບໍລິບົດບິດ (lc) ແລະຈໍານວນຕໍາແຫນ່ງ bits (pb) ບາງຄັ້ງສາມາດຊ່ວຍໄດ້. ການປັບ
ຈໍານວນຂອງຕໍາແຫນ່ງຕົວອັກສອນ (lp) ອາດຈະຊ່ວຍໄດ້ເຊັ່ນດຽວກັນ, ແຕ່ໂດຍປົກກະຕິ lc ແລະ pb ມີຫຼາຍ
ສຳຄັນ. ເຊັ່ນ: ແຟ້ມຈັດເກັບລະຫັດແຫຼ່ງສ່ວນໃຫຍ່ແມ່ນມີຂໍ້ຄວາມ US-ASCII, ດັ່ງນັ້ນບາງສິ່ງບາງຢ່າງເຊັ່ນ:
ຕໍ່ໄປນີ້ອາດຈະໃຫ້ພຽງເລັກນ້ອຍ (ເຊັ່ນ: 0.1 %) ໄຟລ໌ຂະຫນາດນ້ອຍກ່ວາ xz -6e (ພະຍາຍາມເຊັ່ນດຽວກັນໂດຍບໍ່ມີການ
lc=4):
xz --lzma2=preset=6e,pb=0,lc=4 source_code.tar
ການໃຊ້ຕົວກອງອື່ນຮ່ວມກັບ LZMA2 ສາມາດປັບປຸງການບີບອັດດ້ວຍໄຟລ໌ບາງປະເພດ.
ເຊັ່ນ: ເພື່ອບີບອັດຫ້ອງສະໝຸດທີ່ແບ່ງປັນ x86-32 ຫຼື x86-64 ໂດຍໃຊ້ຕົວກອງ x86 BCJ:
xz --x86 --lzma2 libfoo.so
ໃຫ້ສັງເກດວ່າຄໍາສັ່ງຂອງຕົວເລືອກການກັ່ນຕອງແມ່ນສໍາຄັນ. ຖ້າ --x86 ແມ່ນລະບຸໄວ້ຫຼັງຈາກ
--lzma2, xz ຈະໃຫ້ຄວາມຜິດພາດ, ເພາະວ່າບໍ່ສາມາດມີການກັ່ນຕອງໃດໆຫຼັງຈາກ LZMA2, ແລະເຊັ່ນດຽວກັນ
ເນື່ອງຈາກວ່າຕົວກອງ x86 BCJ ບໍ່ສາມາດໃຊ້ເປັນຕົວກອງສຸດທ້າຍໃນຕ່ອງໂສ້.
ການກັ່ນຕອງ Delta ຮ່ວມກັບ LZMA2 ສາມາດໃຫ້ຜົນໄດ້ຮັບທີ່ດີກັບຮູບພາບ bitmap. ມັນຄວນ
ປົກກະຕິແລ້ວຕີ PNG, ທີ່ມີຕົວກອງທີ່ກ້າວຫນ້າຫຼາຍກ່ວາ delta ງ່າຍໆແຕ່ໃຊ້ Deflate
ສໍາລັບການບີບອັດຕົວຈິງ.
ຮູບພາບຕ້ອງໄດ້ຮັບການບັນທຶກໄວ້ໃນຮູບແບບທີ່ບໍ່ໄດ້ບີບອັດ, ເຊັ່ນວ່າ TIFF ທີ່ບໍ່ຖືກບີບອັດ. ໄລຍະຫ່າງ
ພາລາມິເຕີຂອງການກັ່ນຕອງ Delta ຖືກກໍານົດໃຫ້ກົງກັບຈໍານວນ bytes ຕໍ່ pixels ໃນຮູບ.
ເຊັ່ນວ່າ 24-bit RGB bitmap ຕ້ອງການ dist=3, ແລະມັນຍັງດີທີ່ຈະຜ່ານ pb=0 ກັບ LZMA2 ກັບ
ຮອງຮັບການຈັດຮຽງສາມໄບ:
xz --delta=dist=3 --lzma2=pb=0 foo.tiff
ຖ້າຫາກວ່າຫຼາຍຮູບພາບໄດ້ຮັບການເອົາເຂົ້າໄປໃນການເກັບຮັກສາດຽວ (eg .tar), ການກັ່ນຕອງ Delta ຈະ
ເຮັດວຽກກ່ຽວກັບການເຊັ່ນດຽວກັນຕາບໃດຮູບພາບທັງຫມົດມີຈໍານວນດຽວກັນຂອງ bytes ຕໍ່ pixels ລວງ.
ໃຊ້ xzcat ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net