确定依赖包使用包中的哪些函数的简单方法?

确定依赖包使用包中的哪些函数的简单方法?

我正在努力将系统剥离到提供我想要的功能所需的最少量的文件、包等。

我发现我想保留的很多包都依赖于我正在构建的发行版完全不必要和/或不需要的包,除了它们是依赖项这一事实之外。

我知道我可以提取每个包的源代码,从不需要的依赖项中编译函数列表,扫描我想要保留的包的源代码以查找调用这些函数的位置(如果有的话),然后将库剥离为仅该函数,可能还有 api,或者将该功能交付给我想保留的包所需的任何其他内容。

我现在已经做到了这一点一次看看是否可能。这是。然而,它既耗时又乏味,而且不太适合自动化。

是否有一个我无法找到的选项dpkg或一个存在的程序已经逃脱了我(诚然并不令人惊奇)的研究能力以达到我想要的效果?

答案1

deborphan试图解决这个问题。

aptitude在幕后为您做这件事,跟踪哪些包可以被删除,因为它们被拉入只是为了满足不再安装的包的依赖关系。

debfoster宣传了一些类似的功能,但我没有实际经验。

这些都在包级别上工作,并使用 的dpkg数据库中声明的依赖项。您的问题似乎表明您想要剥离各个软件包以删除不需要的代码和其他资源。这是一项更加复杂和艰巨的任务;我不认为有什么办法可以解决这个问题。

相关内容