deb是Debian軟體包格式,是Debian系統(包含Debian和Ubuntu)專屬的安裝套件格式,配合APT軟體管理系統,成為了目前在Linux下非常流行的安裝套件。 deb包由三個部分組成:1、資料包,包含實際安裝的程式資料;2、安裝資訊及控制腳本包,包含deb的安裝說明、識別、腳本等;3、deb檔案的一些二進位數據,包括文件頭等資訊。
本教學操作環境:Ubuntu 22系統、Dell G3電腦。
DEB是Debian軟體包格式,Debian套件是標準的Unix歸檔文件,將套件檔案資訊以及套件內容,經過gzip和tar打包而成。
deb格式是什麼?
deb是Debian軟體包格式的檔案副檔名。
deb格式是Debian系統(包含Debian和Ubuntu)專屬安裝套件格式,配合APT軟體管理系統,成為了目前在Linux下非常流行的安裝套件。進入2.x時代之後有Cydia作者JayFreeman(saurik)移植到iPhone平台上,一起的還有APT軟體管理系統。
Debian套件是Unixar的標準歸檔,將套件檔案資訊以及套件內容,經過gzip和tar打包而成。處理這些套件的經典程式是dpkg,經常是透過Debian的apt-get來運作。透過Alien工具,可以將deb套件轉換成rpm、tar.gz格式。
deb套件在Linux作業系統中類似於windows中的軟體包(exe),幾乎不需要什麼複雜的編譯即可透過滑鼠點擊安裝使用。
deb包本身有三個部分組成:資料包,包含實際安裝的程式數據,檔案名稱為data.tar.XXX;安裝資訊及控制腳本包,包含deb的安裝說明,標識,腳本等,檔案名稱為control.tar.gz;最後一個是deb檔案的一些二進位數據,包括檔案頭等訊息,一般看不到,在某些軟體中開啟可以看到。
deb本身可以使用不同的壓縮方式。 tar格式並不是一種壓縮格式,而是直接把分散的檔案和目錄集合在一起,並記錄其權限等資料資訊。之前提到的data.tar.XXX,這裡XXX就是經過壓縮後的後綴名。 deb預設使用的壓縮格式為gzip格式,所以最常見的就是data.tar.gz。常有的壓縮格式還有bzip2和lzma,其中lzma壓縮率最高,但壓縮所需的CPU資源和時間都比較長。
data.tar.gz包含的是實際安裝的程式數據,而在安裝過程中,該包裡的數據會被直接解壓縮到根目錄(即/),因此在打包之前需要根據文件所在位置設定好對應的檔案/目錄樹。
而control.tar.gz則包含了一個deb安裝的時候所需要的控制資訊。一般有5個檔案:control,用了記錄軟體標識,版本號,平台,依賴資訊等資料;preinst,在解包data.tar.gz前運行的腳本;postinst,在解包資料後運行的腳本; prerm,在卸載時,在刪除檔案之前執行的腳本;postrm,在刪除檔案之後執行的腳本;
#在Cydia系統中,Cydia的作者Saurik另外加入了一個腳本,extrainst_,作用與postinst類似。
DEB安裝套件特點:
#豐富的資源:Cydia上本身就不少,更何況任何格式的安裝套件都可以轉換為deb。
相對方便的線上購買模式:CydiaStore,不過儘管沒有App Store的5台裝置的限制,但對國內用戶來說,付款方式比較困難。
破解難度較大,沒有使用AppStore的驗證方式,所以必須將驗證和防破解措施加入程式裡面,這樣就比較難破解,對軟體開發者來說是個好事。
完善的Unix檔案系統支援:無需以命令設定檔案的權限、擁有者和使用者群組(當然也可以以腳本來設定)
#完善的腳本支援:5個腳本依照安裝和卸載的先後順序執行,可以提供更多選擇。例如備份還原操作,可以在preinst中備份文件,而在postrm中還原文件
#嚴格的依賴關係:deb遵循嚴格的依賴關係(於Depends和Pre-Depends指定) ,可以確保軟體運作所必需的組件。在線安裝的時候會自動安裝所依賴的軟體包。卸載時也很重要,例如軟體包A依賴B,當卸載B的時候會提示A依賴B,卸載掉B的話會導致A不能用,這樣可以確保系統的完整性和穩定性。
Conflicts、Replaces、Provides等鍵值的存在可以實現衝突提示或替換其它軟體包。
完全權限:由於deb必須以最高權限root的身份運行,deb可以對系統任何位置進行操作,換句話說,deb擁有對整個系統的完全控制,因此deb安裝包軟體可以實現許多ipa不能實現的功能。
相對簡單的取得方式(線上或離線)和安裝方式,也不用擔心在不同機器上同步會刪掉程式的問題。
安裝相對簡單:其實無論是哪一種安裝包,安裝方法都不算很複雜,只不過deb稍微複雜一些。
更多相關知識,請造訪常見問題欄位!
以上是deb是什麼格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!