日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RHEL6入门系列之二十六,利用rpm进行软件包管理

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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”目錄中。
例:查詢httpd軟件在系統的什么位置安裝了文件。 [root@localhost ~]# rpm -ql httpd | more 5、“rpm -qf”命令,查詢系統中的某個文件是由哪個軟件包提供的 當系統中的某個程序文件損壞或丟失時,通過“rpm -qf”的查詢結果,可以重新安裝相應的軟件包。 下面以一個實例來進行說明。我們首先將mkdir命令對應的程序文件刪除,這樣就無法正常執行mkdir命令。然后通過“rpm -qf”命令查詢出mkdir程序文件對應的軟件包,重新安裝相應的軟件包,生成mkdir程序文件。 首先用which命令查找mkdir命令對應的程序文件: [root@localhost ~]# which mkdir /bin/mkdir 查詢提供/bin/mkdir文件的軟件包: [root@localhost ~]# rpm -qf /bin/mkdir coreutils-8.4-19.el6.x86_64 將程序文件刪除,mkdir命令無法執行: [root@localhost ~]# rm -f /bin/mkdir [root@localhost ~]# mkdir test -bash: mkdir: command not found 安裝coreutils軟件包,重新生成/bin/mkdir文件:

注意,在執行“rpm -ivh”命令安裝coreutils軟件包時,系統提示coreutils已經安裝了,所以此時需要加上“—force”選項強制將軟件重新安裝一遍。
coreutils軟件包裝完之后,會重新生成程序文件“/bin/mkdir”,mkdir命令就可以正常使用了。

總結

以上是生活随笔為你收集整理的RHEL6入门系列之二十六,利用rpm进行软件包管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。