检查是否从Ubuntu清单安装了所有默认软件包

我的Ubuntu有时运行有点慢。 现在我想检查是否所有软件包仍然安装,也许我卸载了一个重要的软件包。

如何重新检查是否仍然安装了所有初始软件包?

http://releases.ubuntu.com上的每个发行版的清单文件中都有完整列表

生成列表使用

 cd /tmp/ # 14.10: $ wget http://old-releases.ubuntu.com/releases/utopic/ubuntu-14.10-desktop-amd64.manifest # 16.04.2: $ wget http://releases.ubuntu.com/releases/xenial/ubuntu-16.04.2-desktop-amd64.manifest # for 16.10: wget http://releases.ubuntu.com/releases/16.10/ubuntu-16.10-desktop-amd64.manifest \ -q -O - | cut -f 1 > packages.manifest.list # compare it with the list generated by dpkg --get-selections | cut -f 1 > packages.installed.list # from moreutils you can use combine: combine packages.manifest.list not packages.installed.list > packages.diff.list 

对于32位使用另一个清单与结束desktop-i386.manifest

 wget http://releases.ubuntu.com/utopic/ubuntu-14.10-desktop-i386.manifest -q -O - | cut -f 1 > packages.manifest.list 

现在只想弄清楚如何忽略在安装时删除的软件包,例如GParted,Ubiquity,各种语言包等:

 IGNORE="language-pack|ubiquity|linux-|locale-|spell-|-help-|hyphen-|l10n|wbrazilian|wfrench|witalian|wportuguese|wspanish|mythes-" cat packages.diff.list |egrep -v '('$IGNORE')' |less 

( 这里删除的包的完整列表)