如果我有一个位于的库,/usr/local/lib/foo.so
有什么方法可以追踪它的创建/安装?理想情况下,我正在寻找一种方法来删除与 opencascade 相关的所有库,但我从未手动安装过任何东西,因此希望从、apt
或dpkg
中找到一些卸载或删除命令make
来清理所有内容。
这不一定仅限于apt
和dpkg
,但我认为它们可能是安装/创建此库的某些自动化程序最有可能的罪魁祸首。我已经检查了和/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,
synaticp
并aptitude
包含在该列表中。但所有其他方法都应远离正常目录,并使用 /home/ 或最好是 /opt/。