
我需要在我的 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/lib
FHS規格了解更多信息
答案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
。
當您需要在版本之間切換並記錄您正在使用的版本時,這種方式會有所幫助。