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

1、update和upgrade分别是更新什么呀?

首先说明一下update和upgrade分别是更新的是什么:

    update是下载源里面的metadata的. 包括这个源有什么包, 每个包什么版本之类的.
    upgrade是根据update命令下载的metadata决定要更新什么包(同时获取每个包的位置).

ps:安装软件之前, 可以不upgrade, 但是要update. 因为旧的信息指向了旧版本的包, 但是源的服务器更新了之后旧的包可能被新的替代了, 于是你会遇到404...

作者:James Swineson
链接:https://www.zhihu.com/question/21732981/answer/19143492
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

以下为个人理解,细节可能不准确。

apt-get是某些linux发行版使用的一个“包管理器”(还有别的发行版使用yum等,以及brew等其他平台上的包管理器,工作原理类似)。
包管理器的作用是从 源(Source)服务器那里下载最新的软件包列表,然后在你需要安装某个软件包(apt-get install)的时候从列表里面查询这个软件包的版本信息、系统要求、翻译、依赖项(该软件正常运行必须安装的其它软件)并且添加到同时安装的列表里面,再查询所有安装列表里面的软件包的.deb文件下载地址,最后批量下载,自动分析安装顺序然后安装完成。
但是这个软件包列表是不会被自动下载的,需要用户使用apt-get update更新。这样,apt-get才能知道每个软件包的最新信息,从而正确地下载最新版本的软件。
至于apt-get upgrade,则是对已经安装的软件包本身进行更新的过程。由于确定要更新的软件包需要对本地安装的版本和列表的版本进行比较,所以要在update以后运行这一条。
要求在install操作之前执行update和upgrade,实际上是确保本地软件列表信息和已安装软件均为最新的过程。这样做可以最大限度地确保新安装的软件包正常工作。
一般来说,update和upgrade不需要每次安装软件之前都运行,安装新软件的话一天左右运行一次即可,不安装软件的时候隔十天半个月运行一下来更新软件包,服务器系统如果没有安全性更新就别乱更新了,稳定最重要。
PS:软件源服务器地址可以在/etc/apt/sources.list里面看到。

2、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 软件包。

reference:
http://www.2cto.com/os/201301/183519.html
https://www.zhihu.com/question/21732981

  • 29
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
jupyter notebook Traceback (most recent call last)是指在打开jupyter notebook时出现的错误信息。根据引用和引用的描述,可能是由于最近电脑上安装了新的软件(如MySQL、Tableau)或进行了磁盘清理导致的。解决这个问题的方法可以参考引用的建议: - 首先,可以尝试在终端中升级spyder来解决问题。可以在终端中输入命令"upgarde spyder"来进行升级。 - 如果升级spyder仍然无法解决问题,可以尝试在Anaconda Prompt(Anaconda3)中输入命令"pip uninstall jupyter"来卸载jupyter。 通过这些步骤,你应该能够解决jupyter notebook Traceback (most recent call last)的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [jupyter notebook打不开或报错 [jupyter notebook Traceback (most recent call last):]](https://blog.csdn.net/sunsoldeir1/article/details/128451248)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题](https://download.csdn.net/download/weixin_38617451/14884747)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值