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 包並安裝,能夠自動處理依賴性關係。提供查找、安裝、刪除、更新等操做命令。python

1 檢查和更新軟件包

能夠列出軟件包、總體更新軟件包、個體更新軟件包linux

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

yum check-update

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

 

1.2.1 更新軟件包 

能夠單個軟件包、多個、所有更新,若是更新的包的任何依賴項自己有更新可用,那麼依賴的軟件包也會被更新。算法

更新單個軟件包docker

yum update package_name

相似的更新包組數據庫

yum group update group_name

更新全部包及依賴項。vim

yum update

2 查找包及獲取相關信息

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

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

相關文章
相關標籤/搜索