Linux命令之yum


yum [選項] [命令] [包]

  yum命令是RedHat和SUSE基於rpm的軟件管理器。能夠從指定的服務器自動下載rpm包並安裝,可以自動處理依賴關系,並且可以一次安裝所有依賴關系。

  (擴展:域yum結局依賴關系,自動下載軟件包,是基於C(client)/S(ftp/http/file)架構)

(1).常用選項

-h 顯示幫助信息(基本每個命令不是-h就是- -help)
-t 容忍錯誤(忽略錯誤)
-c 配置文件路徑
-R設置命令最長等待時間
-q 安靜的操作
-v 詳細的操作
-y回答所有問題都為”yes”

(2).常用命令

check-update 檢查是否有軟件包更新
clean 清除緩存數據
erase或remove 移除一個或多個軟件包
deplist 列出軟件包的依賴關系
info 顯示關於軟件包或組的詳細信息
install 安裝一個或多個軟件包
list 列出一個或一組軟件包
provides 查看指定內容的所屬包
search 關鍵字搜索軟件包
update 更新一個或多個軟件包,改變軟件設置和系統設置,系統版本和內核都升級
upgrade 更新一個或多個軟件包,不改變軟件設置和系統設置,系統版本升級,內核不變

(3).實例

注意:CentOS自帶yum-*.Noarch.rpm。Ubuntu需要自行添加

clean的相關實例

[root@CentOS6 桌面]# yum clean all            //清除全部
已加載插件:fastestmirror,refresh-packagekit,security
Cleaning repos:base extras updates
清理一切
[root@CentOS6 桌面]# yum clean packages       //清除臨時包文件(/var/cache/yum下文件)
已加載插件:fastestmirror,refresh-packagekit,security
Cleaning repos:base extras updates
0 package 文件已刪除
[root@CentOS6 桌面]# yum clean headers         //清除rpm頭文件
已加載插件:fastestmirror,refresh-packagekit,security
Cleaning repos:base extras updates
0 header 文件已刪除

list的相關實例

yum list            //列出可以安裝或更新和已經安裝的rpm包,並且進行緩存。可以使用yum clean all清除緩存。
yum list installed  //已安裝的包
yum list extras     //已安裝且不在資源庫的包

 看一下yum list的操作截圖

設置下yum源,不然操作不下去了

[root@CentOS6 桌面]#rpm –Uvh http://repo.mysql.com/mysql-community-release-el5.rpm

install的相關實例

yum install *     //全部安裝或升級,我看有些作者只要yum install不知道是怎么做到了
yum install mysql  //只安裝mysql,這里可以替換包名,也可以使用mysql*,表示以mysql為開頭的所有安裝包

erase,remove,deplist的相關實例

yum deplist mysql//查看軟件包的依賴關系,包名越詳細輸出越少。像我只輸入mysql會列出所有以mysql開頭的軟件包,以及其依賴關系
yum erase mysql*//刪除軟件包及其依賴關系,mysql*刪除的是以mysql為開頭的所有軟件包,所以后面跟隨的軟件包名越詳細越好。
          //如果包名為mysql-libs,那只會刪除mysql-libs與其依賴關系
yum remove mysql*//和erase一樣

另外yum還有grouplist、groupinstall是對軟件包組操作

[root@xuexi ~]# yum grouplist
[root@xuexi ~]# yum groupinstall "開發工具"

(4).擴展

1)配置本地yum源

2)配置網絡yum源

在配置網絡yum源之前,請自行備份。

[root@xuexi yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo
--2019-01-10 20:12:37--  http://mirrors.aliyun.com/repo/Centos-7.repo
正在解析主機 mirrors.aliyun.com (mirrors.aliyun.com)... 61.155.222.95, 61.155.222.97, 61.155.222.98, ...
正在連接 mirrors.aliyun.com (mirrors.aliyun.com)|61.155.222.95|:80... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:2523 (2.5K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”

100%[===================================================>] 2,523       --.-K/s 用時 0s      

2019-01-10 20:12:37 (63.3 MB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])

wget下載文件

-O 把下載的文件保存到另一個文件中

阿里yum配置文件地址:http://mirrors.aliyun.com/repo/Centos-7.repo

  注意:為什么需要備份呢?因為通過網絡配置的yum源有可能是無法使用的。以阿里yum源為例,在/etc/yum.repo.d/CentOS-Base.repo中有"baseurl=[URL]"一項,此項中有兩個變量$releasever和$basearch。根據以下兩個命令代入,只有當完整的URL有效時,yum源才能使用。

[root@xuexi yum.repos.d]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)    //$releasever對應7.6.1810
[root@xuexi yum.repos.d]# uname -r
3.10.0-957.1.3.el7.x86_64    //$basearch對應x86_64

  如果網絡yum源下載下載后不能使用,可以到相應的網站找到合適的版本(或大版本號內最新的版本),替換yum源中的變量(可以使用sed命令)。

  一樣以阿里網絡yum源為例:

[root@xuexi yum.repos.d]# sed -i 's/$releasever/7.6.1810/g' /etc/yum.repos.d/CentOS-Base.repo
[root@xuexi yum.repos.d]# sed -i 's/$basearch/x86_64/g' /etc/yum.repos.d/CentOS-Base.repo
[root@xuexi yum.repos.d]# yum clean all    //清空一下yum緩存
已加載插件:fastestmirror, langpacks
正在清理軟件源: CentOS7 base extras updates
Cleaning up list of fastest mirrors

3)如果yum報錯,請優先檢查以下幾個地方

1.有本地yum源時,檢查光盤是否鏈接,是否掛載

2. 網絡是否連接

3.配置文件中格式是否正確,字母、符號有沒有少寫,掛載點和配置文件中設置的是否一致。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM