rpm和yum
GNU/linux
RedHat提供了一個軟體包的管理工具即rpm
rpm的使用方法很簡單:rpm –ivh /path/to/pakage 但是rpm 安裝軟體包時要解決依賴關系。
RPM包安裝時是依賴于specs 檔案的。specs 檔案是rpm制作者定義好的
RPM軟體都有rpm資料庫 –》 指紋資訊—》簽名(驗證簽名需要制作者的公鑰,為了防止别人修改自己的軟體後在發送。)
linux軟體包的組成部分
二進制檔案,根據x86 ,ppc,x64等平台的不同有不同的版本。 通常放在/bin,/sbin, usr/bin ,/usr/sbin, /usr/local/bin , /usr/local/sbin
配置檔案, 及定義二進制檔案的特征的。/etc , /usr/local/etc,
庫檔案 /lib , /usr/lib , /usr/local/lib , /usr/x11/bin
幫助檔案 /usr/share/doc , /usr/share/man , /usr/local/share/man
裝軟體:
rpm
–i 安裝
-U update更新,老版本如果存在就更新,不存在就安裝
–F 更新,老版本如果存在不安裝,不存在就安裝。
-e 解除安裝軟體包
-q 查詢是否安裝,-q有幾個子選項。
-qa顯示所有的被安裝包
-qf 包名,查詢那那個檔案屬于那個包
-ql 查詢軟體包安裝後産生了什麼檔案rpm -qpl 路徑
-qi 顯示開發者資訊, 後邊直接跟上包名即可
-qpi +路徑
--ndps 忽略依賴關系安裝。
-V 校驗已安裝的軟體包
s 檔案大小變了
M 檔案權限被改變了
5特征碼被改變了(md5sum 指令可以檢視檔案的特征碼。)
D 主次裝置号不比對
U 屬主被改變
G 屬組被改變
T 時間戳被改變
-ivh、-Uvh、-Fvh 經常在一起使用。
注意核心安裝時必須使用-ivh去安裝,不能使用-Fvh
安裝時必須指明包所在的路徑。解除安裝時不需要,隻需要軟體包名。
yum ,yellow dog
rpm雖然好用,但是依賴關系非常麻煩,你需要把先安裝的包裝過之後才能裝後一個包。依賴關系過于複雜時,根本無從下手。為此可以使用yum來安裝軟體包,yum能夠自動的解決軟體包之間的依賴關系,而且yum是互動式的,安裝是選擇yes安裝,不想安裝時選擇no即可。此外yum還支援ftp、HTTP、nfs、以及本地目錄等方式的yum源。yum的文法:
yum 【options】 【子指令】 【包名】
可見yum的安裝不需要全路徑,隻需要跟上你要安裝的包名即可。
yum中的子指令有很多種,我們經常使用的有以下幾種:
用來安裝的install ,更新用的update ,檢查有哪些包可以更新的check-update。删除包可以使用remove或erase。要注意的是remove會把所有依賴關系的包全解除安裝。還有info子指令,用來顯示摘要資訊。provides/whatprovides顯示包的提供者。還有clean清空緩存,列出軟體包的list,查詢軟體包的serch,但是serch 查詢的是不精确的 簡要資訊。restall重新安裝,downgrade降級,還有group*軟體包組。
其中clean指令還有子選項,yum clean expire-cache 清除緩存,yum clean packages清除軟體包資訊,yum clean headers 清除首部資訊(即包關系),yum clean dbcache 資料庫,還有最常用的yum clean all 即清除所有。
除clean外list也有一系列的子選項
yum list available 【glob exp1】可用的軟體包
yum list updates 【glob exp1】 未安裝的軟體包
yum list installed 【glob exp1】安裝過的軟體包
yum list extras 【glob exp1】 非系統自帶的軟體包
yum list absolets 【glob exp1】 廢棄的軟體包
yum list recent 【glob exp1】 顯示剛加入yum 庫的軟體包
group*的*代表install、update、list、remove、info功能很顯然依次是安裝軟體包組、更新軟體包租、顯示軟體包組、删除軟體包組、和包組的資訊。
以上這些事子指令,yum還有一些選項:
如-y 直接安裝不詢問。-q 靜默模式,不顯示安裝的過程。-d+數字 是調用的級别,--nogpgcheck 不檢查簽名。還有一個很有用的選項-t ,在你同時安裝a、b、c、d四個具有依賴關系的包時,如果a已經安裝過,就會提示你不能再安裝了,這時b、c、d也就不能安裝了,但你還想安裝,就可以通過-t選項來忽略已經安裝的包,即安裝過的就不再裝了,沒裝過的就安裝。