Linux yum 命令


yum (全稱Yellow dog Update)命令是 RedHat 和 Fedora 以及 SUSE 中基於 rpm 軟件包管理器。全稱 Yellowdog Updater,Modified。起初是由yellow dog 這一發行版的開發者Terra Soft 研發,用python 寫成,那時還叫做yup(yellow dog updater),后經杜克大學的Linux@Duke 開發團隊進行改進,遂有此名。yum 可以交互和自動化地更新與管理 rpm 軟件包,能夠從指定的 yum 存儲倉庫自動下載 rpm 包並安裝,可以自動處理依賴性關系。提供查找、安裝、刪除、更新等操作命令。

1 檢查和更新軟件包

可以列出軟件包、整體更新軟件包、個體更新軟件包

1.2 檢查系統上已安裝的軟件包是否有可用的更新

yum check-update

例如:yum check-update 部分輸出如下:

 

1.2.1 更新軟件包 

可以單個軟件包、多個、全部更新,如果更新的包的任何依賴項本身有更新可用,那么依賴的軟件包也會被更新。

更新單個軟件包

yum update package_name

類似的更新包組

yum group update group_name

更新所有包及依賴項。

yum update

2 查找包及獲取相關信息

Yum使您能夠對軟件包執行完整的操作集,包括搜索軟件包、查看有關軟件包的信息、安裝和刪除。

2.1 根據包名查找

yum search package_name1 package_name2 ...

2.2 列出所有已安裝和可用的包的信息

yum list all

2.3 列出所有已安裝的包

yum list installed
# 或列出指定名字的包
yum list installed *vim*

2.4 列出所有可安裝的已啟用存儲庫中的所有包

yum list available

3 列出yum倉庫信息

列出系統上每個啟用的存儲庫的存儲庫ID、名稱和包的數量

yum repolist

 列出更詳細的存儲庫信息,存儲庫大小,存儲庫鏈接地址,存儲庫配置文件等

yum repolist -v
yum repoinfo

列出禁用和啟用的存儲庫:yum repolist all,也可以針對啟用狀態和禁止狀態進行過濾:yum repolist disabled、yum repolist enabled

4 顯示軟件包信息

包括顯示軟件包的大小、官網URL、描述、來源存儲庫、版本號。類似 rpm -q --info package_name 命令。

yum info package_name

顯示軟件包的其它信息

這個命令提供了額外的信息,包括包的校驗和(算法用於生產,如sha - 256),在命令行上給出的命令被調用安裝包(如果有的話),reason=user表明它是由用戶安裝,reason=dep意味着它被引入作為一個依賴項

yumdb info package_name

5 yum 包組

包組是服務於一個公共目的的包的集合,例如系統工具或聲音和視頻。安裝包組將獲取一組相關的包,從而大大節省了時間。yum組命令是一個頂級命令,它涵蓋了在yum中作用於包組的所有操作。

smmary參數用於查看已安裝組、可用組、可用環境組以及已安裝和可用語言組的數量:

yum groups summary

列出存儲庫中所有包組

yum groups list

列出特定組中包含的包信息

等於yum groupinfo group_name

yum group info group_name

每個包組都有一個名稱和一個組ID (groupid)。列出所有包組的名稱及其組id(顯示在括號中)

 

 安裝包組,可以通過將包組的完整組名(不包含groupid部分)傳遞給組安裝命令來安裝包組。

yum group install "group name"

也可以通過groupid進行安裝

yum group install groupid

移除包組

yum group remove "group name"

6 yum history

yum history命令查看yum事務的時間軸、發生的日期和時間、受影響的包的數量、這些事務是成功還是中止,以及事務之間是否更改了RPM數據庫。此外,此命令可用於撤消或重做某些事務。所有的歷史數據都存儲在/var/lib/yum/history/目錄的歷史數據庫中。

查看yum的歷史操作記錄

yum history list all

 

 也可以根據ID僅顯示指定范圍

yum history list start_id..end_id

 查看某個id的詳細信息,包括執行的命令、安裝更新的軟件包、執行時間等。

yum history info id

 yum history重復或取消某個歷史操作

重復執行指定的id,該命令將重復執行該id的命令

yum history redo id

取消某個歷史id的,如果該id是執行安裝軟件包的命令,那么將remove掉該軟件包

yum history undo id

將事務歷史存儲在單個SQLite數據庫文件中。啟動新的事務歷史記錄文件

yum history new

7 yum的配置文件

yum 的配置文件分為兩部分:main 和 repository

  • main 部分定義了全局配置選項,整個yum 配置文件應該只有一個main。常位於/etc/yum.conf 中。
  • repository 部分定義了每個源/服務器的具體配置,可以有一到多個。常位於/etc/yum.repo.d 目錄下的各文件中。

/etc/yum.conf配置參數說明

  • assumeyes=value

提示確認操作,默認是0。如果是1,則當yum install package_name等命令時則不會提示確認操作。這個過程不用輸入“y”確認安裝。

  • cachedir=directory

yum存儲其緩存和數據庫文件的目錄。

  •  debuglevel=value

yum生成的調試輸出的詳細信息。value是1到10之間的整數。設置更高的調試級別值將導致yum顯示更詳細的調試輸出。debuglevel=2是默認值,而debuglevel=0禁用調試輸出。

  • exactarch=value

默認1表示開啟,在更新包時考慮准確的體系結構。通過此設置,yum不會安裝用於32位體系結構的包來更新已經安裝在系統上的具有64位體系結構的包。

  • gpgcheck=value

默認gpgcheck=1,在所有存儲庫中的所有包上啟用GPG簽名檢查,包括本地包安裝。啟用gpgcheck后,將檢查所有包的簽名。在對應的.repo文件中為單個存儲庫設置gpgcheck=value將覆蓋默認值(如果它位於/etc/yum. conf中)。

  • keepcache=value

默認0,安裝成功后,不要保留標題和包的緩存。1:成功安裝后保留緩存。

  • logfile=value

默認/var/log/yum.log,日志輸出保存位置。記錄軟件包更新、安裝、移除等。

  • plugins=value

plugins=1全局啟用所有yum插件。仍然可以通過在插件的配置文件中設置enabled=0來禁用特定的yum插件。

repository配置說明

在[repository]部分中,repository是惟一的存儲庫ID,如my_personal_repo(不允許使用空格),允許您定義單獨的yum存儲庫。位置/etc/yum.repos.d/*

repo配置參數實例

[root@web ~]# cat /etc/yum.repos.d/CentOS-Base.repo 
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1

serverid 是用於區別各個不同的repository,必須有一個獨一無二的名稱;
name 是對repository 的描述,支持像$releasever $basearch這樣的變量;
baseurl 是服務器設置中最重要的部分,只有設置正確,才能從上面獲取軟件。它的格式是:

  • 如果存儲庫通過HTTP可用,請使用:http://path/to/repo
  • 如果存儲庫在FTP上可用,請使用:ftp://path/to/repo
  • 如果存儲庫是機器本地的,那么使用:file:///path/to/local/repo
  • 如果特定的在線存儲庫需要基本的HTTP身份驗證,則可以通過將用戶名和密碼前綴為URL來指定用戶名和密碼:http://user:password@www.example.com/repo/
  • 通常這個URL是一個HTTP鏈接:baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/

 

8 yum-config-manager添加yum倉庫

yum-config-manager命令需要安裝yum-utils軟件包。

 添加第三方yum源倉庫

[root@abvi17j5 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加載插件:fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

 僅下載不安裝:

yum install --downloadonly --downloaddir=/tmp lrzsz


免責聲明!

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



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