Answers:
我通常使用以下方式升级计算机:
sudo apt-get update && time sudo apt-get dist-upgrade
以下是摘录man apt-get
。使用升级将遵循以下规则:在任何情况下,当前安装的软件包都不会删除,或者尚未安装的软件包都不会被检索和安装。如果那对您很重要,请使用apt-get upgrade
。如果您希望事情“正常”,则可能要apt-get dist-upgrade
确保解决依赖关系。
为了进一步说明为什么要升级而不是dist-upgrade,如果您是系统管理员,则需要可预测性。您可能正在使用高级固定功能,例如apt固定或从一组PPA(可能是内部PPA)中拉取,并且具有各种自动化功能来检查系统和可用的升级,而不是总是急于升级所有可用的软件包。当apt执行未描述的行为时,您会感到非常沮丧,特别是如果这会导致生产服务停机。
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. So, dist-upgrade
command may remove some packages. The /etc/apt/sources.list file
contains a list of locations from which to retrieve desired package
files. See also apt_preferences(5) for a mechanism for overriding
the general settings for individual packages.
dist-upgrade
比坏东西更容易摔坏upgrade
。upgrade
确保您的系统保持完整。
time
在这里使用的原因是什么?
我知道这个问题已经回答并且已经一岁了,但是我觉得这个需要说。Ubuntu 14.04和更高版本(以及从Google找到这些的Debian Jessie和更高版本)使用APT 1.0,它允许使用命令apt
代替apt-get
和apt-cache
进行某些操作。
apt-get upgrade
不会更改已安装的内容(仅适用于版本), apt-get dist-upgrade
将根据需要安装或删除软件包以完成升级, apt upgrade
将自动安装但不会删除软件包。apt full-upgrade
执行与相同的功能apt-get dist-upgrade
。jessie
经常使用14.04的人,我首先从您的回答中学到了这个新实用程序!
apt upgrade
吗?我想出的一切都暗示着apt upgrade
与相同apt-get upgrade
。例如,apt help upgrade
在我的系统输出中:"apt upgrade" is equivalent to "sudo apt-get upgrade"
apt
并apt-get
指定了我最初所说的内容。
apt safe-upgrade
在我的系统上不是有效的操作。如果您的意思是aptitude safe-upgrade
,则不是。apt-get upgrade
永远不会安装软件包,而apt upgrade
和aptitude safe-upgrade
作为依赖的需求将安装新的软件包。所以aptitude safe-upgrade
等于apt upgrade
,不是apt-get upgrade
。
该upgrade
选件仅安装系统上已安装的软件包的新版本(是的,内核更新属于它们)。
但是,有时更新会更改依赖关系:例如,程序包的新版本将不再依赖于已安装的库,或者将需要安装其他库。该upgrade
选件将永远不会删除不再需要的已安装软件包。
但是,该dist-upgrade
选项可以“智能”处理依赖关系系统中的更改。这包括删除不再需要的程序包,或解决由于依赖性变化而引起的程序包之间的冲突。
upgrade
也绝不会添加新的软件包成为需要与依赖。来自man apt-get
:“在任何情况下都不会删除当前已安装的软件包,或者会检索并安装尚未安装的软件包” @ændrük 。任何时候,系统更新删除一个包,这是很好看在什么它按Y.这样做之前
对于Win-Home用户而言,始终“ dist-upgrade”应该不是问题,但是如果您正在运行复杂的系统,则最好“绝对(不要)更改正在运行的系统” ...即使“应该”没有问题,“可能”出现问题-怎么会把你拒之门外! 您应该是拥有权利2决定权的人;-)
Should not be a problem for Win-Home Users to always "dist-upgrade"
..这是为什么 ?
sudo apt full-upgrade
执行类似的操作。