新聞中心
LZMA是一種高效的數(shù)據(jù)壓縮算法,它可以將數(shù)據(jù)壓縮到很小的體積,并且還能保持壓縮后的數(shù)據(jù)完整性。LZMA算法得到了廣泛的應(yīng)用,尤其是在Linux系統(tǒng)中。不過(guò),如果你在Linux系統(tǒng)下面還不知道如何使用LZMA解壓縮文件,那么本文將為你提供詳細(xì)的教程。

專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)三明免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
LZMA文件格式
LZMA文件通常以“.lzma”為擴(kuò)展名,并且它們可以在Linux系統(tǒng)上進(jìn)行處理。用戶可以使用LZMA壓縮算法將文件壓縮成.lzma格式,以便于在網(wǎng)絡(luò)上傳輸或存儲(chǔ)。一些軟件程序也使用LZMA文件格式,比如Ubuntu的.deb安裝包就使用了LZMA算法進(jìn)行壓縮。
Linux系統(tǒng)使用LZMA解壓縮文件的方法
在Linux系統(tǒng)上,LZMA解壓縮文件可以使用兩種方法:使用LZMA工具或使用命令行工具tar。下面分別介紹這兩種方法的具體步驟。
使用LZMA工具解壓縮
LZMA工具包是一個(gè)開(kāi)源軟件,它可以用于在Linux系統(tǒng)上壓縮和解壓縮LZMA格式的文件。如果你想在Linux系統(tǒng)上使用LZMA工具進(jìn)行解壓縮,你需要遵循以下步驟:
1. 打開(kāi)終端:進(jìn)入LZMA文件所在的目錄,右擊目錄的空白處可以選擇“打開(kāi)終端”或者“打開(kāi)命令行窗口”。
2. 安裝LZMA工具:如果你的Linux系統(tǒng)中沒(méi)有安裝LZMA工具,你需要先安裝它。在Ubuntu系統(tǒng)中,你可以使用以下命令在終端中安裝LZMA:
sudo apt-get install xz-utils
3. 解壓LZMA文件:在終端中輸入以下命令行代碼:
unxz filename.lzma
其中,filename.lzma是你需要解壓縮的文件名。當(dāng)你運(yùn)行以上命令后,LZMA工具會(huì)解壓縮該文件并在同一目錄下生成一個(gè)新的未壓縮文件。
使用tar命令行工具解壓縮
tar命令行工具是一種強(qiáng)大的文件壓縮和解壓縮工具,它可以用來(lái)創(chuàng)建.tar和.tar.gz格式的壓縮文件。在Linux系統(tǒng)中,tar命令行工具可以用來(lái)解壓縮LZMA文件。如果你想在Linux系統(tǒng)上使用tar工具進(jìn)行解壓縮,你需要遵循以下步驟:
1. 打開(kāi)終端:進(jìn)入LZMA文件所在的目錄,并打開(kāi)終端。
2. 解壓LZMA文件:在終端中輸入以下命令行代碼:
tar -xJvf filename.lzma
當(dāng)你運(yùn)行以上命令后,tar命令行工具會(huì)解壓縮該文件并在同一目錄下生成一個(gè)新的未壓縮文件。
如果你想在Linux系統(tǒng)下解壓縮LZMA文件,這兩種方法都非常實(shí)用且有效。使用LZMA工具的方法適用于需要在Linux系統(tǒng)中經(jīng)常處理LZMA文件的用戶,但如果你只是偶爾需要解壓縮一個(gè)LZMA文件,則使用tar命令行工具是更方便的一種方法。 無(wú)論你使用哪種方式,這一過(guò)程都非常簡(jiǎn)單和易于理解。
相關(guān)問(wèn)題拓展閱讀:
- 為什么linux中打包后的tar文件比原文件大
- lzmaDecode 是什么算法?
- linux安裝python環(huán)境
為什么linux中打包后的tar文件比原文件大
簡(jiǎn)單地說(shuō)”tar”命令其實(shí)不是壓縮命令,參考的資料說(shuō)”tar”只是打包而已,把文件首尾相升閉連然后增加一些東西以便于解開(kāi),,所以不是壓縮..稍微大一點(diǎn)也正常,,說(shuō)的具體的話我也搞不清楚,,大概跟你純春一樣剛做笑耐接觸linux,,,我是引用
這份pdf第38頁(yè)的內(nèi)容,如果要仔細(xì)了解你可以下載來(lái)看下..
tar本身只是一個(gè)打包工具,把多個(gè)文件圓閉或目錄打包成一個(gè)文件,方便保存和傳輸。打包后的文件有一些額外信息,導(dǎo)致文件變大。猛雀但是tar也提供了一些參數(shù),在打包的過(guò)程中進(jìn)行壓縮,這樣得到的文件就會(huì)比較小;相應(yīng)的,解包的時(shí)候也要有對(duì)應(yīng)的參數(shù)進(jìn)行解壓枝腔早。
tar –help
…….
Compression options:
-a, –auto-compressuse archive suffix to determine the compression
program
-I, –use-compress-program=PROG
filter through PROG (must accept -d)
-j, –bzip filter the archive through bzip2
-J, –xz filter the archive through xz
lzip filter the archive through lzip
lzma filter the archive through xz
lzop
no-auto-compress do not use archive suffix to determine the
compression program
-z, –gzip, –gunzip, –ungzip filter the archive through gzip
-Z, –compress, –uncompress filter the archive through compress
……
例如下面的例子,使用gzip進(jìn)行壓縮和解壓:
tar -czf file.tar.gz ./file
tar -zxf file.tar.gz
lzmaDecode 是什么算法?
注意下調(diào)用lzma庫(kù)時(shí)輸入輸入的參數(shù),buffer的大小等等.
LZMA,(Lempel-Ziv-Markov chain-Algorithm的縮寫(xiě)),是一個(gè)Deflate和LZ77算法改良和優(yōu)化后的壓縮算法,開(kāi)發(fā)者是Igor Pavlov,2023年被首次應(yīng)用于7-Zip壓縮工具中,是 2023年以來(lái)得到發(fā)展的一個(gè)數(shù)據(jù)壓縮算法。它使用類似于 LZ77 的字典編碼機(jī)制,在一般的情況下壓縮率比 bzip2 為高,用于壓縮的可變字典更大小可達(dá)4GB.
C++ 語(yǔ)言寫(xiě)成的的 LZMA 開(kāi)放源碼壓縮庫(kù)使用了區(qū)間編碼支持的 LZ77 改進(jìn)壓縮算法以及特殊的用于二進(jìn)制的預(yù)處理程序。
數(shù)據(jù)流、重復(fù)序列大小以及重續(xù)序列位置單獨(dú)進(jìn)行了壓縮。
LZMA 支持幾種散列鏈變體、二叉樹(shù)以及基數(shù)樹(shù)作為它的字典查找算法基礎(chǔ)。
BCJ / BCJ2
BCJ / BCJ2 壓縮工具所附帶的 LZMA SDK 包括:在 X86、ARM、PowerPC、IA-64 以及 ARM Thumb 處理器上在壓縮之前跳轉(zhuǎn)目標(biāo)進(jìn)行歸一化處理。對(duì)于 x86 平臺(tái)來(lái)說(shuō),這是一個(gè)近跳轉(zhuǎn)、近調(diào)用以及近條件跳轉(zhuǎn)需要從“向后跳 1665 字節(jié)”這樣的機(jī)器語(yǔ)言歸一化到“跳轉(zhuǎn)到 5554”這樣的格式,但是短跳轉(zhuǎn)及短條件跳轉(zhuǎn)不需要進(jìn)行這樣的處拿做理。
7-Zip
盡管 7-Zip BCJ2 使用 32 位的偏移地址,但是 UPX 這樣的可執(zhí)行文件壓縮工具當(dāng)檢測(cè)到 16 位 DOS 二進(jìn)制文件格式的時(shí)候仍然可以使用 16 位的數(shù)值。RAR 壓縮工具對(duì) 32 位的 x86 可執(zhí)行文件以及 IA64 Itanium 可執(zhí)行文件進(jìn)行偏移地址壓縮。
BCJ / BCJ2 二進(jìn)制文件壓縮
BCJ 與 BCJ2 之間的區(qū)別在于前者只將近跳轉(zhuǎn)及近調(diào)用目標(biāo)地址轉(zhuǎn)換到歸一化的形式,而 BCJ2 只將 x86 平臺(tái)下的近跳轉(zhuǎn)、近調(diào)用及條件近跳轉(zhuǎn)目標(biāo)分別進(jìn)行壓縮。
7-Zip 實(shí)現(xiàn)
在GNU LGPL通用公共許可證下發(fā)布的7-zip中使用的LZMA有以下幾個(gè)特點(diǎn):
* 高壓縮比;
* 解壓縮程式碼較?。杭s 5 KB;
* 解壓縮時(shí)僅需少量?jī)?nèi)存 (取決于字典大小);櫻數(shù)
* 可變更字典大小 (更大 4 GB);
* 壓縮速度:在一部2GHz的處理器上運(yùn)行,約可達(dá)到1MB每秒的速度;
* 解壓縮速度:在一部2GHz的處理器上運(yùn)行,約可達(dá)10-20MB每秒的速度;
* 支援多線程、多核心(多處理器)和Pentium 4處理器的超線程(Hyper-Threading);
這個(gè)特點(diǎn)使得這個(gè)這個(gè)算法的解壓過(guò)程非常適合于嵌入式系統(tǒng)應(yīng)用的場(chǎng)合。
可移植性
一些微軟Windows專有的特性深深嵌入在源程序中,這樣就很難生成一個(gè)與 Unix 兼容的版本。但是,已經(jīng)有兩個(gè)移植到類 Unix 平臺(tái)的版本:
* p7zip 是一個(gè)或多或少地完全將 7z 及 7za 移植消頌衡到 POSIX 的 7-zip 版本,這些系統(tǒng)包括 Linux、Solaris、OpenBSD、FreeBSD、Cygwin 等 Unix 系統(tǒng)以及 Mac OS X 和 BeOS等。
* LZMA Unix Port 是一個(gè)只移植了 LZMA 中代碼的版本,它是一個(gè)類似于 gzip 的基于數(shù)據(jù)流的壓縮工具。它不是一個(gè)歸檔工具,而只是一個(gè)普通的壓縮工具,并且由于它在沒(méi)有數(shù)據(jù)頭中沒(méi)有未壓縮文件大小的 UInt64 變量,所以它與 7-zip 生成的 LZMA 數(shù)據(jù)流中不同。7-zip 使用一種更加靈活的歸檔格式 7z,因此二者都不能互相使用對(duì)方生成的數(shù)據(jù),至少在目前是這樣。
應(yīng)用
使用或者支持 LZMA 的軟件有:
* Nullsoft Scriptable Install System
* Inno Setup
* cramfs and SquashFS, with applied patches
* lrzip (“l(fā)ong range zip”, or “LZMA rzip”)
* PyLZMA,Igor Pavlov 的 LZMA SDK 的 Python 語(yǔ)言接口
* FreeArc, 歸檔工具及 LZMA SDK 的 Haskell 語(yǔ)言接口
* 用于 Pascal 語(yǔ)言的 LZMA SDK
LZMA 是嘩改 7-Zip 程序中隱舉 7z 格式 的默亂攜判認(rèn)壓縮算法。LZMA 能提供給用戶極高的壓縮比及較快的壓縮速度,它非常適合與應(yīng)用程序集成。
貌似是注冊(cè)軟件,需要的代碼,
就是給軟件加個(gè)殼,壓縮體積,防止別人修改。
linux安裝python環(huán)境
放到自己準(zhǔn)備好的文件夾
2.解壓
命令: # tar -zxvf Python-3.8.5.tgz
解壓到準(zhǔn)備好的文件內(nèi)
3.進(jìn)入解壓后的目錄,編譯安裝。
cd Python-3.8.5
./configure –prefix=/usr/local/python3
可能會(huì)See config.log’ for more details出現(xiàn)See config.log’ for more details錯(cuò)誤,需要安裝gcc環(huán)境
命令: yum install -y gcc
4.安裝:
安裝依賴環(huán)境:
首先: sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
然后: make
最后: make install
完成 make install實(shí)際上是把生成的執(zhí)行文件拷貝到之前configure命令指定的目錄/usr/local/python3下。
到這里安裝已經(jīng)結(jié)束
5.創(chuàng)建軟鏈接
ln -s /usr/tools/Python3/bin/python3 /渣褲穗usr/tools/python3
6.加入環(huán)境變量:
vim /etc/profile
增加: export PATH=$PATH:/usr/tools/Python/bin
:wq 退出
source /etc/profile
總結(jié):完成上面的步驟,就完成了python在linux環(huán)境的配置?;A(chǔ)知識(shí)只能滿足你純旦60%的學(xué)習(xí)需求,剩下的40%就要在實(shí)戰(zhàn)中補(bǔ)足,我要做的就是補(bǔ)充你剩下的40%。OK,這次分享就到這里了,有什么疑問(wèn)可以隨時(shí)留言溝通,互相學(xué)習(xí)進(jìn)步!
歡迎加入QQ群:
小提示:群名雖如卜然叫selenium+unittest,但是我們不限任何測(cè)試領(lǐng)域的溝通交流和學(xué)習(xí),讓我們一起補(bǔ)足缺失的40%吧!
關(guān)于linux lzma 解壓的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)公司提供專業(yè)的建站服務(wù),為您量身定制,歡迎來(lái)電(028-86922220)為您打造專屬于企業(yè)本身的網(wǎng)絡(luò)品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專業(yè)的網(wǎng)站建設(shè)、設(shè)計(jì)、制作等服務(wù),是一家以網(wǎng)站建設(shè)為主要業(yè)務(wù)的公司,在網(wǎng)站建設(shè)、設(shè)計(jì)和制作領(lǐng)域具有豐富的經(jīng)驗(yàn)。
網(wǎng)頁(yè)題目:輕松解壓:Linux下如何使用LZMA解壓文件(linuxlzma解壓)
當(dāng)前路徑:http://fisionsoft.com.cn/article/dhpcisc.html


咨詢
建站咨詢
