zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    深拷贝呀,浅拷贝,再来一次复习整理
    移动端适配之路的一步步了解
    回文数
    整数反转
    关于DOM事件篇收集的知识点
    Html5新增的属性-querySelector
    Java常用的集合类
    VerifyCodeServlet(一次性验证码)
    EncodingFilter
    BaseServlet(一个Servlet多个处理方法)
  • 原文地址:https://www.cnblogs.com/soymilk2019/p/13539366.html
Copyright © 2011-2022 走看看