使用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
生成的文件作为可执行文件或自定义要搜索的目录列表。