Package-Management

通過 make install 查找添加/修改文件的可靠方法

  • September 25, 2021

昨天我正要問這個問題,當我點擊查看按鈕時,“類似問題”視窗已被修改為向我顯示這個:如何找出使用 make 安裝的文件?

我認為它已經足夠好,但我不滿意

我正在閱讀 lfs 的書,並且正在討論包管理的章節。有一個指向提示部分的連結,可以更廣泛地了解該主題,其中一個提示說:

除此之外,我還注意到目前沒有 100% 可靠的方法來知道哪些文件

$$ are $$在“make install”(或其他命令)期間修改。 fakeroot 方法當然不會阻止軟體包將文件安裝到它想要的位置。

TRIP,用於 LFS(和其他 linux 系統)的 TRIvial Packager

我的理解:

  • 碰巧makefile可能無法正確使用$DESTDIR
  • 文本來自 2006 年,因此可能已過時(但確實發生了)

我一直使用預編譯的包管理器,我不知道背後的團隊多久必須糾正這些錯誤。我不明白如何解析生成文件可能無法“100% 可靠”

獲取完成的文件操作列表的一種範例方法make install是執行:

make -n install

此命令不會安裝/更改任何內容,只會列印沒有-n密鑰實際執行的操作(正常安裝)

使用GNU stowCheckInstall

stow:

GNU Stow 是 /usr/local 的軟體安裝管理器。使用符號連結,GNU Stow 可以幫助您保持安裝分開(例如 /usr/local/stow/emacs 與 /usr/local/stow/perl),同時保持它們都在 /usr/local 下的錯覺。

CheckInstall

CheckInstall 跟踪您的安裝腳本(“make install”、“make install_modules”、“setup”等)創建或修改的所有文件,建構標準二進制包並將其安裝在您的系統中,讓您能夠解除安裝它您的發行版的標準包管理實用程序。

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