所以基本上只有诸如等等命令中提到的那些sudo apt install X
……
我还没有看到任何关于此的帖子。只有关于系统上所有已安装的软件包,无论它们是依赖项还是实际由我安装的。
因此,如果我只安装了一个包:
user@host 31/12/2019 00:33:15 :/sys/class/power_supply $ sai tlp
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
ethtool tlp-rdw
我只想得到tlp
而不是ethtool tlp-rdw
。
PS:我正在寻找一种不需要使用 bash 历史记录的解决方案。(原因:超出历史记录限制 | 多个会话相互覆盖 | 旧机器 | 朋友电脑 | 等等......)
答案1
在 bash shell 中运行以下命令列出所有手动安装的包:
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
此命令与使用 apt 包管理器的操作系统兼容。在问题的第一句中你提到sudo apt install
。我假设你的操作系统使用 apt,因此上述命令将在其上成功运行。
此命令可用于准备手动安装的软件包列表,以便 apt 在另一台计算机上安装。在将手动安装的软件包列表安装到另一台计算机上之前,最好先查看列表并从列表中删除已安装但使用不多的软件包,尤其是占用大量磁盘空间的大型软件包。