我如何追踪安装了特定的本地库?

我如何追踪安装了特定的本地库?

如果我有一个位于的库,/usr/local/lib/foo.so有什么方法可以追踪它的创建/安装?理想情况下,我正在寻找一种方法来删除与 opencascade 相关的所有库,但我从未手动安装过任何东西,因此希望从、aptdpkg中找到一些卸载或删除命令make来清理所有内容。

这不一定仅限于aptdpkg,但我认为它们可能是安装/创建此库的某些自动化程序最有可能的罪魁祸首。我已经检查了和/var/log/dpkg.log/var/log/apt/history.log,没有发现任何修改日期与foo.so创建时间相近的东西。

我还尝试删除在这里找到的与 opencascade 相关的所有内容:

https://packages.ubuntu.com/source/focal/opencascade

通过 apt:

sudo apt remove libocct*

由于该文件的创建日期早于任何 syslog 档案,因此我只能尝试使用 来查找大约在同一时间创建的文件find / -type f -newermt "2022-08-10 17:00" ! -newermt "2022-08-10 18:00"

答案1

它只能以另一种方式工作:您可以知道哪些软件包需要库。如果软件包消失了而库没有消失,系统将无法告诉您它是从哪里安装的。除非您依赖缓存(apt 会保存软件包的副本,/var/cache/apt/archives/但可以手动删除)。

您可以使用deporphan以下方式列出所有当前依赖项。

deborphan -d 

它还具有删除孤立包(如库)的工具。不过,删除这些包最常用的工具是

sudo apt autoremove

从 apt 中进行清理。

安装

sudo apt deborphan

这不一定局限于 apt 和 dpkg,

synaticpaptitude包含在该列表中。但所有其他方法都应远离正常目录,并使用 /home/ 或最好是 /opt/。

相关内容