- 曝光:Linux企業運維實戰
- 吳光科
- 963字
- 2019-10-16 10:21:57
6.1 RPM軟件包管理
Linux軟件包從內容上可分為二進制包(binary code)和源碼包(source code),不同類別的軟件包使用的管理工具也各不相同。源碼包是沒有經過編譯的包,需要經過GCC、C++編譯器環境編譯才能運行,二進制包無須編譯,可以直接安裝使用。
通常而言,可以通過后綴區別源碼包和二進制包,例如以.tar.gz、.zip、.rar結尾的包稱之為源碼包,以.rpm結尾的軟件包稱之為二進制包。真正區分是否為源碼包還是二進制包還得基于軟件包里面的文件來判斷,例如包含.h、.c、.cpp、.cc等結尾的源碼文件,稱之為源碼包,而代碼里面存在bin可執行文件,稱之為二進制包。
CentOS操作系統中有一款默認軟件管理的工具,即紅帽包管理工具(red hat package manager,RPM)。
使用RPM工具可以對軟件包實現快速安裝、管理及維護。RPM管理工具適用的操作系統包括CentOS、Red Hat、Fedora、SUSE等,RPM工具常用于管理以.rpm后綴結尾的軟件包。
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工具命令詳解如下:
□-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:不依賴其他軟件包。
- 嵌入式Linux開發技術
- Mastering vRealize Operations Manager(Second Edition)
- 發布!設計與部署穩定的分布式系統(第2版)
- 精解Windows 8
- 構建可擴展分布式系統:方法與實踐
- 細說Linux基礎知識
- ElasticSearch Cookbook
- NetDevOps入門與實踐
- Linux設備驅動開發
- INSTANT Galleria Howto
- Advanced Infrastructure Penetration Testing
- Learn SwiftUI
- 應急指揮信息系統設計
- Implementing Domain-Specific Languages with Xtext and Xtend(Second Edition)
- 操作系統之哲學原理第2版