首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么软件和更新会影响终端中的发布升级命令?

为什么软件和更新会影响终端中的发布升级命令?
EN

Ask Ubuntu用户
提问于 2015-04-20 22:43:36
回答 1查看 562关注 0票数 2

对于我来说,我有一个很好奇的问题,就是关于更新管理器和终端命令do-release-upgrade的用户,我注意到很多人在运行时都会问问题:

代码语言:javascript
运行
复制
do-release-upgrade -d

它还会:

代码语言:javascript
运行
复制
Checking for a new Ubuntu release
Get:1 Upgrade tool signature[198B]                                           
Get:2 Upgrade tool[1,147kB]                                                  
Fetched 1,148 kB in 0s(0B/s)                                                 
authenticate 'utopic.tar.gz' against 'utopic.tar.gz.gpg' 
extracting 'utopic.tar.gz'

但是当你跑的时候:

代码语言:javascript
运行
复制
do-release-upgrade -c

它返回:

代码语言:javascript
运行
复制
Checking for a new Ubuntu release
No new release found

如果我转到软件和更新->更新->通知我一个新的Ubuntu版本,并将其设置为For any new version

代码语言:javascript
运行
复制
do-release-upgrade -d

将返回:

代码语言:javascript
运行
复制
Checking for a new Ubuntu release
Get:1 Upgrade tool signature[198B]                                           
Get:2 Upgrade tool[1,147kB]                                                  
Fetched 1,148 kB in 0s(0B/s)                                                 
authenticate 'utopic.tar.gz' against 'utopic.tar.gz.gpg' 
extracting 'utopic.tar.gz'

也是如此:

代码语言:javascript
运行
复制
do-release-upgrade -c

将返回:

代码语言:javascript
运行
复制
Checking for a new Ubuntu release
New release '14.10' available.
Run 'do-release-upgrade' to upgrade to it.

如果我将其设置为Never,则do-release-upgrade -ddo-release-upgrade -c两个命令都将返回:

代码语言:javascript
运行
复制
Checking for a new Ubuntu release
No new release found

但是在软件和更新中,我将所有其他更新设置为Never,通知我,就像我只通过终端进行dist-upgrade一样,而且它确实可以升级所有可用的更新和安全补丁。

那么为什么它不适用于do-release-upgrade呢?它不应该做我让它做的,不管软件和更新设置了什么吗?还是只是这样设计的?

编辑

为了进一步澄清这个问题,我不想收到关于新的可用更新或发行版的图形通知,所以在软件和更新中,我将更新和通知设置为Never,因为我希望通过终端进行更新和通知,除了do-release-upgrade之外,一切都工作。

EN

回答 1

Ask Ubuntu用户

发布于 2015-04-21 21:17:21

对于我来说,这是一个最容易理解的解释,例如,在软件和更新-->更新-->通知我新的Ubuntu版本并将其设置为for long-term support versions时,do-release-upgrade -d的输出将为>=,do-release-upgrade -d代表的是:

代码语言:javascript
运行
复制
Check if upgrading to the latest devel (*development) release is possible

这将是您目前正在运行的>= (更大的)版本,但不是LTS版本,而是正在开发(不稳定)的版本。

但是,do-release-upgrade -c将>=假作为它的代表:

代码语言:javascript
运行
复制
Check only if a new distribution release is available
and report the result via the exit code

这将是LTS的发布(稳定)。而且,只有在有比您当前运行的版本更好的LTS版本时,它才能工作。

但是如果您设置了软件和更新-->更新-->通知我一个新的Ubuntu版本for any versions,这将意味着稳定和不稳定(devel)版本。然后,do-release-upgrade -ddo-release-upgrade -c-c -d这两个命令一起返回正数。在这种情况下,-c甚至可以被删除,因为-d会使两者都能工作(如果有的话)。

在这种情况下,如果将通知设置为Never,则这两个命令都将返回负值。这甚至可以称为阻塞特性,就好像您无法使用-c-d中的do-release-upgrade命令将发行版升级到任何新版本一样。我除了这个可能是这样设计的。

P.S.

@muru的回答对我来说比我的更有效。谢谢:)。但我也要把这个放在最迭代的问题上。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/611837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档