yum工具的使用

yum工具的使用

yum仓库管理

1. yum本地仓库

挂载镜像

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
.....

//检验yum地仓库

2. yum网络仓库

官方的网络yum仓库在国外
我们可以使用国内的yum仓库:
阿里云yum仓库(https://developer.aliyun.com/mirror/)
epel源
(https://developer.aliyun.com/mirror/)
163yum仓库
(http://mirrors.163.com/)
清华大学yum仓库
(https://mirrors.tuna.tsinghua.edu.cn/)

[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                                        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
Total                                       5.8 MB/s | 734 kB     00:00
Running transaction check
Transaction check succeeded.

Running transaction test
Transaction test succeeded.

Running transaction
  Preparing        :                                                    1/1
  Reinstalling     : wget-1.19.5-10.el8.x86_64                          1/2
  Running scriptlet: wget-1.19.5-10.el8.x86_64                          1/2
  Running scriptlet: wget-1.19.5-10.el8.x86_64                          2/2
  Cleanup          : wget-1.19.5-10.el8.x86_64                          2/2
  Running scriptlet: wget-1.19.5-10.el8.x86_64                          2/2
  Verifying        : wget-1.19.5-10.el8.x86_64                          1/2
  Verifying        : wget-1.19.5-10.el8.x86_64                          2/2
Installed products updated.

Reinstalled:
  wget-1.19.5-10.el8.x86_64

Complete!

//重新下载
[root@lnh ~]# ls /etc/ |grep wgetrc
wgetrc
//发现又生成了一份配置文件

下载但不安装
将其rpm包安装到指定的目录中

`
[root@lnh ~]# dnf -y install –downloadonly –downloaddir /tushanbu/ zshd
Last metadata expiration check: 2:28:26 ago on Sat 09 Jul 2022 01:11:55 AM CST.

No match for argument: zshd
Error: Unable to find a match: zshd
[root@lnh ~]# dnf -y install –downloadonly –downloaddir /tushanbu/ zstd
Last metadata expiration check: 2:28:38 ago on Sat 09 Jul 2022 01:11:55 AM CST.

Dependencies resolved.

============================================================================
Package Architecture Version Repository Size
============================================================================
Installing:
zstd x86_64 1.4.4-1.el8 AppStream 393 k

Transaction Summary

Install 1 Package

Total download size: 393 k
Installed size: 1.5 M
DNF will only download packages for the transaction.

Downloading Packages:
zstd-1.4.4-1.el8.x86_64.rpm 111 kB/s | 393 kB 00:03

Original: https://www.cnblogs.com/tushanbu/p/16468202.html
Author: 涂山布
Title: yum工具的使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523129/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球