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

  • 相关阅读:
    PHP中使用CURL实现GET和POST请求
    ecstore关于smarty语法调用
    Linux 定时任务详解
    fzu 1753 Another Easy Problem
    zoj 2562 More Divisors
    poj 2992 Divisors
    UVA10078多边形判断凹凸性
    UVA10002求凸包的质心
    UVA10088多边形内整点个数计算(计算几何)
    HDU 1824 简单2-sat
  • 原文地址:https://www.cnblogs.com/soymilk2019/p/13539366.html
Copyright © 2011-2022 走看看