RHEL6入门系列之二十六,利用rpm进行软件包管理
在上篇博文中介紹的yum是目前在RHEL系統中安裝軟件的首選方式,傳統的rpm則主要是用作查詢,如查詢系統中是否已經安裝了某個軟件等。今天我們就一起來了解一下rpm的一些常用用法。
一、rpm軟件包 RPM軟件包是將程序源代碼經過編譯和封裝以后形成的包文件,在軟件包里會封裝軟件的程序、配置文件、幫助手冊等組件。 使用RPM機制封裝的軟件包文件擁有約定俗成的命名格式,一般使用“軟件名-軟件版本-發布號.硬件平臺類型.rpm”的文件名形式。如上圖中的“vsftpd-2.2.2-11.el6.x86_64.rpm”軟件包,軟件名稱是“vsftpd”,版本號是“2.2.2”,發布號是“11.el6”(更新發布號主要是對軟件存在的bug或漏洞進行了修補,在軟件功能上則并沒有增強,el6是指在rhel6系統中發布),硬件平臺是“x86_64”(“x86_64”是指64位的PC架構,另外還有“i386”或“i686”等都是指32位的PC架構,noarch是指不區分硬件架構)。
RHEL6系統中所有的內置軟件全都是以RPM軟件包的形式存儲在系統光盤中。將RHEL6的系統光盤掛載到/mnt/cdrom,進入掛載目錄,在Packages子目錄中存放了所有的rpm軟件包。二、安裝\卸載軟件包
利用rpm命令安裝軟件首先必須進入存放rpm軟件包的目錄,安裝軟件包所使用的命令是“rpm –ivh”。 選項的含義: -i安裝軟件包 -v顯示安裝過程 -h顯示安裝進度,rpm每執行了2%就會顯示一個#號。 如,利用rpm安裝vsftpd程序(在輸入軟件包名字時可以用Tab鍵補全)。使用“rpm –e”命令可以刪除一個已經安裝過的軟件,如將剛才安裝的vsftpd刪除:[root@localhost ~]# rpm -e vsftpd
三、查詢軟件包 rpm命令現在主要用來進行軟件查詢,用到的相關選項是“-q”(query,查詢)。 1、“rpm –q”,查詢是否安裝了某個軟件 例:查詢系統中是否已經安裝了httpd和vsftpd軟件。 [root@localhost ~]# rpm -q httpd httpd-2.2.15-15.el6_2.1.x86_64‘表明已經安裝 [root@localhost ~]# rpm -q vsftpd package vsftpd is not installed‘表明尚未安裝 在用“rpm –q”命令查詢時必須指定軟件的完整名字,否則將無法查詢出正確結果。 如查詢系統中是否安裝了邏輯卷lvm的圖形化管理工具,輸入軟件的完整名字“system-config-lvm”可以正確查詢,只輸入“lvm”則無法查詢到結果2、“rpm –qa”,查詢系統中已經安裝的所有rpm軟件包
例:統計系統中已經安裝的rpm軟件包的個數。 [root@localhost ~]# rpm -qa | wc -l 1147 如果只能記住軟件的部分名稱,就可以使用“rpm –qa”結合管道符和grep命令來進行查找。 例:查找系統中已經安裝的所有跟“lvm”有關的軟件包。3、“rpm –qi”,查看某個已經安裝的軟件包的詳細信息。
例:查看httpd軟件的詳細信息。4、“rpm –ql”,查看某個軟件包將會安裝哪些程序文件,并把文件安裝到系統的哪個位置。
在Linux中安裝軟件不像Windows那樣可以由用戶指定軟件安裝目錄,由于Linux默認的目錄結構是固定的,每個默認目錄都有專門的分工,所以在Linux中安裝軟件時,會自動分門別類地向相應的目錄中復制對應的程序文件,并進行相關設置。
在Linux系統中,典型的應用程序通常由以下幾部分組成:- 普通的可執行程序文件,一般保存在“/usr/bin”目錄中,普通用戶即可執行。
- 服務器程序、管理程序文件,一般保存在“/usr/sbin”目錄中,需要管理員才能執行。
- 配置文件,一般保存在“/etc”目錄中,配置文件較多時會建立相應的子目錄。
- 日志文件,一般保存在“/var/log”目錄中。
- 關于應用程序的參考文檔等數據,一般保存在“/usr/share/doc”目錄中。
- 執行文件及配置文件的man手冊,一般保存在“/usr/share/man”目錄中。
注意,在執行“rpm -ivh”命令安裝coreutils軟件包時,系統提示coreutils已經安裝了,所以此時需要加上“—force”選項強制將軟件重新安裝一遍。
coreutils軟件包裝完之后,會重新生成程序文件“/bin/mkdir”,mkdir命令就可以正常使用了。
總結
以上是生活随笔為你收集整理的RHEL6入门系列之二十六,利用rpm进行软件包管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子书包“翻转”课堂
- 下一篇: 顺丰物流单号查询效果(可输入多个文本框)