Debian

編譯包並保持整潔

  • September 15, 2015

在我的 Linux (Debian) 職業生涯中,我似乎第一次有必要自己編譯一個軟體。

編譯過程在項目網站上有很好的描述。但是,有一件事我不明白,這讓我無法開始:

我想讓我的包管理 (APT) 保持整潔。為了編譯這個項目,我需要下載很多包(其中大部分是 *-dev 版本),一旦我完成編譯,我可能就不需要了。

之後我不想保留那些 *-dev 包。

因此,我想知道是否有一種實用的方法可以為編譯過程臨時安裝這些包,然後一次將它們全部刪除(不必記住每個包名)。

如果軟體包恰好位於某個 debian 儲存庫中,您可以使用它build-dep來安裝建構依賴項並將其標記為“自動”安裝。然後,您可以使用autoremove來清理那些建構依賴。

apt-get build-dep -o APT::Get::Build-Dep-Automatic=true WhatImBuilding
apt-get autoremove

如果您正在建構的任何東西在某個地方都沒有帶有建構部門的 deb 包,那麼這種技術就行不通。然而,有一個 debian 功能建議來添加這種類型的支持:https ://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745769

我想你可以為你在你管理的本地倉庫中建構的任何東西定義一個假包,並在那裡定義建構deps,允許上述方法工作。不過,這有點做作。您還可以手動編輯/var/lib/apt/extended_states文件以將您正在安裝的任何軟體包標記為“自動”,從而使它們符合 . autoremove,但這可能很危險。

引用自:https://unix.stackexchange.com/questions/229897