zoukankan      html  css  js  c++  java
  • [Linux]常用命令之【YUM】

    1 YUM的简介

    • 什么是yum源?
      Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora、RedHat/RHEL、SUSE以及CentOS等Linux发行版中的/repo/【Shell】前端【软件包管理器】。

    yum源 := yum仓库 := yum管理下的软件源/软件仓库

    怎么生动地理解这一点呢?

    yum 类同于 CENTOS操作系统的 软件管理器;Web前端开发的 npm 包(依赖)管理软件;Java后端开发的 maven 包(依赖)管理软件。

    值得注意的是,CENTOS 8新增了 DNF 包管理器,以取代之前OS版本的 YUM。

    2 YUM的常用命令

    2.1 查看帮助信息

    查看帮助信息[方式1] --> man yum

    man yum
    

    查看帮助信息[方式2] --> yum --help

    yum --help
    
    [root@node116 repo]# yum --help
    Loaded plugins: fastestmirror, langpacks
    Usage: yum [options] COMMAND
    
    List of Commands:
    
    check          Check for problems in the rpmdb
    check-update   Check for available package updates
    clean          Remove cached data
    deplist        List a package's dependencies
    distribution-synchronization Synchronize installed packages to the latest available versions
    downgrade      downgrade a package
    erase          Remove a package or packages from your system
    fs             Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.
    fssnapshot     Creates filesystem snapshots, or lists/deletes current snapshots.
    groups         Display, or use, the groups information
    help           Display a helpful usage message
    history        Display, or use, the transaction history
    info           Display details about a package or group of packages
    install        Install a package or packages on your system
    langavailable  Check available languages
    langinfo       List languages information
    langinstall    Install appropriate language packs for a language
    langlist       List installed languages
    langremove     Remove installed language packs for a language
    list           List a package or groups of packages
    load-transaction load a saved transaction from filename
    makecache      Generate the metadata cache
    provides       Find what package provides the given value
    reinstall      reinstall a package
    repo-pkgs      Treat a repo. as a group of packages, so we can install/remove all of them
    repolist       Display the configured software repositories
    search         Search package details for the given string
    shell          Run an interactive yum shell
    swap           Simple way to swap packages, instead of using shell
    update         Update a package or packages on your system
    update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
    updateinfo     Acts on repository update information
    upgrade        Update packages taking obsoletes into account
    version        Display a version for the machine and/or available repos.
    
    
    Options:
      -h, --help            show this help message and exit
      -t, --tolerant        be tolerant of errors
      -C, --cacheonly       run entirely from system cache, don't update cache
      -c [config file], --config=[config file]
                            config file location
      -R [minutes], --randomwait=[minutes]
                            maximum command wait time
      -d [debug level], --debuglevel=[debug level]
                            debugging output level
      --showduplicates      show duplicates, in repos, in list/search commands
      -e [error level], --errorlevel=[error level]
                            error output level
      --rpmverbosity=[debug level name]
                            debugging output level for rpm
      -q, --quiet           quiet operation
      -v, --verbose         verbose operation
      -y, --assumeyes       answer yes for all questions
      --assumeno            answer no for all questions
      --version             show Yum version and exit
      --installroot=[path]  set install root
      --enablerepo=[repo]   enable one or more repositories (wildcards allowed)
      --disablerepo=[repo]  disable one or more repositories (wildcards allowed)
      -x [package], --exclude=[package]
                            exclude package(s) by name or glob
      --disableexcludes=[repo]
                            disable exclude from main, for a repo or for
                            everything
      --disableincludes=[repo]
                            disable includepkgs for a repo or for everything
      --obsoletes           enable obsoletes processing during updates
      --noplugins           disable Yum plugins
      --nogpgcheck          disable gpg signature checking
      --disableplugin=[plugin]
                            disable plugins by name
      --enableplugin=[plugin]
                            enable plugins by name
      --skip-broken         skip packages with depsolving problems
      --color=COLOR         control whether color is used
      --releasever=RELEASEVER
                            set value of $releasever in yum config and repo files
      --downloadonly        don't update, just download
      --downloaddir=DLDIR   specifies an alternate directory to store packages
      --setopt=SETOPTS      set arbitrary config and repo options
      --bugfix              Include bugfix relevant packages, in updates
      --security            Include security relevant packages, in updates
      --advisory=ADVS, --advisories=ADVS
                            Include packages needed to fix the given advisory, in
                            updates
      --bzs=BZS             Include packages needed to fix the given BZ, in
                            updates
      --cves=CVES           Include packages needed to fix the given CVE, in
                            updates
      --sec-severity=SEVS, --secseverity=SEVS
                            Include security relevant packages matching the
                            severity, in updates
    
      Plugin Options:
    

    2.2 查看 当前主机配置的yum源(软件仓库)列表

    yum repolist
    
    yum repolist enabled
      # 列出你当前系统【已启用】的yum repo
    

    2.3 重建 yum 软件源的缓存

    在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存。

    把服务器的rpm软件包信息提前下载到本地主机缓存起来,用来提高搜索安装软件的速度
    以后用install时就在缓存中搜索,提高了速度。

    yum makecache
    yum makecache fast
    yum makecache all
    

    2.4 更新 yum 源

    yum update -y --skip-broken
    

    2.5 清除 yum 软件源的缓存

    yum 会把下载的软件包和header存储在cache中而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令清除缓存。

    yum clean all
    

    2.6 搜索软件包

    查看指定软件包的详细信息

    [root@govern ~]# yum info libcurl
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * c6-media: 
    file:///media/CentOS/repodata/repomd.xml: [Errno 14] Could not open/read file:///media/CentOS/repodata/repomd.xml
    尝试其他镜像。
    file:///media/cdrecorder/repodata/repomd.xml: [Errno 14] Could not open/read file:///media/cdrecorder/repodata/repomd.xml
    尝试其他镜像。
    c6-media                                                                                                                                          | 4.0 kB     00:00 ... 
    已安装的软件包
    Name        : libcurl
    Arch        : x86_64
    Version     : 7.19.7
    Release     : 52.el6
    Size        : 339 k
    Repo        : installed
    From repo   : anaconda-CentOS-201605220104.x86_64
    Summary     : A library for getting files from web servers
    URL         : http://curl.haxx.se/
    License     : MIT
    Description : This package provides a way for applications to use FTP, HTTP, Gopher and
                : other servers for getting files.
    
    可安装的软件包
    Name        : libcurl
    Arch        : i686
    Version     : 7.19.7
    Release     : 52.el6
    Size        : 176 k
    Repo        : c6-media
    Summary     : A library for getting files from web servers
    URL         : http://curl.haxx.se/
    License     : MIT
    Description : This package provides a way for applications to use FTP, HTTP, Gopher and
                : other servers for getting files.
    

    搜索软件包

    yum search 软件包
    
    yum -C search "关键词"
    

    查看包的多个版本

    yum list [package] --showduplicates
    

    搜索指定软件的包依赖信息

    [root@govern ~]# yum deplist curl
    已加载插件:fastestmirror
    查找依赖:
    Loading mirror speeds from cached hostfile
     * c6-media: 
    软件包:curl.x86_64 7.19.7-52.el6
       依赖: libssh2.so.1()(64bit)
       provider: libssh2.x86_64 1.4.2-2.el6_7.1
       依赖: libz.so.1()(64bit)
       provider: zlib.x86_64 1.2.3-29.el6
       依赖: libkrb5.so.3()(64bit)
       provider: krb5-libs.x86_64 1.10.3-57.el6
       依赖: libldap-2.4.so.2()(64bit)
       provider: openldap.x86_64 2.4.40-12.el6
       依赖: libpthread.so.0()(64bit)
       provider: glibc.x86_64 2.12-1.192.el6
       依赖: libgssapi_krb5.so.2()(64bit)
       provider: krb5-libs.x86_64 1.10.3-57.el6
       依赖: libpthread.so.0(GLIBC_2.2.5)(64bit)
       provider: glibc.x86_64 2.12-1.192.el6
       依赖: libcurl.so.4()(64bit)
       provider: libcurl.x86_64 7.19.7-52.el6
       依赖: libnssutil3.so()(64bit)
       provider: nss-util.x86_64 3.21.0-2.el6
       依赖: libk5crypto.so.3()(64bit)
       provider: krb5-libs.x86_64 1.10.3-57.el6
       依赖: libplc4.so()(64bit)
       provider: nspr.x86_64 4.11.0-1.el6
       依赖: librt.so.1(GLIBC_2.2.5)(64bit)
       provider: glibc.x86_64 2.12-1.192.el6
       依赖: libplds4.so()(64bit)
       provider: nspr.x86_64 4.11.0-1.el6
       依赖: libdl.so.2()(64bit)
       provider: glibc.x86_64 2.12-1.192.el6
       依赖: libnss3.so()(64bit)
       provider: nss.x86_64 3.21.0-8.el6
       依赖: libc.so.6(GLIBC_2.7)(64bit)
       provider: glibc.x86_64 2.12-1.192.el6
       依赖: libcom_err.so.2()(64bit)
       provider: libcom_err.x86_64 1.41.12-22.el6
       依赖: librt.so.1()(64bit)
       provider: glibc.x86_64 2.12-1.192.el6
       依赖: libssl3.so()(64bit)
       provider: nss.x86_64 3.21.0-8.el6
       依赖: libsmime3.so()(64bit)
       provider: nss.x86_64 3.21.0-8.el6
       依赖: libnspr4.so()(64bit)
       provider: nspr.x86_64 4.11.0-1.el6
       依赖: libidn.so.11()(64bit)
       provider: libidn.x86_64 1.18-2.el6
       依赖: rtld(GNU_HASH)
       provider: glibc.i686 2.12-1.192.el6
       provider: glibc.x86_64 2.12-1.192.el6
       依赖: libcurl = 7.19.7-52.el6
       provider: libcurl.x86_64 7.19.7-52.el6
       provider: libcurl.i686 7.19.7-52.el6
    

    2.7 安装 软件包

    yum install 软件包
    yum -y install httpd
    
    yum install --downloadonly --downloaddir=[download_dir] [package]
      通过此命令来只下载包,但不安装包
    
    yum localinstall /path/*.rpm
      # 通过yum管理器,安装本地rpm包
    

    2.8 卸载/移除 软件包

    yum remove 软件包名
    

    Y 公网YUM源

    阿里云 yum源/镜像站

    清华 yum源/镜像站

    base
      https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
    
    updates
      https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
    
    extras
      https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
    
    centosplus
      https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
    

    中国科技大学 yum源/镜像站

    https://mirrors.ustc.edu.cn/centos/
    

    163 yum源/镜像站

    https://mirrors.163.com/centos/
    

    银河麒麟 V10 高级版 OS(基于CENTOS)的YUM源

    X 参考文献

    赞赏-支付宝二维码
    本文作者千千寰宇
    本文链接 https://www.cnblogs.com/johnnyzen
    关于博文:评论和私信会在第一时间回复,或直接私信我。
    版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
    声援博主:若本文对您有帮助,可点击右下角推荐一下。您的鼓励、【赞赏】(左侧赞赏支付码)是博主技术写作的重要动力!
  • 相关阅读:
    MT【90】图论基础知识及相关例题
    MT【89】三棱锥的体积公式
    Qt之界面实现技巧
    QCompleter自动补全
    Qt之开机自启动
    Qt之日志输出文件
    相遇Qt5
    QT中的pro文件的编写
    qt下的跨目录多工程编译
    用QT打开网页
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/15005937.html
Copyright © 2011-2022 走看看