如何列出 apt-get 未安装的软件包?

如何列出 apt-get 未安装的软件包?

使用apt list --installed一个命令可以获取通过命令安装的软件包列表apt-get。但是,我想获取通过其他方式(例如通过某些脚本)安装的所有软件包的列表。这可以实现吗?

答案1

我个人已使用以下命令检查了这一点。
它以递归方式查找公共目录中的文件,然后调用dpkg --search(参见人dpkg) 找到文件并将错误输出重定向到文件:

sudo find /bin /boot /etc /lib /lib64 /opt /sbin /srv /usr /var -type f \
-exec dpkg -S {} \; 2> ~/not-from-apt.out

stdout包含来自 APT 的文件行,如下所示

coreutils: /bin/cat

但其stderr(重定向到文件)包含非来自 APT 的文件行,如下所示:

dpkg-query: no path found matching pattern /boot/grub/grub.cfg

请注意,这种方法比较粗糙。您需要将grep生成的文件作为可执行文件或自定义要搜索的目录列表。

相关内容