是否有一个命令仅输出用户显式安装的软件包? (Ubuntu/Debian)

是否有一个命令仅输出用户显式安装的软件包? (Ubuntu/Debian)

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

答案1

aptitude search '~i!~M!~E!~prequired!~pimportant'

将列出所有已安装但未标记为自动安装的软件包,不包括基本和必需的软件包,这正是您正在寻找的。~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'

答案2

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

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

相关内容