Loading... <!--more--> <p>因为工作需要在Linux下面构建开发环境。却发现虚拟机中的<code>Ubuntu16.04</code>的Ubuntu software打不开了,稍微百度了一下发现这个问题好像挺多的,很多人讨论这问题。</p> <p>下面是我找到的解决方法:</p> <pre><code>view plain copy sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install --reinstall software-center </code></pre> <p>先升级一下,如果不行再执行下面的两行命令。 然后看到了<code>dist-upgrade</code>并不是很明白,遂去百度了一下。然后把查到的资料整理了一下。方便自己以后查阅</p> <p>Debian/Ubuntu Linux都使用apt,升级时都是:</p> <pre><code>apt-get update apt-get upgrade apt-get dist-upgrade </code></pre> <p>但是常常有人会问, <code>upgrade</code>和<code>dist-upgrade</code>有何不同,仔细查查,似乎大家对<code>upgrade</code>和<code>dist-upgrade</code>的解释都有点不同,在此也纪录自己的看法.</p> <p>我认为<code>apt-get</code> <code>upgrade</code>和<code>dist-upgrade</code>的差别:</p> <p>upgrade:系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来.</p> <p>dist-upgrade:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,就会试着去安装/移除它. (所以通常这个会被认为是有点风险的升级)</p> <pre><code>apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。 </code></pre> <p>只不过,dist-upgrade 会识别出当依赖关系改变的情形并作出处理,而upgrade对此情形不处理。</p> <p>例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为依赖关系改变而拒绝升级 a 软件包。</p> Last modification:August 8, 2018 © Allow specification reprint Like 0 If you think my article is useful to you, please feel free to appreciate