Dpkg
確定依賴包使用包中哪些功能的簡單方法?
我正在努力將系統剝離到最少的文件、包等。它需要提供我想要的功能。
我發現很多我想保留的包對我正在建構的發行版完全不必要和/或不需要的包有依賴關係,除了它們是依賴關係之外。
我知道我可以提取每個包的原始碼,從不需要的依賴項中編譯函式列表,掃描我想要保留的包的原始碼以查找呼叫這些函式的位置(如果有的話),然後將庫剝離為該功能,可能是 api,或者將功能傳遞給我想要保留的包所需的任何其他內容。
我現在已經這樣做了,一次看看是否可能。這是。然而,它耗時、乏味,而且幾乎不適合自動化。
是否有我無法找到的選項
dpkg
或存在的程序已經逃脫了我(誠然並不令人驚奇)的研究能力以達到我想要的效果?
deborphan
試圖解決這個問題。
aptitude
在幕後為您執行此操作,跟踪可以刪除哪些包,因為它們被拉入只是為了滿足不再安裝的包的依賴關係。
debfoster
宣傳有點類似的功能,但我沒有實際經驗。這些都在包級別上工作,並使用
dpkg
’s 數據庫中聲明的依賴項。您的問題似乎表明您想要剝離單個包以刪除您不需要的程式碼和其他資源。這是一項更為複雜和艱鉅的任務;我不認為存在任何切割和乾燥的東西來解決這個問題。