瞭解linuxRPM軟件包管理

1、RPM 軟件包管理
Linux 軟件包管理大致可分爲二進制包、源碼包,使用的工具也各不相同。Linux 常見軟件包分爲兩種,分別是源代碼包(Source Code)、二進制包(Binary Code),源代碼包是沒有經過編譯的包,需要經過 GCC、C++編譯器環境編譯才能運行,二進制包無需編譯,可以直接安裝使用。
通常而言,可以通過後綴簡單區別源碼包和二進制包,例如.tar.gz、.zip、.rar 結尾的包通常稱之爲源碼包,以.rpm 結尾的軟件包稱之爲二進制包。真正區分是否爲源碼還是二進制還得基於代碼裏面的文件來判斷,例如包含.h、.c、.cpp、.cc 等結尾的源碼文件,稱之爲源碼包,而代碼代碼裏面存在 bin 目可以執行文件,稱之爲二進制包。
CentOS 操作系統中有一款默認軟件管理的工具,紅帽包管理工具(Red Hat PackageManager,RPM)。
使用 RPM 工具可以對軟件包實現快速安裝、管理及維護。RPM 管理工具適用的操作系統包括:CentOS,RedHat,Fedora,SUSE 等,RPM 工具常用於管理.rpm 後綴結尾的軟件包。RPM 軟件包命令規則詳解如下
RPM 包命名格式爲:

	name-version.rpm
	name-version-noarch.rpm
	name-version-arch.src.rpm

如下軟件包格式:

	epel-release-6-8.noarch.rpm
	perl-Pod-Plainer-1.03-1.el6.noarch.rpm
	yasm-1.2.0-4.el7.x86_64.rpm

RPM 包格式解析如下
name 軟件名稱,例如 yasm、perl-pod-Plainer;
version 版本號,1.2.0 通用格式:“主版本號.次版本號.修正號”;
4 表示是發佈版本號,該 RPM 包是第幾次編譯生成的;
arch 適用的硬件平臺,RPM 支持的平臺有:i386、i586、i686、x86_64、
sparc、alpha 等。
.rpm 後綴包表示編譯好的二進制包,可用 rpm 命令直接安裝;
.src.rpm 源代碼包,源碼編譯生成.rpm 格式的 RPM 包方可使用;
el* 軟件包發行版本,el6 表示該軟件包適用於 RHEL 6.x/CentOS 6.x;
devel: 開發包;
noarch: 軟件包可以在任何平臺上安裝。

RPM 工具命令詳解如下
RPM 選項 PACKAGE_NAME
-a, --all 查詢所有已安裝軟件包;
-q,–query 表示詢問用戶,輸出信息;
-l, --list 打印軟件包的列表;
-f, --file FILE 查詢包含 FILE 的軟件包;
-i, --info 顯示軟件包信息,包括名稱,版本,描述;
-v, --verbose 打印輸出詳細信息;
-U, --upgrade 升級 RPM 軟件包;
-h,–hash 軟件安裝,可以打印安裝進度條;
–last 列出軟件包時,以安裝時間排序,最新的在上面;
-e, --erase 卸載 rpm 軟件包
–force 表示強制,強制安裝或者卸載;
–nodeps RPM 包不依賴
-l, --list 列出軟件包中的文件;
–provides 列出軟件包提供的特性;
-R, --requires 列出軟件包依賴的其他軟件包;
–scripts 列出軟件包自定義的小程序

RPM 企業案例演示
rpm -q httpd 檢查 httpd 包是否安裝;
rpm -ql httpd 查看軟件安裝的路徑;
rpm -qi httpd 查看軟件安裝的版本信息;
rpm -e httpd 卸載 httpd 軟件;
rpm -e --nodeps httpd 強制卸載 httpd;
rpm -qa|grep httpd 檢查 httpd 相關的軟件包是否安裝。
rpm -ivh httpd-2.4.10-el7.x86_64.rpm 安裝 httpd 軟件包;
rpm -Uvh httpd-2.4.10-el7.x86_64.rpm 升級 httpd 軟件;
rpm -ivh --nodeps httpd-2.4.10-el7.x86_64.rpm 不依賴其他軟件包;

2、YUM:自動化RPM包管理工具
①前端軟件包管理器(Yellow Updater Modified,YUM)適用於 CentOS、Fedora、RedHat及 SUSE 中的 Shell 命令行,主要用於管理 RPM 包,與 RPM 工具使用範圍類似,YUM 工具能夠從指定的服務器自動下載 RPM 包並且安裝,還可以自動處理依賴性關係。
②YUM 工作原理:
學習 YUM,一定要理解 YUM 工作原理,YUM 正常運行,需要依賴兩個部分,一是YUM 源端,二是 YUM 客戶端,也即用戶使用端。
③YUM 客戶端安裝的所有 RPM 包都是來自 YUM 服務端,YUM 源端通過 HTTP 或者 FTP服務器發佈。而 YUM 客戶端能夠從 YUM 源端下載依賴的 RPM 包是由於在 YUM 源端生成了 RPM 包的基準信息,包括 RPM 包版本號、配置文件、二進制信息、依賴關係等。

3、YUM 企業案例演練
由於 YUM 工具的使用簡便、快捷、高效,在企業中得到廣泛的使用,得到衆多 IT 運維、程序人員的青睞,要能熟練使用 YUM 工具,需要先掌握 YUM 命令行參數的使用。

YUM 命令工具的參數詳解及實戰步驟:
YUM 命令工具指南,YUM 格式爲:YUM [command] [package] -y|-q 其中的[options]是可選。-y 安裝或者卸載出現 YES 時,自動確認 yes;-q 不顯示安裝的過程。

yum install httpd 安裝 httpd 軟件包;
yum search YUM 搜索軟件包;
yum list httpd 顯示指定程序包安裝情況 httpd;
yum list 顯示所有已安裝及可安裝的軟件包;
yum remove httpd 刪除程序包 httpd;
yum erase httpd 刪除程序包 httpd;
yum update tree內核升級或者軟件更新;
yum update httpd 更新 httpd 軟件;
yum check-update 檢查可更新的程序;
yum info httpd 顯示安裝包信息 httpd;
yum provides 列出軟件包提供哪些文件;
yum provides “*/rz” 列出 rz 命令由哪個軟件包提供;
yum grouplist 查詢可以用 groupinstall 安裝的組名稱;
yum groupinstall “Chinese Support” 安裝中文支持;
yum groupremove “Chinese Support” 刪除程序組 Chinese Support;
yum deplist httpd 查看程序 httpd 依賴情況;
yum clean packages 清除緩存目錄下的軟件包;
yum clean headers 清除緩存目錄下的 headers;
yum clean all 清除緩存目錄下的軟件包及舊的 headers。

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