學習筆記(十) 軟體包管理 rpm yum

2021-07-03 23:35:56 字數 3844 閱讀 4085

1.rpm

rpm(redhat package manager)是 redhat 的軟體包管理工具,由於centos 是基於 redhat linux的,所以 rpm 對於 centos 同樣適用。下面列舉了一些rpm 的常用引數:

[root@localhost ~]# rpm -ivh packagename.rpm         //安裝包

[root@localhost ~]# rpm -e packagename.rpm          //解除安裝包

如果要解除安裝 vim-enhanced 包,使用如下命令:

[root@localhost ~]# rpm -e vim-enhanced
通過如下命令檢視是否刪除成功:

[root@localhost ~]# echo $?
該命令很常用,如果 $? 值為 0,則上一條命令執行成功;如果$? 值非0,則命令執行失敗。

安裝 / 解除安裝包時,經常會有各種互相依賴的關係,使用 --nodeps 可以忽略依賴關係,單獨安裝 / 解除安裝包:

[root@localhost ~]# rpm -e vim-enhanced --nodeps

[root@localhost ~]# rpm -uvh packagename.rpm      //更新包

查詢系統安裝的所有包:

[root@localhost ~]# rpm -qa
查詢時,假如乙個包的全名如下:

yum-plugin-versionlock-1.1.30-30.el6.noarch.rpm

則 yum-plugin-versionlock 為包名,1.1.30-30為版本號,el6 代表其為 redhat 6 系統,noarck 代表該包在 32 位及 64 位作業系統下通用,如果僅適用於 32 位作業系統,則此位置一般為 i386、 i586、 i686 等,如果僅適用於 64位作業系統,則此位置一般為 ix86_x64 等形式(當然,由於作業系統的向下相容性,適用於32 位的 rpm 包通常也能安裝在 64 位作業系統上,反之則不然)。rpm 為 rpm 包通常的字尾名。

查詢系統安裝的所有包中名稱包含vim 的包:

[root@localhost ~]# rpm -qa *vim*
上條命令與結合使用 grep 效果相同:

[root@localhost ~]# rpm -qa | grep "*vim*"
檢視安裝乙個包具體多出了哪些檔案

(此處包名必須完整準確,不能再使用 * 進行通配):

[root@localhost ~]# rpm -ql vim-enhanced
查詢某個包的詳細資訊(同樣包名必須完整準確):

[root@localhost ~]# rpm -qi vim-enhanced
檢視一條命令是通過安裝什麼包產生的

(命令需要絕對的路徑):

[root@localhost ~]# rpm -qf vim
也可以結合反引號來使用:

[root@localhost ~]# rpm -qf `which vim`
rpm 雖然有其作用,但是有些情況下我們在用 rpm 安裝或解除安裝時會遇到迴圈依賴的問題,即便使用 --nodeps 也無法解決

2.yum

yum 命令可以通過網路或者本地源來進行安裝、刪除、更新、查詢等操作,解決了 rpm 難以解決的迴圈依賴問題。

安裝 vim-enhanced 包:

[root@localhost ~]# yum install -y vim-enhanced
解除安裝 vim-enhanced 包:

[root@localhost ~]# yum remove vim-enhanced
更新 vim-enhanced 包:

[root@localhost ~]# yum update -y vim-enhanced
檢視 vim 命令是通過安裝哪個包產生的(類似於 rpm -qf /usr/bin/vim),前提是 yum 源中包含該包:

[root@localhost ~]# yum provides vim
該命令等同於:

[root@localhost ~]# yum whatprovides vim
檢視 yum 源中的所有安裝包:

[root@localhost ~]# yum list
除了能對某個包進行操作外,yum 還可以以組為單位對安裝包進行操作,相關命令如下:

[root@localhost ~]# yum groupinstall

[root@localhost ~]# yum groupremove

[root@localhost ~]# yum grouplist

常用的以組為單位進行安裝的操作通常為安裝開發環境(當然安裝桌面也會用到 yum groupinstall):

[root@localhost ~]# yum groupinstall -y "development tools"
注:

centos 預設提供的 yum 源往往只能滿足我們最基本的需求,如果需要通過 yum 安裝其他包(如 nginx 等),必須安裝其他 yum 源進行擴充套件,比較常用的是epel

[root@localhost ~]# rpm -ivh 

如果是 64 位作業系統:

[root@localhost ~]# 

也可以通過如下簡潔的命令進行安裝:

[root@localhost ~]# yum install -y epel-release

首先,安裝 yum 外掛程式來支援 --downloadonly 選項:

[root@localhost ~]# yum install -y yum-plugin-downloadonly

之後,對已安裝過的包使用 reinstall ,對未安裝過的包使用 install ,假如 vim-enhanced 包未安裝:

[root@localhost ~]# yum install -y vim-enhanced --downloadonly
假如 vim-enhanced 包已安裝:

[root@localhost ~]# yum reinstall -y vim-enhanced --downloadonly

[root@localhost ~]# yum install -y vim-enhanced --downloadonly --downloaddir=/usr/local/src/
第二種方法,修改 /etc/yum.conf 配置檔案:

[root@localhost ~]# vim /etc/yum.conf
[main]

cachedir=/usr/local/src/

keepcache=1

傳輸到 linux 系統中 /etc/yum.repos.d/ 目錄下(備份該目錄下其他檔案,並將該目錄清空)。重新生成快取:

[root@localhost ~]# yum clean all

[root@localhost ~]# yum makecache

關於如何製作本地 yum 源,可以參考之前的部落格,位址如下:

本文出自 「細桶假狗屎」 部落格,請務必保留此出處

軟體包管理

軟體源 ete apt sources.list.d 軟體源索引 var lib apt lists 狀態資訊 var lib dpkg statustonny tonny ftt apt cache pkgnames wc l 軟體包的數目 tonny tonny ftt apt cache po...

軟體包管理

使用rpm命令管理軟體rpm q 軟體包 查詢軟體包 rpm ivh 軟體名 版本號.rpm 安裝 rpm e 軟體名 解除安裝 rpm ql 軟體名 檢視已安裝清單補充 匯入紅帽簽名資訊 rpm import 路徑.rpm gpg key redhat release rpm ivh vh 顯示進...

軟體包管理

在linux作業系統中,有乙個系統軟體包,它的功能類似於windows裡面的 新增 刪除程式 但是功能又比 新增 刪除程式 強很多,它就是red hat package manager 簡稱rpm 此工具包最先是由red hat公司推出的,後來被其他linux開發商所借用。由於它為linux使用者省...