rpm包和deb分別是什么?


一、RMP 是 LINUX 下的一種軟件的可執行程序,你只要安裝它就可以了。這種軟件安裝包通常是一個RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后綴是.rpm。

轉自:https://blog.csdn.net/cuiyifang/article/details/7850703


RPM是Red Hat公司隨Redhat Linux推出了一個軟件包管理器,通過它能夠更加輕松容易地實現軟件的安裝。

  1.安裝軟件:執行rpm -ivh rpm包名,如:
  #rpm -ivh apache-1.3.6.i386.rpm 
  2.升級軟件:執行rpm -Uvh rpm包名。
  3.反安裝:執行rpm -e rpm包名。
  4.查詢軟件包的詳細信息:執行rpm -qpi rpm包名
  5.查詢某個文件是屬於那個rpm包的:執行rpm -qf rpm包名
  6.查該軟件包會向系統里面寫入哪些文件:執行 rpm -qpl rpm包名

 

二、deb 是 Unix 系統(其實主要是 Linux )下的安裝包,基於 tar 包,因此本身會 記錄文件的權限(讀/寫/可執行)以及 所有者/用戶組。由於 Unix 類系統對權限、所有者、組的嚴格要求,而 deb 格式安裝包又經常會涉及到系統比較底層的操作,所以權限等的設置尤其重要。
 
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 類似。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM