• Meth | apt-get update ,upgarde 和dist-upgrade 的区别


    #sudo apt-get update 获得最近的软件包的列表;列表中包含一些包的信息,比如这个包是否更新过
    #sudo apt-get dist-upgrade 如果这个包没有发布更新,就不管它;如果发布了更新,就把包下载到电脑上,并安装。

    apt-get update 指令会同步使用者端和APT 伺服器的RPM 索引清单(package list),APT 伺服器的RPM 索引清单置于base 资料夹内,使用者端电脑取得base 资料夹内的bz2 RPM 索引清单压缩档后,会将其解压置放于/var/state/apt/lists/,而使用者使用apt-get install 或apt-get dist-upgrade 指令的时候,就会将这个资料夹内的资料和使用者端电脑内的RPM 资料库比对,如此一来就可以知道那些RPM 已安装、未安装、或是可以升级的。

    这里提一下apt-get upgrade 与apt-get dist-upgrade的关系
    由于包与包之间存在各种依赖关系。upgrade只是简单的更新包,不管这些依赖,它不和添加包,或是删除包。而dist-upgrade可以根据依赖关系的变化,添加包,删除包。

    一般在运行upgrade或dist-upgrade之前,要运行update.

    但是常常有人会问, upgrade和dist-upgrade有何不同,仔细查查,似乎大家对upgrade和dist-upgrade的解释都有点不同,在此也纪录自己的看法. 

    我认为apt-get upgrade和dist-upgrade的差别: 

    upgrade:系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来. 

    dist-upgrade:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,就会试着去安装/移除它. (所以通常这个会被认为是有点风险的升级) 

    apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。

    只不过,dist-upgrade 会识别出当依赖关系改变的情形并作出处理,而upgrade对此情形不处理。

    例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为依赖关系改变而拒绝升级 a 软件包。

  • 相关阅读:
    git log后怎么退出?
    nuxt项目中怎么使用iconfont图标
    navicat连接远程数据库mysql报错2013解决方法
    navicat15激活使用
    picgo软件使用
    设置yarn源修改为淘宝源
    nuxt项目修改本地运行的端口
    nuxt项目中使用less全局样式、全局变量的配置
    带环链表 linked list cycle
    Delete a Node in Single Linked List删除单链列表中的节点
  • 原文地址:https://www.cnblogs.com/paulycoding/p/5725145.html
Copyright © 2020-2023  润新知