我自己編譯的軟體該放在哪裡?

我自己編譯的軟體該放在哪裡?

我需要在我的 Fedora 機器上編譯一些軟體。最好把它放在哪裡,以免干擾打包的軟體?

答案1

經驗法則,至少在 Debian 風格的系統:

  • /usr/local對於「系統範圍」的內容,即/usr/local往往位於發行版的預設目錄中$PATH,並遵循標準 UNIX 目錄層次結構/usr/local/bin,如/usr/local/lib、 等。

  • /opt對於您不信任在系統範圍內製作的內容,使用每個應用程式的前綴 - 即/opt/firefox-3.6.8/opt/mono-2.6.7,等等。這裡的東西需要更仔細的管理,但也不太可能破壞您的系統,並且更容易刪除,因為您只需刪除該資料夾,它就會消失。

答案2

如果您真的不想讓它幹擾,請不要將其放在您的$PATH.

如果您想要它$PATH,至少確保不要安裝到/usr/local.我發現很多軟體即使是由發行版安裝到/usr.

我最喜歡的安裝自訂編譯軟體的方式是在我的$HOME目錄中。這樣您就不必使用sudo任何東西,並且它可以很好地與系統的其餘部分分開。例如:

mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install

如果您願意,您可以將其添加/home/username/stage/bin到您的$PATH.

答案3

FHS 說把它放在 /usr/local 中發行版不該觸及它的地方。 對於來源和庫的/usr/local/bin二進位檔案。請參閱/usr/local/src/usr/local/libFHS規格了解更多信息

答案4

把它們放到/usr/local/src.

我所做的就是提取該目錄中的原始程式碼。它將創建一條類似的路徑

/usr/local/src/postgresql-8.3.7

然後我創建一個指向它的符號連結:

/usr/local/src # ln -s  postgresql-8.3.7 postgresql

做你所有的建築/usr/local/src/postgresql

當您需要在版本之間切換並記錄您正在使用的版本時,這種方式會有所幫助。

相關內容