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.配置文件中格式是否正確,字母、符號有沒有少寫,掛載點和配置文件中設置的是否一致。