我可以看到aptitude dist-upgrade的更多细节吗?

当我打字时
aptitude dist-upgrade

我举个例子:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
The following NEW packages will be installed:
  bc{a} linux-image-2.6.32-24-virtual linux-image-2.6.32-308-ec2 
The following packages will be upgraded:
  apt apt-transport-https apt-utils base-files bijk-node binutils cloud-init grub-common grub-pc icedtea-6-jre-cacao ifupdown landscape-client landscape-common 
  libfreetype6 libfreetype6-dev libgssapi-krb5-2 libk5crypto3 libkrb5-3 libkrb5support0 libldap-2.4-2 libmysqlclient16 libpcsclite1 libsmbclient libudev0 
  libusb-0.1-4 libwbclient0 libwww-perl lintian linux-ec2 linux-image-ec2 linux-image-virtual linux-libc-dev linux-virtual mountall mysql-client-5.1 
  mysql-client-core-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1 openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib python-apt 
  python-lazr.restfulclient sudo tzdata tzdata-java udev update-manager-core upstart ureadahead w3m wget 
54 packages upgraded, 3 newly installed, 0 to remove and 2 not upgraded.
Need to get 103MB of archives. After unpacking 89.4MB will be used.
Do you want to continue? [Y/n/?]

我想知道的是每个升级候选版本都有什么变化。 有没有办法让我看到这些软件包中所有的变化列表?
我知道我可以这样做。
aptitude changelog mysql-server

我可以通过grepawk命令筛选出候选人,并将它们传递给changelog命令,但执行这样的操作需要很长时间。
有没有更好的方法来获取升级的完整变更日志?

最后,我转向了Apticron:http://www.debian-administration.org/articles/491。它显示了自上次升级软件包以来可用升级的变化。有助于评估何时/是否应该进行升级。您可以通过`aptitude install apticron`进行安装。 - kvz
1个回答

如果您安装了apt-listchanges软件包,您将获得更多选项。您可以让apt-getaptitude显示已更新软件包的变更日志(完整的变更日志或仅升级中的新内容),并在查看变更日志后提示确认。默认情况下,在安装apt-listchanges后,只会显示重要新闻;要查看变更日志,请运行dpkg-reconfigure apt-listchanges
在Debian中,相关的apt-listbugs软件包从bugs.debian.org获取错误报告。我不确定它是否已被移植到Ubuntu的launchpad.net上。

1安装 apt-listchanges 还会安装和运行 某个邮件守护程序。为了查看更新日志额外安装一个网络服务似乎有些不必要。 - ændrük
这是一个“建议安装:”,而不是“必须安装:”,因此,如果您使用“sudo apt-get --no-install-recommends install apt-listchanges”命令,您可以在没有“exim4”的情况下安装“apt-listchanges”。 - lfaraone
FYI,apt-listbugs已从Ubuntu中移除,因为它目前在Ubuntu上无法正常工作。 - lfaraone
@ændrük:邮件守护进程是 Unix 系统的一个常规部分。在 Ubuntu 上,默认情况下,它被配置为仅传递本地邮件(主要来自 cron),除非你明确地配置了它,否则它不会侦听网络。 - Gilles 'SO- stop being evil'
2我只想查看建议的升级版本的变更日志,以便决定是否值得冒险(虽然风险很小)。我已经安装了apt-listchanges,但似乎只能用于已安装的软件包。你说我可以“让apt-getaptitude显示更新软件包的变更日志”。这似乎是正确的方向,但我无法弄清楚如何操作。帮助文档中提到:changelog - 查看软件包的变更日志 - kvz
@kvz:首先,运行dpkg-reconfigure apt-listchanges并选择正确的设置。我知道正确的设置存在,因为我过去曾经使用过它们;虽然我不记得具体是什么,但它们应该相当容易理解。然后,当你运行apt-getaptitude命令来升级软件包(upgradeinstall等),你将在$PAGER中看到已安装版本和正在安装版本之间的更改日志,然后会有一个升级确认提示。 - Gilles 'SO- stop being evil'