• yum update 和 yum upgrade的区别


      通过 man yum 的帮助信息了解 yum update 和 yum upgrade:

    复制代码
    update 
        If  run  without  any packages, update will update every currently installed package.  If one or more packages or package globs are specified,  Yum  will only  update  the listed packages.  While updating packages, yum will ensure that all dependencies are satisfied. (See Specifying package names for  more information)  If the packages or globs specified match to packages which are not currently installed then update will not install them.  update  operates on groups, files, provides and filelists just like the "install" command.
        If  the main obsoletes configure option is true (default) or the --obsoletes flag is present yum will include package obsoletes  in  its  calculations - this makes it better for distro-version changes, for example: upgrading from somelinux 8.0 to somelinux 9.
        Note that "update" works on installed packages first, and only if there are no  matches  does  it  look  for  available packages. The difference is most noticeable when you do "update foo-1-2" which will act  exactly  as  "update foo"  if  foo-1-2  is installed. You can use the "update-to" if you’d prefer that nothing happen in the above case.
    upgrade
        Is the same as the update command with the --obsoletes flag set. See update for more details.
    复制代码

      从帮助信息我们可以看到,upgrade 与 update --obsoletes 是一样的

      然而,update 即使不附带 --obsoletes 选项时,在默认的配置中已经将其设置为true(开启),在 /etc/yum.conf 文件中可以查看到默认的配置信息:

    复制代码
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever
    keepcache=0
    debuglevel=2
    logfile=/var/log/yum.log
    exactarch=1
    obsoletes=1
    gpgcheck=1
    plugins=1
    installonly_limit=5
    bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
    distroverpkg=centos-release
    复制代码

      就是说默认情况下 update 和 upgrade 没有区别,都是将系统包更新到最新的版本并且强制删除过时的老版本,并且都会升级内核版本,这种更新操作是危险的,因为可能有些运行中的服务仍旧依赖着旧版本。

      因此我们可以修改默认配置,sed -i 's/obsoletes=1/obsoletes=0/' /etc/yum.conf,从而使update在进行系统包更新时保留旧版本。

      如果我们不想升级内核版本,还需要添加 echo exclude=kernel* >> /etc/yum.conf。

      参考:

      https://unix.stackexchange.com/questions/55777/in-centos-what-is-the-difference-between-yum-update-and-yum-upgrade

      https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-configuring_yum_and_yum_repositories

    原文:https://www.cnblogs.com/walk1314/p/9888423.html

  • 相关阅读:
    产品评价 商家回复倒三角形
    第二行字体 多余省略号显示
    Input 标签 安卓 与 IOS 出现圆角 显示
    iOS testflight 使用说明
    iOS滤镜功能
    cookie和session以及iOS cookie的查取
    微信小程序开发demo
    Charles(V3.10.1)的抓包以及常见功能的使用
    通知实战 设置通知图片(iOS10以后的)
    Xcode: Run Script 的运用, 使build打包后自动+1
  • 原文地址:https://www.cnblogs.com/soymilk2019/p/13539366.html
Copyright © 2020-2023  润新知