• Linux-yum工具的使用


    Linux-yum工具的使用

    什么是yum

    Yum(全称为 Yellowdog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

    查看内核版本号

    [root@localhost ~]# uname -r
    4.18.0-193.el8.x86_64
    

    挂载光盘

    当我们使用本地配置yum时,需要挂载光盘

    [root@localhost ~]# mount /dev/cdrom /mnt/
    mount: /mnt: WARNING: device write-protected, mounted read-only.
    [root@localhost ~]# df -h
    Filesystem             Size  Used Avail Use% Mounted on
    devtmpfs               883M     0  883M   0% /dev
    tmpfs                  901M     0  901M   0% /dev/shm
    tmpfs                  901M  8.6M  892M   1% /run
    tmpfs                  901M     0  901M   0% /sys/fs/cgroup
    /dev/mapper/rhel-root   50G  1.7G   49G   4% /
    /dev/nvme0n1p1        1014M  179M  836M  18% /boot
    /dev/mapper/rhel-home   47G  368M   47G   1% /home
    tmpfs                  181M     0  181M   0% /run/user/0
    /dev/sr0               7.9G  7.9G     0 100% /mnt
    

    yum的配置文件

    • 配置文件有哪些:
      • /etc/yum.conf 作用:为所有仓库提供公共配置
      • /etc/yum.repos.d/*.repo 作用:为仓库的指向提供配置
    • yum的repo配置文件中可用的变量:
      • $releaseversion:当前OS的发行版的主版本号
      • $arch:平台类型
      • $basearch:基础平台
    [root@localhost ~]# vi /etc/yum.conf 
    [main]
    gpgcheck=1							//检查软件包合法性
    installonly_limit=3					        //只能同时安装3个软件包
    clean_requirements_on_remove=True	                        //卸载后清理所需要的软件包
    best=True
    skip_if_unavailable=False			                //如果软件包不可用也不跳过
    
    [root@localhost ~]# vi /etc/yum.repos.d/redhat.repo
    [BaseOS]							//仓库名称
    name=baseos							//描述信息
    baseurl=file:///mnt/BaseOS/			                //仓库的具体路径,有三种:ftp,http,file,这里用的是本地file
    gpgcheck=0							//1为检查软件包来源合法性,0为不检查来源
    enabled=1							//1为启用此仓库,0为禁用此仓库
    [AppStream]
    name=appstream
    baseurl=file:///mnt/AppStream/
    gpgcheck=0
    enabled=1
    

    yum仓库管理

    如何配置yum本地仓库

    //第一步:挂载光盘
    [root@localhost ~]# mount /dev/cdrom /mnt/
    mount: /mnt: WARNING: device write-protected, mounted read-only.
    
    //第二步:复制光盘内容到本地
    [root@localhost ~]# mkdir /opt/yum_local
    [root@localhost ~]# cp -r /mnt/* /opt/yum_local/
    [root@localhost ~]# uname -r
    4.18.0-193.el8.x86_64
    [root@localhost ~]# ls /opt/yum_local/
    AppStream  EFI   extra_files.json  images    media.repo               RPM-GPG-KEY-redhat-release
    BaseOS     EULA  GPL               isolinux  RPM-GPG-KEY-redhat-beta  TRANS.TBL
    
    //第三步:配置repo文件
    [root@localhost ~]# ls /etc/yum.repos.d/
    redhat.repo
    [root@localhost ~]# vi /etc/yum.repos.d/redhat.repo 
    [root@localhost ~]# cat /etc/yum.repos.d/redhat.repo 
    [BaseOS]
    name=baseos
    baseurl=file:///opt/yum_local/BaseOS/
    gpgcheck=0
    enabled=1
    [AppStream]
    name=appstream
    baseurl=file:///opt/yum_local/AppStream/
    gpgcheck=0
    enabled=1
    
    //第四步:清空yum本地缓存
    [root@localhost ~]# yum clean all
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    12 files removed
    
    //第五步:检验yum本地仓库
    [root@localhost ~]# yum list all
    yum list | head
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:07:09 ago on Wed 02 Dec 2020 02:02:09 PM CST.
    Installed Packages
    NetworkManager.x86_64                                1:1.22.8-4.el8                                   @anaconda 
    NetworkManager-libnm.x86_64                          1:1.22.8-4.el8                                   @anaconda 
    NetworkManager-team.x86_64                           1:1.22.8-4.el8                                   @anaconda 
    NetworkManager-tui.x86_64                            1:1.22.8-4.el8                                   @anaconda 
    acl.x86_64                                           2.2.53-1.el8                                     @anaconda 
    ......
    zsh-html.noarch                                    5.5.1-6.el8_1.2                           AppStream 
    zstd.x86_64                                        1.4.2-2.el8                               AppStream 
    zziplib.i686                                       0.13.68-8.el8                             AppStream 
    zziplib.x86_64                                     0.13.68-8.el8                             AppStream 
    zziplib-utils.x86_64                               0.13.68-8.el8                             AppStream
    

    如何配置yum网络仓库

    • 官方网络yum仓库(国外)
    • 阿里云yum仓库
    • 163yum仓库
    • xx大学yum仓库
    • epel源

    本次演示使用的是阿里云yum仓库http://mirrors.aliyun.com

    //第一步:下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
    [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  2595  100  2595    0     0   2826      0 --:--:-- --:--:-- --:--:--  2823
    [root@localhost ~]# ls /etc/yum.repos.d/
    CentOS-Base.repo  redhat.repo
    
    //第二步:删除不需要的配置
    [root@localhost ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
    
    //第三步:修改配置文件将$releasever改为对应自己系统的版本号
    [root@localhost ~]# vi /etc/yum.repos.d/CentOS-Base.repo 
    :%s/$releasever/8/g
    
    //第四步:清空yum本地缓存
    [root@localhost ~]# yum clean all
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    12 files removed
    
    //第五步:检验yum本地仓库
    [root@localhost ~]# yum list all
    ......
    zlib.i686                                         1.2.11-16.el8_2                            base      
    zlib.x86_64                                       1.2.11-16.el8_2                            base      
    zlib-devel.i686                                   1.2.11-16.el8_2                            base      
    zlib-devel.x86_64                                 1.2.11-16.el8_2                            base      
    zsh.x86_64                                        5.5.1-6.el8_1.2                            base      
    zsh-html.noarch                                   5.5.1-6.el8_1.2                            AppStream 
    zstd.x86_64                                       1.4.2-2.el8                                AppStream 
    zziplib.i686                                      0.13.68-8.el8                              AppStream 
    zziplib.x86_64                                    0.13.68-8.el8                              AppStream 
    zziplib-utils.x86_64                              0.13.68-8.el8                              AppStream
    

    yum管理软件

    小拓展:为什么用yum安装时,不用指定软件包的位置和版本号?

    答:因为yum仓库有清单,使用yum它会自己去查清单。

    安装软件包常用选项

    //-y 自动回答yes
    [root@localhost ~]# yum -y install zsh
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:03:54 ago on Tue 01 Dec 2020 12:52:13 PM CST.
    
    Dependencies resolved.
    =======================================================================================================
    
     Package            Architecture          Version                          Repository             Size
    =======================================================================================================
    
    Installing:
     zsh                x86_64                5.5.1-6.el8_1.2                  BaseOS                2.9 M
    
    Transaction Summary
    =======================================================================================================
    
    Install  1 Package
    
    Total size: 2.9 M
    Installed size: 7.2 M
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                               1/1 
      Installing       : zsh-5.5.1-6.el8_1.2.x86_64                                                    1/1 
      Running scriptlet: zsh-5.5.1-6.el8_1.2.x86_64                                                    1/1 
      Verifying        : zsh-5.5.1-6.el8_1.2.x86_64                                                    1/1 
    Installed products updated.
    
    Installed:
      zsh-5.5.1-6.el8_1.2.x86_64                                                                           
    
    Complete!
    
    //-q 静默安装不输出信息
    [root@localhost ~]# yum -q install zsh
    Is this ok [y/N]: y
    [root@localhost ~]# echo $?				//如果为0说明执行成功,如果非0说明执行失败
    0
    [root@localhost ~]# rpm -qa | grep zsh
    zsh-5.5.1-6.el8_1.2.x86_64
    

    yum常用命令

    list 列表

    //list installed	列出已经安装的包
    [root@localhost ~]# yum list installed | grep zsh
    zsh.x86_64                                    5.5.1-6.el8_1.2                        @BaseOS   
    
    //list available	列出可用未安装的包
    [root@localhost ~]# yum list available | grep zsh
    zsh-html.noarch                                      5.5.1-6.el8_1.2                                   AppStream
    
    //list updates	列出可升级的包
    [root@localhost ~]# yum list updates
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:29:23 ago on Tue 01 Dec 2020 12:52:13 PM CST.
    

    clean 清理缓存

    //clean all	清理所有缓存
    [root@localhost ~]# yum clean all
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    12 files removed
    

    repolist 仓库列表

    //repolist all	列出所有仓库
    [root@localhost ~]# yum repolist all
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    repo id                                        repo name                                       status
    AppStream                                      appstream                                       enabled
    BaseOS                                         baseos                                          enabled
    yqh                                            yqh                                             disable
    
    //repolist enabled 列出可用的仓库(默认是enabled)
    [root@localhost ~]# yum repolist enabled
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    repo id                                             repo name
    AppStream                                           appstream
    BaseOS                                              baseos
    
    //repolist disabled	列出不可用的仓库
    [root@localhost ~]# yum repolist disabled
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    repo id                                               repo name
    yqh                                                   yqh
    

    install 安装

    //一次性安装zsh,wget,vim
    [root@localhost ~]# yum -y install zsh wget vim
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    baseos                                                                 141 MB/s | 2.3 MB     00:00    
    appstream                                                              148 MB/s | 5.8 MB     00:00    
    Last metadata expiration check: 0:00:01 ago on Tue 01 Dec 2020 01:31:22 PM CST.
    Dependencies resolved.
    =======================================================================================================
     Package                   Architecture      Version                        Repository            Size
    =======================================================================================================
    Installing:
     vim-enhanced              x86_64            2:8.0.1763-13.el8              AppStream            1.4 M
     wget                      x86_64            1.19.5-8.el8_1.1               AppStream            735 k
     zsh                       x86_64            5.5.1-6.el8_1.2                BaseOS               2.9 M
    Installing dependencies:
     gpm-libs                  x86_64            1.20.7-15.el8                  AppStream             39 k
     vim-common                x86_64            2:8.0.1763-13.el8              AppStream            6.3 M
     vim-filesystem            noarch            2:8.0.1763-13.el8              AppStream             48 k
    
    Transaction Summary
    =======================================================================================================
    Install  6 Packages
    
    Total size: 11 M
    Installed size: 41 M
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                               1/1 
      Installing       : vim-filesystem-2:8.0.1763-13.el8.noarch                                       1/6 
      Installing       : vim-common-2:8.0.1763-13.el8.x86_64                                           2/6 
      Installing       : gpm-libs-1.20.7-15.el8.x86_64                                                 3/6 
      Running scriptlet: gpm-libs-1.20.7-15.el8.x86_64                                                 3/6 
      Installing       : vim-enhanced-2:8.0.1763-13.el8.x86_64                                         4/6 
      Installing       : wget-1.19.5-8.el8_1.1.x86_64                                                  5/6 
      Running scriptlet: wget-1.19.5-8.el8_1.1.x86_64                                                  5/6 
      Installing       : zsh-5.5.1-6.el8_1.2.x86_64                                                    6/6 
      Running scriptlet: zsh-5.5.1-6.el8_1.2.x86_64                                                    6/6 
      Running scriptlet: vim-common-2:8.0.1763-13.el8.x86_64                                           6/6 
      Verifying        : zsh-5.5.1-6.el8_1.2.x86_64                                                    1/6 
      Verifying        : gpm-libs-1.20.7-15.el8.x86_64                                                 2/6 
      Verifying        : vim-common-2:8.0.1763-13.el8.x86_64                                           3/6 
      Verifying        : vim-enhanced-2:8.0.1763-13.el8.x86_64                                         4/6 
      Verifying        : vim-filesystem-2:8.0.1763-13.el8.noarch                                       5/6 
      Verifying        : wget-1.19.5-8.el8_1.1.x86_64                                                  6/6 
    Installed products updated.
    
    Installed:
      gpm-libs-1.20.7-15.el8.x86_64                     vim-common-2:8.0.1763-13.el8.x86_64                
      vim-enhanced-2:8.0.1763-13.el8.x86_64             vim-filesystem-2:8.0.1763-13.el8.noarch            
      wget-1.19.5-8.el8_1.1.x86_64                      zsh-5.5.1-6.el8_1.2.x86_64                         
    
    Complete!
    

    update 更新

    //更新所有包
    [root@localhost ~]# yum update
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:01:49 ago on Tue 01 Dec 2020 01:31:22 PM CST.
    Dependencies resolved.
    Nothing to do.
    Complete!
    
    //只更新wget
    [root@localhost ~]# yum list updates
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:51:21 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    Available Upgrades
    wget.x86_64                                 1.19.5-8.el8_1.1                                  AppStream
    [root@localhost ~]# yum -y update wget
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:52:39 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    Dependencies resolved.
    =======================================================================================================
     Package            Architecture         Version                         Repository               Size
    =======================================================================================================
    Upgrading:
     wget               x86_64               1.19.5-8.el8_1.1                AppStream               735 k
    
    Transaction Summary
    =======================================================================================================
    Upgrade  1 Package
    
    Total size: 735 k
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                               1/1 
      Upgrading        : wget-1.19.5-8.el8_1.1.x86_64                                                  1/2 
      Running scriptlet: wget-1.19.5-8.el8_1.1.x86_64                                                  1/2 
      Running scriptlet: wget-1.14-18.el7_6.1.x86_64                                                   2/2 
      Cleanup          : wget-1.14-18.el7_6.1.x86_64                                                   2/2 
      Running scriptlet: wget-1.14-18.el7_6.1.x86_64                                                   2/2 
      Verifying        : wget-1.19.5-8.el8_1.1.x86_64                                                  1/2 
      Verifying        : wget-1.14-18.el7_6.1.x86_64                                                   2/2 
    Installed products updated.
    
    Upgraded:
      wget-1.19.5-8.el8_1.1.x86_64                                                                         
    
    Complete!
    

    remove|erase 卸载

    //卸载zsh
    [root@localhost ~]# yum -y remove zsh			//这里的remove可以换成erase
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Dependencies resolved.
    =======================================================================================================
     Package            Architecture          Version                         Repository              Size
    =======================================================================================================
    Removing:
     zsh                x86_64                5.5.1-6.el8_1.2                 @BaseOS                7.2 M
    
    Transaction Summary
    =======================================================================================================
    Remove  1 Package
    
    Freed space: 7.2 M
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                               1/1 
      Running scriptlet: zsh-5.5.1-6.el8_1.2.x86_64                                                    1/1 
      Erasing          : zsh-5.5.1-6.el8_1.2.x86_64                                                    1/1 
      Running scriptlet: zsh-5.5.1-6.el8_1.2.x86_64                                                    1/1 
      Verifying        : zsh-5.5.1-6.el8_1.2.x86_64                                                    1/1 
    Installed products updated.
    
    Removed:
      zsh-5.5.1-6.el8_1.2.x86_64                                                                           
    
    Complete!
    

    info 查询软件包的相关信息

    //查询wget的相关信息
    [root@localhost ~]# yum info wget
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:06:48 ago on Tue 01 Dec 2020 01:31:22 PM CST.
    Installed Packages
    Name         : wget
    Version      : 1.19.5
    Release      : 8.el8_1.1
    Architecture : x86_64
    Size         : 2.9 M
    Source       : wget-1.19.5-8.el8_1.1.src.rpm
    Repository   : @System
    From repo    : AppStream
    Summary      : A utility for retrieving files using the HTTP or FTP protocols
    URL          : http://www.gnu.org/software/wget/
    License      : GPLv3+
    Description  : GNU Wget is a file retrieval utility which can use either the HTTP or
                 : FTP protocols. Wget features include the ability to work in the
                 : background while you are logged out, recursive retrieval of
                 : directories, file name wildcard matching, remote file timestamp
                 : storage and comparison, use of Rest with FTP servers and Range with
                 : HTTP servers to retrieve files over slow or unstable connections,
                 : support for Proxy servers, and configurability.
    

    provides 查看指定的文件或特性是由哪个包安装生成的

    //查看wget是由哪个包安装生成的
    [root@localhost ~]# yum provides wget
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:10:52 ago on Tue 01 Dec 2020 01:31:22 PM CST.
    wget-1.19.5-8.el8_1.1.x86_64 : A utility for retrieving files using the HTTP or FTP protocols
    Repo        : @System
    Matched from:
    Provide    : wget = 1.19.5-8.el8_1.1
    
    wget-1.19.5-8.el8_1.1.x86_64 : A utility for retrieving files using the HTTP or FTP protocols
    Repo        : AppStream
    Matched from:
    Provide    : wget = 1.19.5-8.el8_1.1
    

    search 指定的关键字搜索软件包

    //查询跟zsh相关的软件包
    [root@localhost ~]# yum search zsh
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:02:20 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    ====================================== Name Exactly Matched: zsh ======================================
    zsh.x86_64 : Powerful interactive shell
    ===================================== Name & Summary Matched: zsh =====================================
    zsh-html.noarch : Zsh shell manual in html format
    

    deplist 显示指定包的依赖关系

    //查看vim的依赖包
    [root@localhost ~]# yum deplist vim-enhanced
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:05:29 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    package: vim-enhanced-2:8.0.1763-13.el8.x86_64
      dependency: /bin/sh
       provider: bash-4.4.19-10.el8.x86_64
      dependency: libacl.so.1()(64bit)
       provider: libacl-2.2.53-1.el8.x86_64
      dependency: libacl.so.1(ACL_1.0)(64bit)
       provider: libacl-2.2.53-1.el8.x86_64
      dependency: libc.so.6(GLIBC_2.28)(64bit)
       provider: glibc-2.28-101.el8.x86_64
      dependency: libdl.so.2()(64bit)
       provider: glibc-2.28-101.el8.x86_64
      dependency: libdl.so.2(GLIBC_2.2.5)(64bit)
       provider: glibc-2.28-101.el8.x86_64
      dependency: libgpm.so.2()(64bit)
       provider: gpm-libs-1.20.7-15.el8.x86_64
      dependency: libm.so.6()(64bit)
       provider: glibc-2.28-101.el8.x86_64
      dependency: libm.so.6(GLIBC_2.2.5)(64bit)
       provider: glibc-2.28-101.el8.x86_64
      dependency: libpthread.so.0()(64bit)
       provider: glibc-2.28-101.el8.x86_64
      dependency: libpthread.so.0(GLIBC_2.2.5)(64bit)
       provider: glibc-2.28-101.el8.x86_64
      dependency: libselinux.so.1()(64bit)
       provider: libselinux-2.9-3.el8.x86_64
      dependency: libtinfo.so.6()(64bit)
       provider: ncurses-libs-6.1-7.20180224.el8.x86_64
      dependency: rtld(GNU_HASH)
       provider: glibc-2.28-101.el8.i686
       provider: glibc-2.28-101.el8.x86_64
      dependency: vim-common = 2:8.0.1763-13.el8
       provider: vim-common-2:8.0.1763-13.el8.x86_64
      dependency: which
       provider: which-2.21-12.el8.x86_64
    

    history 查看yum的历史事务信息

    [root@localhost ~]# yum history
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    ID     | Command line             | Date and time    | Action(s)      | Altered
    -------------------------------------------------------------------------------
         5 | -y remove zsh            | 2020-12-01 13:35 | Removed        |    1   
         4 | -y install zsh wget vim  | 2020-12-01 13:31 | Install        |    6  <
         3 | -q install zsh           | 2020-12-01 12:59 | Install        |    1 ><
         2 | -y install zsh           | 2020-12-01 12:56 | Install        |    1 > 
         1 |                          | 2020-11-16 18:43 | Install        |  420 EE
         
    //查看历史记录第四行的详细信息
    [root@localhost ~]# yum history info 4
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Transaction ID : 4
    Begin time     : Tue 01 Dec 2020 01:31:26 PM CST
    Begin rpmdb    : 417:3d3b11ecfb8c229d0915cef350b906880c4b8bbb
    End time       : Tue 01 Dec 2020 01:31:37 PM CST (11 seconds)
    End rpmdb      : 423:15f529b46ad1dc8cd0ed944f727c8a0e03f259ce
    User           : root <root>
    Return-Code    : Success
    Releasever     : 8
    Command Line   : -y install zsh wget vim
    Packages Altered:
        Install zsh-5.5.1-6.el8_1.2.x86_64              @BaseOS
        Install gpm-libs-1.20.7-15.el8.x86_64           @AppStream
        Install vim-common-2:8.0.1763-13.el8.x86_64     @AppStream
        Install vim-enhanced-2:8.0.1763-13.el8.x86_64   @AppStream
        Install vim-filesystem-2:8.0.1763-13.el8.noarch @AppStream
        Install wget-1.19.5-8.el8_1.1.x86_64            @AppStream
    
    
    //撤销历史执行过的第四条命令
    [root@localhost ~]# yum history undo 4
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:08:41 ago on Tue 01 Dec 2020 03:00:31 PM CST.
    Undoing transaction 4, from Tue 01 Dec 2020 01:31:26 PM CST
        Install zsh-5.5.1-6.el8_1.2.x86_64              @BaseOS
        Install gpm-libs-1.20.7-15.el8.x86_64           @AppStream
        Install vim-common-2:8.0.1763-13.el8.x86_64     @AppStream
        Install vim-enhanced-2:8.0.1763-13.el8.x86_64   @AppStream
        Install vim-filesystem-2:8.0.1763-13.el8.noarch @AppStream
        Install wget-1.19.5-8.el8_1.1.x86_64            @AppStream
    No package wget-1.19.5-8.el8_1.1.x86_64 installed.
    No package zsh-5.5.1-6.el8_1.2.x86_64 installed.
    Error: no package matched
    

    localinstall 安装本地rpm包,自动解决依赖关系

    //我们先下载一个wget软件包
    [root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm
    --2020-12-01 14:04:37--  http://mirror.centos.org/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm
    Resolving mirror.centos.org (mirror.centos.org)... 111.90.139.14, 2604:1380:3000:2800::1
    Connecting to mirror.centos.org (mirror.centos.org)|111.90.139.14|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 560272 (547K) [application/x-rpm]
    Saving to: ‘wget-1.14-18.el7_6.1.x86_64.rpm.1’
    
    wget-1.14-18.el7_6.1.x86_ 100%[====================================>] 547.14K  5.76KB/s    in 59s     
    
    2020-12-01 14:05:37 (9.28 KB/s) - ‘wget-1.14-18.el7_6.1.x86_64.rpm.1’ saved [560272/560272]
    [root@localhost ~]# ls
    anaconda-ks.cfg  wget-1.14-18.el7_6.1.x86_64.rpm
    
    //下载完毕后卸载wget,用rpm安装下载好的软件包
    [root@localhost ~]# yum -y -q remove wget
    [root@localhost ~]# rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm 
    warning: wget-1.14-18.el7_6.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    error: Failed dependencies:
    	libcrypto.so.10()(64bit) is needed by wget-1.14-18.el7_6.1.x86_64
    	libcrypto.so.10(libcrypto.so.10)(64bit) is needed by wget-1.14-18.el7_6.1.x86_64
    	libidn.so.11()(64bit) is needed by wget-1.14-18.el7_6.1.x86_64
    	libidn.so.11(LIBIDN_1.0)(64bit) is needed by wget-1.14-18.el7_6.1.x86_64
    	libssl.so.10()(64bit) is needed by wget-1.14-18.el7_6.1.x86_64
    	libssl.so.10(libssl.so.10)(64bit) is needed by wget-1.14-18.el7_6.1.x86_64
    
    //发现有很多依赖包,用rpm安装不上,但是我们能用yum localinstall安装它
    [root@localhost ~]# yum -y localinstall wget-1.14-18.el7_6.1.x86_64.rpm 
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:26:09 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    Dependencies resolved.
    =======================================================================================================
     Package                    Architecture     Version                      Repository              Size
    =======================================================================================================
    Installing:
     wget                       x86_64           1.14-18.el7_6.1              @commandline           547 k
    Installing dependencies:
     compat-openssl10           x86_64           1:1.0.2o-3.el8               AppStream              1.1 M
     emacs-filesystem           noarch           1:26.1-5.el8                 BaseOS                  69 k
     libidn                     x86_64           1.34-5.el8                   AppStream              239 k
     make                       x86_64           1:4.2.1-10.el8               BaseOS                 498 k
    
    Transaction Summary
    =======================================================================================================
    Install  5 Packages
    
    Total size: 2.5 M
    Installed size: 7.1 M
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                               1/1 
      Installing       : make-1:4.2.1-10.el8.x86_64                                                    1/5 
      Running scriptlet: make-1:4.2.1-10.el8.x86_64                                                    1/5 
      Installing       : compat-openssl10-1:1.0.2o-3.el8.x86_64                                        2/5 
      Running scriptlet: compat-openssl10-1:1.0.2o-3.el8.x86_64                                        2/5 
      Installing       : emacs-filesystem-1:26.1-5.el8.noarch                                          3/5 
      Installing       : libidn-1.34-5.el8.x86_64                                                      4/5 
      Running scriptlet: libidn-1.34-5.el8.x86_64                                                      4/5 
      Installing       : wget-1.14-18.el7_6.1.x86_64                                                   5/5 
      Running scriptlet: wget-1.14-18.el7_6.1.x86_64                                                   5/5 
      Verifying        : emacs-filesystem-1:26.1-5.el8.noarch                                          1/5 
      Verifying        : make-1:4.2.1-10.el8.x86_64                                                    2/5 
      Verifying        : compat-openssl10-1:1.0.2o-3.el8.x86_64                                        3/5 
      Verifying        : libidn-1.34-5.el8.x86_64                                                      4/5 
      Verifying        : wget-1.14-18.el7_6.1.x86_64                                                   5/5 
    Installed products updated.
    
    Installed:
      compat-openssl10-1:1.0.2o-3.el8.x86_64 emacs-filesystem-1:26.1-5.el8.noarch libidn-1.34-5.el8.x86_64
      make-1:4.2.1-10.el8.x86_64             wget-1.14-18.el7_6.1.x86_64         
    
    Complete!
    

    安装网络上rpm包

    //安装网络上的wget包
    [root@localhost ~]# yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 1:04:14 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    wget-1.14-18.el7_6.1.x86_64.rpm                                        134 kB/s | 547 kB     00:04    
    Dependencies resolved.
    =======================================================================================================
     Package           Architecture        Version                         Repository                 Size
    =======================================================================================================
    Installing:
     wget              x86_64              1.14-18.el7_6.1                 @commandline              547 k
    
    Transaction Summary
    =======================================================================================================
    Install  1 Package
    
    Total size: 547 k
    Installed size: 2.0 M
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                               1/1 
      Installing       : wget-1.14-18.el7_6.1.x86_64                                                   1/1 
      Running scriptlet: wget-1.14-18.el7_6.1.x86_64                                                   1/1 
      Verifying        : wget-1.14-18.el7_6.1.x86_64                                                   1/1 
    Installed products updated.
    
    Installed:
      wget-1.14-18.el7_6.1.x86_64                                                                          
    
    Complete!
    

    grouplist 列出可用的组

    [root@localhost ~]# yum grouplist
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:34:28 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    Available Environment Groups:
       Server with GUI
       Server
       Workstation
       Custom Operating System
       Virtualization Host
    Installed Environment Groups:
       Minimal Install
    Available Groups:
       Legacy UNIX Compatibility
       Container Management
       Development Tools
       .NET Core Development
       Graphical Administration Tools
       Headless Management
       Network Servers
       RPM Development Tools
       Scientific Support
       Security Tools
       Smart Card Support
       System Tools
    

    groups mark install 安装包组

    [root@localhost ~]# yum -y groups mark install "Development Tools"
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:40:18 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    Dependencies resolved.
    =======================================================================================================
     Package                 Architecture           Version                  Repository               Size
    =======================================================================================================
    Installing Groups:
     Development Tools                                                                                    
    
    Transaction Summary
    =======================================================================================================
    
    Complete!
    

    groups mark remove 卸载包组

    [root@localhost ~]# yum -y groups mark install "Development Tools"
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:40:18 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    Dependencies resolved.
    =======================================================================================================
     Package                 Architecture           Version                  Repository               Size
    =======================================================================================================
    Installing Groups:
     Development Tools                                                                                    
    
    Transaction Summary
    =======================================================================================================
    
    Complete!
    [root@localhost ~]# yum -y groups mark remove "Development Tools"
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:41:34 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    Dependencies resolved.
    =======================================================================================================
     Package                 Architecture           Version                  Repository               Size
    =======================================================================================================
    Removing Groups:
     Development Tools                                                                                    
    
    Transaction Summary
    =======================================================================================================
    
    Complete!
    

    createrepo 创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据

    重装软件包

    //检查软件是否存在
    [root@localhost ~]# rpm -q vsftpd
    vsftpd-3.0.3-31.el8.x86_64
    
    //检查vsftpd软件配置文件
    [root@localhost ~]# rpm -qc vsftpd
    /etc/logrotate.d/vsftpd
    /etc/pam.d/vsftpd
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list
    /etc/vsftpd/vsftpd.conf
    
    //假装不小心删除vsftpd配置文件
    [root@localhost ~]# rm -f /etc/vsftpd/vsftpd.conf 
    
    //重新安装软件
    [root@localhost ~]# yum reinstall vsftpd
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 1:08:23 ago on Tue 01 Dec 2020 01:46:39 PM CST.
    Dependencies resolved.
    =======================================================================================================
     Package              Architecture         Version                       Repository               Size
    =======================================================================================================
    Reinstalling:
     vsftpd               x86_64               3.0.3-31.el8                  AppStream               180 k
    
    Transaction Summary
    =======================================================================================================
    
    Total size: 180 k
    Installed size: 343 k
    Is this ok [y/N]: y
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                               1/1 
      Running scriptlet: vsftpd-3.0.3-31.el8.x86_64                                                    1/1 
      Reinstalling     : vsftpd-3.0.3-31.el8.x86_64                                                    1/2 
      Running scriptlet: vsftpd-3.0.3-31.el8.x86_64                                                    1/2 
      Running scriptlet: vsftpd-3.0.3-31.el8.x86_64                                                    2/2 
      Cleanup          : vsftpd-3.0.3-31.el8.x86_64                                                    2/2 
      Running scriptlet: vsftpd-3.0.3-31.el8.x86_64                                                    2/2 
      Verifying        : vsftpd-3.0.3-31.el8.x86_64                                                    1/2 
      Verifying        : vsftpd-3.0.3-31.el8.x86_64                                                    2/2 
    Installed products updated.
    
    Reinstalled:
      vsftpd-3.0.3-31.el8.x86_64                                                                           
    
    Complete!
    
    //再次检查
    [root@localhost ~]# rpm -qc vsftpd
    /etc/logrotate.d/vsftpd
    /etc/pam.d/vsftpd
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list
    /etc/vsftpd/vsftpd.conf
    

    与缓存相关的命令

    makecache

    存yum源软件仓库, xml元数据文件

    //本次演示yum源为阿里云yum源
    [root@localhost ~]# yum makecache
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    CentOS-8 - Base - mirrors.aliyun.com                                   119 kB/s | 2.2 MB     00:19    
    CentOS-8 - Extras - mirrors.aliyun.com                                 296  B/s | 8.6 kB     00:29    
    CentOS-8 - AppStream - mirrors.aliyun.com                              385 kB/s | 5.8 MB     00:15    
    Metadata cache created.
    

    另一种缓存rpm包方式

    将软件下载至指定目录

    [root@localhost ~]# yum -y install --downloadonly --downloaddir=/tmp/ wget
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:03:46 ago on Tue 01 Dec 2020 03:00:31 PM CST.
    Dependencies resolved.
    =======================================================================================================
     Package            Architecture         Version                         Repository               Size
    =======================================================================================================
    Installing:
     wget               x86_64               1.19.5-8.el8_1.1                AppStream               735 k
    
    Transaction Summary
    =======================================================================================================
    Install  1 Package
    
    Total download size: 735 k
    Installed size: 2.9 M
    YUM will only download packages for the transaction.
    Downloading Packages:
    wget-1.19.5-8.el8_1.1.x86_64.rpm                                       120 kB/s | 735 kB     00:06    
    -------------------------------------------------------------------------------------------------------
    Total                                                                  120 kB/s | 735 kB     00:06     
    warning: /tmp/wget-1.19.5-8.el8_1.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
    CentOS-8 - AppStream - mirrors.aliyun.com                              2.8 kB/s | 1.6 kB     00:00    
    Importing GPG key 0x8483C65D:
     Userid     : "CentOS (CentOS Official Signing Key) <security@centos.org>"
     Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
     From       : https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official
    Key imported successfully
    Complete!
    The downloaded packages were saved in cache until the next successful transaction.
    You can remove cached packages by executing 'yum clean packages'.
    [root@localhost ~]# ls /tmp/
    wget-1.19.5-8.el8_1.1.x86_64.rpm
    

    YUM签名检查机制

    • rpm软件提供组织redhat在构建rpm包时, 使用其私钥private key对 rpm进行签名
    • 客户端在使用rpm为了验证其合法性, 可以使用redhat提供的公钥public key进行签名检查

    方式1:指定公钥位置

    [root@localhost ~]# vi /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-8 - Base - mirrors.aliyun.com
    failovermethod=priority
    baseurl=https://mirrors.aliyun.com/centos/8/BaseOS/$basearch/os/
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official
    

    方式2:不进行签名验证

    //不检查软件包的签名
    [root@localhost ~]# yum --nogpgcheck install wget
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:14:34 ago on Tue 01 Dec 2020 03:00:31 PM CST.
    Dependencies resolved.
    ==========================================================================================================
     Package             Architecture          Version                         Repository                Size
    ==========================================================================================================
    Installing:
     wget                x86_64                1.19.5-8.el8_1.1                AppStream                735 k
    
    Transaction Summary
    ==========================================================================================================
    Install  1 Package
    
    Total download size: 735 k
    Installed size: 2.9 M
    Is this ok [y/N]: y
    Downloading Packages:
    wget-1.19.5-8.el8_1.1.x86_64.rpm                                          1.1 MB/s | 735 kB     00:00    
    ----------------------------------------------------------------------------------------------------------
    Total                                                                     1.1 MB/s | 735 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-8.el8_1.1.x86_64                                                     1/1 
      Running scriptlet: wget-1.19.5-8.el8_1.1.x86_64                                                     1/1 
      Verifying        : wget-1.19.5-8.el8_1.1.x86_64                                                     1/1 
    Installed products updated.
    
    Installed:
      wget-1.19.5-8.el8_1.1.x86_64                                                                            
    
    Complete!
    
  • 相关阅读:
    [结题报告]10235 Simply Emirp Time limit: 3.000 seconds
    [杭电ACM]1720A+B Coming
    [结题报告]10041 Vito's Family Time limit: 3.000 seconds
    mysqlvarchar、text 类型到底能存储多大字符?
    mysql项目更换数据源为oralce后项目调整
    Oracle创建定时任务执行函数
    IOS手机访问网页window.location.href跳转新页面第一次可以第二次报错失效
    logrotate日志分割
    查找一批设备的在线情况
    pkill 用法例子
  • 原文地址:https://www.cnblogs.com/yuqinghao/p/14073446.html
Copyright © 2020-2023  润新知