軟體包管理rpm

2021-10-04 07:44:20 字數 3364 閱讀 3260

rpm 是由紅帽開發用於軟體包的安裝公升級解除安裝與查詢

————————————————

rpm包命名分成若干部分

先通過虛擬機器載入映象,然後在linux中執行 mount /dev/cdrom /mnt 此時會在 /mnt/packages 目錄下看到很多rpm的包檔案

安裝軟體分類:

rpm包 :預先編譯打包,安裝簡單,軟體版本偏低

原始碼包: 手動編譯打包,安裝繁瑣 軟體版本隨意

二進位製包 :解壓即可使用,安裝簡單,不能修改原始碼

1,如何使用rpm工具安裝rpm軟體包

#1.安裝本地路徑下軟體包

[root@xuliangwei ~]# rpm -ivh /mnt/packages/tree-1.6.0-10.el7.x86_64.rpm

[root@xuliangwei ~]# rpm -ivh /mnt/packages/vsftpd-3.0.2-22.el7.x86_64.rpm

#2.安裝網際網路上的rpm包(沒有依賴)

[root@oldboy ~]# rpm -ivh /mnt/packages/unixodbc-2.3.1-11.el7.x86_64.rpm

[root@oldboy ~]# rpm -ivh

3.安裝軟體包,有依賴關係 ( 很麻煩 )

rpm -ivh /mnt/packages/samba-4.8.3-4.el7.x86_64.rpm

rpm安裝a軟體,如果該軟體依賴了b軟體,必須先安裝b,才能安裝a軟體

選擇使用yum來安裝( 自動處理依賴關係 )

yum僅僅負責安裝軟體。至於後續查詢軟體安裝在哪,或者軟體安裝與否 ,都可以使用rpm命令來實現。
4.公升級 rpm如何公升級

安裝 zabbix-agent3.0 公升級 zabbix-agent4.0 rpm -uvh xx.rpm

1.軟體包zabbix-agent3.0安裝了沒有

[root@oldboy ~]# rpm -qa zabbix-agent

zabbix-agent-3.0.0-1.el7.x86_64

2.希望公升級到zabbix-agent4.0,首先要找到zabbix-agent4.0的包,然後進行公升級

[root@oldboy ~]#

[root@oldboy ~]# wget

[root@oldboy ~]# rpm -uvh zabbix-agent-4.0.0-2.el7.x86_64.rpm

準備中… ################################# [100%]

正在公升級/安裝…

1:zabbix-agent-4.0.0-2.el7 ################################# [ 50%]

正在清理/刪除…

2:zabbix-agent-3.0.0-1.el7 ################################# [100%]

3.檢查公升級後的版本

[root@oldboy ~]# rpm -qa zabbix-agent

zabbix-agent-4.0.0-2.el7.x86_64

5.如何解除安裝rpm包? ( 不太建議生產環境執行解除安裝操作 )

[root@oldboy ~]# rpm -e zabbix-agent #解除安裝軟體(清理對應的檔案)

[root@oldboy ~]# rpm -qa zabbix-agent #檢查是否已解除安裝

6.安裝軟體包後,如果查詢安裝到本地哪個路徑?

選項 描述

rpm -q 檢視指定軟體包是否安裝

[root@oldboy ~]# rpm -q zabbix-agent

zabbix-agent-4.0.0-2.el7.x86_64

rpm -qa 檢視系統中已安裝的所有rpm軟體包列表

[root@oldboy ~]# rpm -qa zabbix-agent

zabbix-agent-4.0.0-2.el7.x86_64

查多個包(不太記得包名時)
[root@oldboy ~]# rpm -qa | grep -e 「zabbix-agent|bash」

bash-completion-2.1-6.el7.noarch

zabbix-agent-4.0.0-2.el7.x86_64

bash-4.2.46-30.el7.x86_64

rpm -qi 檢視指定軟體的詳細資訊 ( 知道就行 )

[root@oldboy ~]# rpm -qi zabbix-agent

rpm -ql 查詢指定軟體包所安裝的目錄、檔案列表

[root@oldboy ~]# rpm -ql zabbix-agent

rpm -qc 查詢指定軟體包的配置檔案

[root@oldboy ~]# rpm -qc zabbix-agent

rpm -qf 查詢檔案或目錄屬於哪個rpm軟體

[root@oldboy ~]# which wget

/usr/bin/wget

rpm -qf 有乙個弊端: 只能檢視系統中已經存在的命令和檔案—>對應的軟體包?

當真正要查詢乙個系統中不存在的命令,或檔案,我們會選擇使用 yum provides 去查詢
6.rpm包小結

1.如何查詢 util-linux 軟體包安裝了哪些檔案?

rpm -ql util-linux

2.如何查詢 mkdir 命令是由哪個 rpm 軟體包安裝的?

[root@oldboy ~]# rpm -qf $(which mkdir)

coreutils-8.22-21.el7.x86_64

3.安裝 .rpm 軟體包時,-i、-u、選項有何區別?

-i 安裝乙個rpm包

-u 公升級乙個rpm包()

總結下rpm牽扯到哪些相關的引數:

rpm選項:

-ivh 安裝乙個rpm包,並顯示詳細資訊,同時列印安裝的進度條

-uvh 公升級乙個rpm包,並顯示詳細資訊,同時列印安裝的進度條 (如果軟體不存在則按安裝操作)

(提供軟體名稱即可,不用帶軟體的版本號之類的)

-e 解除安裝軟體包

-q 查詢軟體包

-qa 查詢所有已安裝的軟體包

-ql 查詢軟體的存放路徑 (所以的檔案)

-qc 查詢軟體的配置檔案

-qf 查詢系統中已存在的命令或者檔案 所屬那個rpm包提供

RPM軟體包管理

大多數開源軟體都是以源 形式發布的,源 形式程式安裝流程一般如下 configure 檢查編譯環境 相關庫檔案以及配置引數並生成makefile make 將源 編譯為可執行檔案 make install 安裝編譯好的可執行檔案 rpm redhat package manager 是為了方便軟體管...

RPM軟體包管理

源 形式的缺點 操作複雜 編譯時間較長 極容易出現錯誤 源 形式的優點 適用所有系統 可定製 為了方便適用,erik troan和marc ewing開發了rpm redhat package manager rpm通過將源 基於特定平台系統編譯為可執行檔案,並儲存依賴關係,來簡化開源軟體的安裝管理...

RPM軟體包管理

rpm包 red hat package manager 本意是red hat 軟體包管理,二進位製包 binary 以及源 包 source 兩種。原始碼包 原始碼包的優點是 開源,如果有足夠的能力,可以修改源 可以自由選擇所需的功能 軟體是編譯安裝,所以更加適合自己的系統 更加穩定也效率更高 解...