添加包时,我可以追踪安装了什么吗?(​​如果我想删除它)

添加包时,我可以追踪安装了什么吗?(​​如果我想删除它)

假设我在我的 ubuntu 服务器上安装了 apache 或 mysql 等。

是否有可能获得有关安装了什么内容以及在哪里安装的报告?(比如说我想删除 apache 安装)。

答案1

查看 /var/log/dpkg.log - 任何已安装的数据包都列在那里

dpkg -L $package

将显示他的文件去了哪里

答案2

如果软件包名称为 apache2 ,则可以通过 查看已安装软件包的内容dpkg -L apache2。您将看到文件和目录。如果软件包未安装,您可以在 packages.ubuntu.com 上查看。

如果你想要已安装软件包的列表(而不是内容),请检查dpkg -l '*apache*'|egrep "^ii"

答案3

中的清除选项将删除安装期间安装的所有文件。在某些情况下,它会要求您确认是否要保留软件包使用的一些数据。不再为空的目录将被报告。

目录 /var/lib/dpkg/info 包含安装文件。文件名是软件包的名称,具有多种扩展名以用于不同目的。扩展名为 .list 的文件列出了组成软件包的文件和目录。

安装通常涉及自动安装的依赖项。某些工具会将这些文件标记为自动安装。初始安装不会进行此标记。自动删除的包不会被清除,因此会留下一些配置。命令“aptitude purge ~c”将清除已配置但未卸载的任何包。要列出这些包,请使用命令“aptitude search ~c”。

使用文件限制 '!~M' 会将软件包显示限制为未由于依赖关系而安装的软件包。除少数例外,所有库都应由于依赖关系而安装。如果您认为安装软件包是为了支持依赖关系,则可以使用 aptitude 中的 'M' 命令手动标记它。如果它不是软件包所必需的,它将被标记为删除。如果您确实想保留它,则撤消命令 'ctrl-u' 将撤消此操作。

还有一些诸如 deb-orphan 之类的工具可以帮助删除因依赖而产生的软件包。

相关内容