是否有一个命令只输出用户明确安装的包?(ubuntu/debian)

war*_*ong 9 command-line aptitude ubuntu debian apt

我试过搜索这个,但似乎没有命令可以输出我安装的软件包列表(最好在 Ubuntu 中),不包括任何依赖项。

Ste*_*itt 6

aptitude search '~i!~M!~E!~prequired!~pimportant'
Run Code Online (Sandbox Code Playgroud)

将列出所有已安装但未标记为自动安装的软件包,不包括基本和必需的软件包,这几乎是您正在寻找的。~i所安装的软件包列表,!~M其中被标记为自动安装的过滤包,!~E过滤器所必须的软件包,!~prequired以及!~pimportant所需的过滤器和重要的软件包。后三个过滤器会捕获很多默认安装的包。

在 Ubuntu 上,你可以添加!~Rubuntu-desktop!~Rrecomends:ubuntu-desktop过滤掉所有ubuntu-desktop依赖或推荐的包,默认安装的包:

aptitude search '~i!~M!~E!~prequired!~pimportant!~Rubuntu-desktop!~Rrecommends:ubuntu-desktop'
Run Code Online (Sandbox Code Playgroud)

  • 似乎这还将列出作为初始操作系统安装的一部分安装的软件包,我怀疑战歌希望避免被报告。 (2认同)

war*_*ong 6

comm -23 <(apt-mark showmanual | sort -u) \
         <(gzip -dc /var/log/installer/initial-status.gz |
           sed -n 's/^Package: //p' | sort -u)
Run Code Online (Sandbox Code Playgroud)

这将获得用户安装的软件包的正确列表,比@Stephen Kitt 的答案更近似。