1. 程式人生 > >為什麽開源外圍包安裝指導都是按照到/usr/local/目錄下,/usr/local與/usr的區別

為什麽開源外圍包安裝指導都是按照到/usr/local/目錄下,/usr/local與/usr的區別

doc pre 為什麽 div cal sbin tor 很多 tar

很多應用都安裝在/usr/local下面,那麽,這些應用為什麽選擇這個目錄呢?Automake工具定義了下面的一組變量:

Directory variable  Default value  
prefix  /usr/local  
exec_prefix   ${prefix}  
bindir  ${exec_prefix}/bin  
libdir  ${exec_prefix}/lib  
    …  
includedir    ${prefix}/include  
datarootdir   ${prefix}/share  
datadir ${datarootdir}  
mandir  ${datarootdir}
/man infodir ${datarootdir}/info docdir ${datarootdir}/doc/${PACKAGE}

而GUN下面絕大部分應用的編譯系統都是用automake。所以很多很多應用都安裝在了/usr/local/目錄下。

另外,需要註意usr 指 Unix System Resource,而不是User。通常/usr/bin下面的都是系統預裝的可執行程序,會隨著系統升級而改變。/usr/local/bin目錄是給用戶放置自己的可執行程序的地方,推薦放在這裏,不會被系統升級而覆蓋同名文件。

如果兩個目錄下有相同的可執行程序,誰優先執行受到PATH環境變量的影響,比如我的一臺服務器的PATH變量為

 echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

這裏/usr/local/bin優先於/usr/bin。

為什麽開源外圍包安裝指導都是按照到/usr/local/目錄下,/usr/local與/usr的區別