centos系統之rpm包管理

在linux上,一個軟件包通常由二進制程序庫文件配置文件幫助文件組成。
其中:
二進制程序一般都放在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin和/usr/local/sbin這幾個目錄下邊;

庫文件都放在/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib和/usr/local/lib64這些目錄下;

配置文件一般都是放在/etc這個目錄下;

而最基本的man幫助文件則是放在/usr/share/man這個目錄下的。

在CentOS上,軟件的安裝方式一般有四種:
通用二進制編譯:由志願者把開發完成的源代碼編譯成二進制文件,打包後發佈在網絡上,大家都可以通過網絡進行下載,到本地之後,經過解壓配置就可以使用。

軟件包管理器:使用包管理工具安裝,有時候必須要解決軟件包之間的依賴問題,例如rpm和deb等。

軟件包前端管理工具:可以自動解決軟件包依賴關係,例如yum和apt-get等。

源碼包安裝:從網絡上下載軟件的源碼包到本地計算機,用gcc等編譯工具編譯成二進制文件後才能使用,有時必須要解決庫文件的缺失問題。

CentOS上默認使用的軟件包格式是rpm程序包

RPM最初是由RedHat公司開發的一種軟件包管理工具,最初它的全稱是Redhat Package Manager,現在包括SUSE在內的很多linux發行版都使用這種軟件管理工具,使得rpm成爲linux的軟件包管理標準,所以現在它的全稱爲Rpm Package Manager.

rpm包的管理器包括軟件,以及查詢,校驗,安裝,升級,卸載,數據庫管理等功能。

一個rpm程序包的格式爲:
httpd-2.2.15-59.el7.x86_64.rpm

其中:
httpd是程序包的名稱
2.2.15是版本
59.el7是發佈許可
x86_64表示適用於AMD/Intel 64位體系結構構鍵的計算機

RPM程序包的管理命令-rpm
1、查詢RPM程序包的信息:
(1)查詢已安裝的RPM程序包的信息

命令 說明
rpm -q 程序包名稱 查詢指定程序包是否安裝
rpm -q 程序包名稱 查詢指定程序包是否安裝
rpm -qa 顯示當前系統中所有rpm程序包列表
rpm -qi 程序包名稱 查看指定程序包的名稱、版本、許可協議、用途描述等詳細信息
rpm -ql 程序包名稱 顯示指定的程序包在當前系統中安裝的所有目錄、文件列表
rpm -qf 文件名或目錄 查看指定的文件或目錄是由哪個程序包所安裝的
(2)查詢未安裝的RPM程序包
命令 說明
rpm -qpi 程序包名稱 查看指定程序包的名稱、版本、許可協議等
rpm -qpl 程序包名稱 查看該軟件包轉唄要安裝的所有目標目錄、文件列表

2、rpm安裝、升級、卸載RPM程序包

使用rpm命令實現操作是,基本的命令選項如下:

選項 作用
-i 在當前系統中安裝一個新的RPM程序包
-e 卸載指定名稱的程序包
-U 檢查並升級系統中的某個軟件包,若該軟件包未安裝,則等同於“-i”選項
-F 檢查並更新系統中某個軟件包,若該軟件包未安裝,則放棄安裝
--force 強制安裝某個程序包
--nodeps 忽略依賴關係安裝某個程序包
-h 在安裝或升級軟件過程中,以“#”號顯示安裝進度
-v 顯示軟件安裝過程中的詳細信息

安裝:
rpm -ivh 程序包名稱
centos系統之rpm包管理
注:程序包要寫絕對路徑,這裏本機使用本地系統鏡像文件中的程序包。

卸載:
rpm -e 程序包名稱
可以結合--nodeps忽略依賴關係。

3、維護RPM數據庫
RPM數據庫用於記錄Linux系統中安裝、卸載、升級應用程序的相關信息,由RPM包管理系統自動完成維護,一般不需要用戶干預。

當RPM數據庫發生損壞(誤刪文件、非法關機、病毒破壞等導致),且Linux系統無法自動完成修復是,將導致無法使用rpm命令正常安裝、卸載及查詢軟件包。

這時客戶以使用rpm命令:
rpm --rebuilddb 或者 rpm --initdb
對RPM數據庫進行重建。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章