- A+
所属分类:linux技术
yum工具的使用
yum仓库管理
1. yum本地仓库
挂载镜像
[root@lnh ~]# cd /etc/yum.repos.d/ [root@lnh yum.repos.d]# ls CentOS-Stream-AppStream.repo CentOS-Stream-RealTime.repo CentOS-Stream-BaseOS.repo epel-modular.repo CentOS-Stream-Debuginfo.repo epel-playground.repo CentOS-Stream-Extras.repo epel.repo CentOS-Stream-HighAvailability.repo epel-testing-modular.repo CentOS-Stream-Media.repo epel-testing.repo CentOS-Stream-PowerTools.repo [root@lnh yum.repos.d]# rm -rf * [root@lnh yum.repos.d]# ls [root@lnh yum.repos.d]# //因为我们用的是centos8.5,所以有这些本地仓库,如果是redhat就没有,我们需要删除这些仓库然后进行创建 [root@lnh yum.repos.d]# vim xbz.repo [root@lnh yum.repos.d]# ls xbz.repo [root@lnh yum.repos.d]# cat xbz.repo [BaseOS] name=111 baseurl=file:///mnt/BaseOS gpgcheck=0 enabled=1 [AppStream] name=222 baseurl=file:///mnt/AppStream gpgcheck=0 enabled=1 //配置本地仓库 复制快捷键5yy p [root@lnh yum.repos.d]# mount /dev/cdrom /mnt/ mount: /mnt: /dev/sr0 already mounted on /mnt. //挂载镜像,此处我已经挂载了 [root@lnh yum.repos.d]# dnf clean all 13 files removed //清空yum本地缓存,此处用yum也可以但是用dnf可以解决它的一些依赖关系更好一些 [root@lnh yum.repos.d]# dnf list all ..... xterm-resize.x86_64 331-1.el8 AppStream xz-devel.i686 5.2.4-3.el8 BaseOS xz-devel.x86_64 5.2.4-3.el8 BaseOS xz-libs.i686 5.2.4-3.el8 BaseOS yajl.i686 2.1.0-10.el8 AppStream yajl.x86_64 2.1.0-10.el8 AppStream yelp.x86_64 2:3.28.1-3.el8 AppStream yelp-libs.i686 2:3.28.1-3.el8 AppStream yelp-libs.x86_64 2:3.28.1-3.el8 AppStream yelp-tools.noarch 3.28.0-3.el8 AppStream yelp-xsl.noarch 3.28.0-2.el8 AppStream yp-tools.x86_64 4.2.3-1.el8 AppStream ypbind.x86_64 3:2.5-2.el8 AppStream ypserv.x86_64 4.0-6.20170331git5bfba76.el8 AppStream yum-utils.noarch 4.0.18-1.el8 BaseOS ..... //检验yun本地仓库
2. yum网络仓库
官方的网络yun仓库在国外
我们可以使用国内的yum仓库:
阿里云yum仓库(https://developer.aliyun.com/mirror/)
epel源
(https://developer.aliyun.com/mirror/)
[root@lnh yum.repos.d]# ls xbz.repo [root@lnh yum.repos.d]# rm -rf * [root@lnh yum.repos.d]# ls [root@lnh yum.repos.d]# //因为本地仓库和网络仓库不可以共存所以我们先删除本地仓库 [root@lnh yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo --2022-07-09 00:59:38-- https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 58.49.248.231, 58.49.248.232, 119.96.204.211, ... Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|58.49.248.231|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2495 (2.4K) [application/octet-stream] Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’ /etc/yum.repos.d/Ce 100%[================>] 2.44K --.-KB/s in 0s 2022-07-09 00:59:38 (25.2 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2495/2495] //在阿里云里面下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/ [root@lnh yum.repos.d]# yum makecache CentOS-8.5.2111 - Base - mirrors.aliyun.com 19 MB/s | 4.6 MB 00:00 CentOS-8.5.2111 - Extras - mirrors.aliyun.co 90 kB/s | 10 kB 00:00 CentOS-8.5.2111 - AppStream - mirrors.aliyun 16 MB/s | 8.4 MB 00:00 Metadata cache created. //运行 yum makecache 生成缓存 [root@lnh yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo [root@lnh yum.repos.d]# //非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息,不影响使用。用户也可自行修改相关配置 [root@lnh yum.repos.d]# ls CentOS-Base.repo //这个就是yum网络仓库 [root@lnh yum.repos.d]# dnf list all ... yajl.x86_64 2.1.0-10.el8 AppStream yelp.x86_64 2:3.28.1-3.el8 AppStream yelp-libs.i686 2:3.28.1-3.el8 AppStream yelp-libs.x86_64 2:3.28.1-3.el8 AppStream yelp-tools.noarch 3.28.0-3.el8 AppStream yelp-xsl.noarch 3.28.0-2.el8 AppStream ... //检验一下是否配置成功
3. yum管理命令
常用的options:
安装,卸载
[root@lnh ~]# dnf -y install vim Last metadata expiration check: 0:07:41 ago on Sat 09 Jul 2022 01:04:12 AM CST. Dependencies resolved. ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: vim-enhanced x86_64 2:8.0.1763-16.el8 AppStream 1.4 M Installing dependencies: gpm-libs x86_64 1.20.7-17.el8 AppStream 39 k vim-common x86_64 2:8.0.1763-16.el8 AppStream 6.3 M vim-filesystem noarch 2:8.0.1763-16.el8 AppStream 49 k Transaction Summary ============================================================================= Install 4 Packages Total download size: 7.8 M Installed size: 30 M Downloading Packages: (1/4): gpm-libs-1.20.7-17.el8.x86_64.rpm 947 kB/s | 39 kB 00:00 (2/4): vim-filesystem-8.0.1763-16.el8.noarch 2.6 MB/s | 49 kB 00:00 (3/4): vim-enhanced-8.0.1763-16.el8.x86_64.r 4.4 MB/s | 1.4 MB 00:00 (4/4): vim-common-8.0.1763-16.el8.x86_64.rpm 13 MB/s | 6.3 MB 00:00 ----------------------------------------------------------------------------- Total 16 MB/s | 7.8 MB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : vim-filesystem-2:8.0.1763-16.el8.noarch 1/4 Installing : vim-common-2:8.0.1763-16.el8.x86_64 2/4 Installing : gpm-libs-1.20.7-17.el8.x86_64 3/4 Running scriptlet: gpm-libs-1.20.7-17.el8.x86_64 3/4 Installing : vim-enhanced-2:8.0.1763-16.el8.x86_64 4/4 Running scriptlet: vim-enhanced-2:8.0.1763-16.el8.x86_64 4/4 Running scriptlet: vim-common-2:8.0.1763-16.el8.x86_64 4/4 Verifying : gpm-libs-1.20.7-17.el8.x86_64 1/4 Verifying : vim-common-2:8.0.1763-16.el8.x86_64 2/4 Verifying : vim-enhanced-2:8.0.1763-16.el8.x86_64 3/4 Verifying : vim-filesystem-2:8.0.1763-16.el8.noarch 4/4 Installed products updated. Installed: gpm-libs-1.20.7-17.el8.x86_64 vim-common-2:8.0.1763-16.el8.x86_64 vim-enhanced-2:8.0.1763-16.el8.x86_64 vim-filesystem-2:8.0.1763-16.el8.noarch Complete! //此处install表示安装 -y表示自动回复yes进行安装 [root@lnh ~]# dnf -y remove vim Dependencies resolved. ============================================================================= Package Arch Version Repository Size ============================================================================= Removing: vim-enhanced x86_64 2:8.0.1763-16.el8_5.12 @appstream 2.9 M Removing unused dependencies: gpm-libs x86_64 1.20.7-17.el8 @appstream 28 k vim-common x86_64 2:8.0.1763-16.el8_5.12 @appstream 27 M vim-filesystem noarch 2:8.0.1763-16.el8_5.12 @appstream 40 Transaction Summary ============================================================================= Remove 4 Packages Freed space: 30 M Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Erasing : vim-enhanced-2:8.0.1763-16.el8_5.12.x86_64 1/4 Erasing : vim-common-2:8.0.1763-16.el8_5.12.x86_64 2/4 Erasing : vim-filesystem-2:8.0.1763-16.el8_5.12.noarch 3/4 Erasing : gpm-libs-1.20.7-17.el8.x86_64 4/4 Running scriptlet: gpm-libs-1.20.7-17.el8.x86_64 4/4 Verifying : gpm-libs-1.20.7-17.el8.x86_64 1/4 Verifying : vim-common-2:8.0.1763-16.el8_5.12.x86_64 2/4 Verifying : vim-enhanced-2:8.0.1763-16.el8_5.12.x86_64 3/4 Verifying : vim-filesystem-2:8.0.1763-16.el8_5.12.noarch 4/4 Installed products updated. Removed: gpm-libs-1.20.7-17.el8.x86_64 vim-common-2:8.0.1763-16.el8_5.12.x86_64 vim-enhanced-2:8.0.1763-16.el8_5.12.x86_64 vim-filesystem-2:8.0.1763-16.el8_5.12.noarch Complete! //remove是卸载的意思 [root@lnh ~]# dnf -y install --nogpgcheck wget Last metadata expiration check: 0:16:54 ago on Sat 09 Jul 2022 01:11:55 AM CST. Dependencies resolved. ============================================================================= Package Architecture Version Repository Size ============================================================================= Installing: wget x86_64 1.19.5-10.el8 AppStream 734 k Transaction Summary ============================================================================= Install 1 Package Total download size: 734 k Installed size: 2.8 M Downloading Packages: wget-1.19.5-10.el8.x86_64.rpm 5.1 MB/s | 734 kB 00:00 ----------------------------------------------------------------------------- Total 5.0 MB/s | 734 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : wget-1.19.5-10.el8.x86_64 1/1 Running scriptlet: wget-1.19.5-10.el8.x86_64 1/1 Verifying : wget-1.19.5-10.el8.x86_64 1/1 Installed products updated. Installed: wget-1.19.5-10.el8.x86_64 Complete! //不检查合法性进行下载 [root@lnh ~]# dnf -q install wget Is this ok [y/N]: y [root@lnh ~]# //安装的时候不显示安装信息,一般不推荐使用因为看不出是否安装成功 --disablerepo=repoidglob //临时禁用此处指定的repo --enablerepo=repoidglob //临时启用此处指定的repo --noplugins //禁用所有插件
常用的command:
[root@lnh ~]# cd /etc/yum.repos.d/ [root@lnh yum.repos.d]# yum list all ... yum-utils.noarch 4.0.21-3.el8 base zenity.x86_64 3.28.1-1.el8 AppStream zlib.i686 1.2.11-17.el8 base zlib-devel.i686 1.2.11-17.el8 base zlib-devel.x86_64 1.2.11-17.el8 base zsh.x86_64 5.5.1-6.el8_1.2 base ... //列出仓库里面的东西相当于清单 [root@lnh yum.repos.d]# dnf list available ... xsane.x86_64 0.999-30.el8 AppStream xsane-common.x86_64 0.999-30.el8 AppStream xsane-gimp.x86_64 0.999-30.el8 AppStream xterm.x86_64 331-1.el8_3.2 AppStream xterm-resize.x86_64 331-1.el8_3.2 AppStream xz-devel.i686 5.2.4-3.el8 base ... //列出仓库中有的,但尚未安装的所有可用的包 [root@lnh yum.repos.d]# dnf list installed Installed Packages NetworkManager.x86_64 1:1.30.0-0.3.el8 @anaconda NetworkManager-libnm.x86_64 1:1.30.0-0.3.el8 @anaconda NetworkManager-team.x86_64 1:1.30.0-0.3.el8 @anaconda NetworkManager-tui.x86_64 1:1.30.0-0.3.el8 @anaconda acl.x86_64 2.2.53-1.el8 @anaconda adwaita-cursor-theme.noarch 3.28.0-2.el8 @anaconda adwaita-icon-theme.noarch 3.28.0-2.el8 @anaconda at-spi2-atk.x86_64 2.26.2-1.el8 @anaconda at-spi2-core.x86_64 2.28.0-1.el8 @anaconda atk.x86_64 2.28.1-1.el8 @anaconda audit.x86_64 3.0-0.17.20191104git1c2f876.el8 @anaconda audit-libs.x86_64 3.0-0.17.20191104git1c2f876.el8 @anaconda authselect.x86_64 1.2.2-1.el8 @anaconda authselect-libs.x86_64 1.2.2-1.el8 @anaconda ... //列出已经安装的包 [root@lnh yum.repos.d]# dnf list updates Last metadata expiration check: 0:25:44 ago on Sat 09 Jul 2022 01:11:55 AM CST. Available Upgrades NetworkManager.x86_64 1:1.32.10-4.el8 base NetworkManager-libnm.x86_64 1:1.32.10-4.el8 base NetworkManager-team.x86_64 1:1.32.10-4.el8 base NetworkManager-tui.x86_64 1:1.32.10-4.el8 base authselect.x86_64 1.2.2-3.el8 base authselect-libs.x86_64 1.2.2-3.el8 base bash.x86_64 4.4.20-2.el8 base bind-export-libs.x86_64 32:9.11.26-6.el8 base brotli.x86_64 1.0.6-3.el8 base ca-certificates.noarch 2021.2.50-80.0.el8_4 base centos-gpg-keys.noarch 1:8-3.el8 base centos-stream-repos.noarch 8-3.el8 extras chkconfig.x86_64 1.19.1-1.el8 base coreutils.x86_64 8.30-12.el8 base //列出可升级的包,并且已经指定了可以升级到上面版本 [root@lnh yum.repos.d]# dnf clean packages 0 files removed //清理缓存的包 headers 清理头部文件 metadata 清理元数据 dbcache 清理数据库 [root@lnh ~]# dnf repolist all repo id repo name status AppStream CentOS-8.5.2111 - AppStream - mirrors.aliyun.com enabled PowerTools CentOS-8.5.2111 - PowerTools - mirrors.aliyun.com disabled base CentOS-8.5.2111 - Base - mirrors.aliyun.com enabled centosplus CentOS-8.5.2111 - Plus - mirrors.aliyun.com disabled extras CentOS-8.5.2111 - Extras - mirrors.aliyun.com enabled //显示列表的信息 [root@lnh ~]# dnf repolist enabled repo id repo name AppStream CentOS-8.5.2111 - AppStream - mirrors.aliyun.com base CentOS-8.5.2111 - Base - mirrors.aliyun.com extras CentOS-8.5.2111 - Extras - mirrors.aliyun.com //显示默认是enabled [root@lnh ~]# dnf repolist disabled repo id repo name PowerTools CentOS-8.5.2111 - PowerTools - mirrors.aliyun.com centosplus CentOS-8.5.2111 - Plus - mirrors.aliyun.com //显示禁用的
升级,查询
[root@lnh ~]# dnf list all |grep curl curl.x86_64 7.61.1-17.el8 @anaconda libcurl.x86_64 7.61.1-17.el8 @anaconda curl.x86_64 7.61.1-22.el8 base libcurl.i686 7.61.1-22.el8 base libcurl.x86_64 7.61.1-22.el8 base libcurl-devel.i686 7.61.1-22.el8 base libcurl-devel.x86_64 7.61.1-22.el8 base libcurl-minimal.i686 7.61.1-22.el8 base libcurl-minimal.x86_64 7.61.1-22.el8 base nbdkit-curl-plugin.x86_64 1.16.2-4.module_el8.5.0+746+bbd5d70c AppStream python3-pycurl.x86_64 7.43.0.2-4.el8 AppStream qemu-kvm-block-curl.x86_64 15:4.2.0-59.module_el8.5.0+1063+c9b9feff.1 AppStream //列出curl的包 [root@lnh ~]# dnf list updates Last metadata expiration check: 0:54:08 ago on Sat 09 Jul 2022 01:11:55 AM CST. Available Upgrades NetworkManager.x86_64 1:1.32.10-4.el8 base NetworkManager-libnm.x86_64 1:1.32.10-4.el8 base NetworkManager-team.x86_64 1:1.32.10-4.el8 base NetworkManager-tui.x86_64 1:1.32.10-4.el8 base authselect.x86_64 1.2.2-3.el8 base authselect-libs.x86_64 1.2.2-3.el8 base bind-export-libs.x86_64 32:9.11.26-6.el8 base ca-certificates.noarch 2021.2.50-80.0.el8_4 base centos-gpg-keys.noarch 1:8-3.el8 base ... //列出可升级的包 [root@lnh ~]# dnf list all | grep man-db man-db.x86_64 2.7.6.1-17.el8 @anaconda man-db.x86_64 2.7.6.1-18.el8 base man-db-cron.noarch 2.7.6.1-18.el8 base //列出man-db的包 [root@lnh ~]# dnf -y update man-db Last metadata expiration check: 1:01:31 ago on Sat 09 Jul 2022 01:11:55 AM CST. Dependencies resolved. ============================================================================ Package Architecture Version Repository Size ============================================================================ Upgrading: man-db x86_64 2.7.6.1-18.el8 base 887 k Transaction Summary ============================================================================ Upgrade 1 Package Total size: 887 k Downloading Packages: [SKIPPED] man-db-2.7.6.1-18.el8.x86_64.rpm: Already downloaded Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: man-db-2.7.6.1-18.el8.x86_64 1/1 Running scriptlet: man-db-2.7.6.1-18.el8.x86_64 1/2 Upgrading : man-db-2.7.6.1-18.el8.x86_64 1/2 Running scriptlet: man-db-2.7.6.1-18.el8.x86_64 1/2 Cleanup : man-db-2.7.6.1-17.el8.x86_64 2/2 Running scriptlet: man-db-2.7.6.1-17.el8.x86_64 2/2 Running scriptlet: man-db-2.7.6.1-18.el8.x86_64 2/2 Verifying : man-db-2.7.6.1-18.el8.x86_64 1/2 Verifying : man-db-2.7.6.1-17.el8.x86_64 2/2 Installed products updated. Upgraded: man-db-2.7.6.1-18.el8.x86_64 Complete! //对其进行升级 [root@lnh ~]# dnf info man-db Last metadata expiration check: 1:03:01 ago on Sat 09 Jul 2022 01:11:55 AM CST. Installed Packages Name : man-db Version : 2.7.6.1 Release : 18.el8 Architecture : x86_64 Size : 1.9 M Source : man-db-2.7.6.1-18.el8.src.rpm Repository : @System From repo : base Summary : Tools for searching and reading man pages URL : http://www.nongnu.org/man-db/ License : GPLv2+ and GPLv3+ Description : The man-db package includes five tools for browsing : man-pages: man, whatis, apropos, manpath and lexgrog. man : formats and displays manual pages. whatis searches the manual : page names. apropos searches the manual page names and : descriptions. manpath determines search path for manual : pages. lexgrog directly reads header information in manual : pages. //列出软件包的信息相当于rpm包里面的用rpm -qi 包查看信息
与历史记录相关的命令
[root@lnh ~]# dnf history ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 21 | -y update man-db | 2022-07-09 02:13 | Upgrade | 1 < 20 | update | 2022-07-09 01:53 | I, U | 261 ># 19 | -q install wget | 2022-07-09 01:30 | Install | 1 18 | -y remove wget | 2022-07-09 01:29 | Removed | 1 17 | -y install --nogpgcheck | 2022-07-09 01:28 | Install | 1 16 | -y remove wget | 2022-07-09 01:28 | Removed | 1 15 | -y install vim | 2022-07-09 01:11 | Install | 4 14 | -y remove vim | 2022-07-09 01:10 | Removed | 4 < 13 | -y install sudo | 2022-07-04 15:36 | Upgrade | 1 > 12 | -y install iotop | 2022-07-04 05:35 | Install | 1 11 | -y install htop | 2022-07-04 04:57 | Install | 1 10 | -y install psmisc | 2022-07-03 22:03 | Install | 1 9 | -y install tar | 2022-06-30 08:58 | Install | 1 8 | -y install zip | 2022-06-30 04:45 | Install | 1 7 | -y install unzip | 2022-06-30 02:17 | Install | 1 6 | -y install bzip2 | 2022-06-30 02:15 | Install | 1 5 | -y install tree | 2022-06-28 04:31 | Install | 1 4 | -y install bash-completi | 2022-06-27 22:10 | Install | 5 3 | -y install epel-release | 2022-06-27 22:09 | Install | 1 2 | -y install vim | 2022-06-27 21:17 | Install | 4 1 | | 2022-06-27 21:06 | Install | 425 EE //最后一个空白处表示我们刚刚安装系统时的 其他的但是系统安装好后用下载命令进行下载安装包的记录 [root@lnh ~]# dnf history info 2 Transaction ID : 2 Begin time : Mon 27 Jun 2022 09:17:23 PM CST Begin rpmdb : 423:cac03573ad9f7d066e36879b5909fe1b1f0fff31 End time : Mon 27 Jun 2022 09:17:28 PM CST (5 seconds) End rpmdb : 427:8e6c64e107fb4b38d247b4e55187de6b5ea05370 User : root <root> Return-Code : Success Releasever : 8 Command Line : -y install vim Comment : Packages Altered: Install gpm-libs-1.20.7-17.el8.x86_64 @appstream Install vim-common-2:8.0.1763-16.el8_5.12.x86_64 @appstream Install vim-enhanced-2:8.0.1763-16.el8_5.12.x86_64 @appstream Install vim-filesystem-2:8.0.1763-16.el8_5.12.noarch @appstream //查询历史执行yum命令2的详细信息 [root@lnh ~]# dnf history undo 20 //撤销历史执行过yum命令里面第20个