检查启动后使用了哪些软件包

检查启动后使用了哪些软件包

是否可以列出 Linux 从启动到当前时间使用的所有软件包?我正在制作一个应用程序系统,我考虑删除所有不必要的软件包来运行该应用程序。如果它很重要 - 我使用 systemd 和 apt。

答案1

您可以通过查找自系统启动以来访问过的文件来执行此操作:

find / -xdev -anewer /proc/version -type f

您需要根据需要添加安装点;例如如果/usr是单独的文件系统,则运行find / /usr -xdev ....

后处理将允许您确定所涉及的包;既然您正在使用apt,我们会问dpkg

find / -xdev -anewer /proc/version -type f -print0 2>/dev/null | xargs -0 dpkg -S | cut -d: -f1 | sort -u

您可以使用以下方式获取此信息的子集popularity-contest:看按上次运行时间列出软件包?了解详情。

我强烈建议为您的应用程序生成一个最小的包,以便可以识别其依赖项;这将有助于避免升级问题。包装不必太复杂;看Vincent Bernat 的实用 Debian 打包指南开始。 (一个主要好处是打包工具将为您确定库要求并确定相应的依赖项。)

相关内容