sou*_*edi 5 debian apt software-updates
我在 Debian 9 "stretch" 上看到了以下内容:
# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
linux-image-marvell
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Run Code Online (Sandbox Code Playgroud)
尽管此命令是根据“ Securing Debian Manual ”更新 Debian 的官方方式,但不会安装更新。(此处阅读时的快照)。
相比之下,两者aptitude和较新的apt命令都准备安装它。也就是说,此特定版本不是安全更新。我理解这一点,apt并且可能aptitude有不同的默认值。我想问一下 Debian 的这种行为是如何刻意的...
aptitude在描述如何应用更新时,Securing Debian Manual首先列出。而且我知道apt有一些更改的默认值应该是对用户更友好的。仔细查看当前的 Debian 安装指南,它将新用户指向apt或aptitude。我认为所有示例命令现在都引用了apt,而不是apt-get.
我的初始假设是内核的安全更新不会受到 Debian 安全手册认可的更新方法的阻碍。(如果我假设错误,请告诉我:-)。但我想确保我了解如何更新我的 Debian 系统。
apt而不是apt-get. 对?apt-get,以及从 Debian 8 升级到 Debian 9 的文档。从广义上讲,我猜最安全的选择是apt在 Debian 8 -> Debian 9 过渡之前不使用?apt-get用于某些任务的地方?apt更渴望应用更新的评论,这特别确认了安全更新和非安全更新的区别?apt-get到我的系统上使用的正常配置?# apt-cache policy linux-image-marvell
linux-image-marvell:
Installed: 4.9+80+deb9u4
Candidate: 4.9+80+deb9u5
Version table:
4.9+80+deb9u5 500
500 http://ftp.uk.debian.org/debian stretch/main armel Packages
*** 4.9+80+deb9u4 500
500 http://security.debian.org stretch/updates/main armel Packages
100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
# apt-cache policy apt
apt:
Installed: 1.4.8
Candidate: 1.4.8
...
Run Code Online (Sandbox Code Playgroud)
# aptitude upgrade
Resolving dependencies...
The following NEW packages will be installed:
linux-image-4.9.0-7-marvell{a}
The following packages will be upgraded:
linux-image-marvell
1 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/21.9 MB of archives. After unpacking 91.2 MB will be used.
Do you want to continue? [Y/n/?] n
Abort.
# apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
linux-image-4.9.0-7-marvell
The following packages will be upgraded:
linux-image-marvell
1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/21.9 MB of archives.
After this operation, 91.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
Run Code Online (Sandbox Code Playgroud)
首先,我将首先解释您所看到的行为。默认情况下,apt-get非常保守upgrade,仅在运行时不会安装新包dist-upgrade(这可以通过--with-new-pkgs选项更改)。apt另一方面,将(APT::Get::Upgrade-Allow-New默认情况下启用该选项),也将aptitude(无论如何具有不同的分辨率算法)。由于内核经历了 ABI 冲击,升级它涉及安装一个新包......
另请注意,严格来说,您获得此内核更新不是作为安全修复程序,而是作为上周末 9.5 点版本的一部分。这既不存在也不存在,因为优先级是相同的。(您已经意识到这一点,我已经为其他读者提过这一点。)内核的安全更新可能涉及 ABI 颠簸,因此这种情况可能出现在安全更新和点发布更新中;就 Debian 中的内核包而言,区别主要是机会和时机之一,因为无论如何所有内核更新都是安全更新。
现在回答您的问题:
apt现在是推荐的 APT 前端,是的,至少用于交互使用;它应该具有用户友好的默认值(与 相比apt-get)。两种工具都使用相同的算法,并且apt-get可以配置为如下行为apt;运行apt-config dump | grep Binary::apt查看具体设置apt启用。如果您愿意,aptitude也可以继续使用它。
在 Debian 8 中,据我所知,apt完全等同于apt-get,所以你也可以使用它;apt在 Debian 9 的开发人员努力使其作为面向用户的工具变得更有用之后,Debian 9 走在了前列。Debian FAQ建议使用Debian 8 (Jessie)apt代替apt-get并apt-cache开始。(我看到它的描述apt update略有错误。)
当前的建议是避免apt在脚本中使用,因为它的界面可能会发生变化。除此之外,不应该有任何您需要 apt-get而不是apt.
apt 不区分安全更新和非安全更新,除非您将其配置为这样做。
我不确定这是一个有意识的决定...... Securing Debian Manual的最后一次更新比 Debian 9 早很多。请注意,在使用时apt-get,Debian FAQ指的是apt-get dist-upgrade保持 Debian 系统是最新的. FAQ 也早于 Debian 9,但最近更新。
| 归档时间: |
|
| 查看次数: |
3125 次 |
| 最近记录: |