Linux 系统关于应该把程序安装在目录 /usr 还是目录 /usr/local 下的思考
對于一個以 LFS(Linux From Scratch 大意:自己做出來的 Linux) 為基礎的系統來說,這是一個沒有明確答案的問題。什么是 LFS?
在傳統的 Unix 系統中,/usr 通常只包含系統發行時自帶的程序,而 /usr/local 則是本地系統管理員用來自由添加程序的目錄。這里有一條嚴厲而牢固的規則:除非在里面創建目錄,否則 Unix 發行版不得使用 /usr/local。
對于 Linux 發行版,如 RedHat, Debian 等等,一個可能的規定是:/usr 目錄只能由發行版的軟件包管理工具負責管理,而對 /usr/local 卻沒有這樣做。正是因為采用這種方式,軟件包管理工具的數據庫才能知道在 /usr 目錄內的每一個文件。
LFS 的用戶是自己建立系統的,所以能自己決定系統文件和用戶文件的放置方式。因此,應該按照有利于系統管理員使用的方式作出選擇。這里有幾個把文件安裝到 /usr 或者是 /usr/local 的理由:
如果網絡上的計算機都運行 LFS 或者是混合使用 LFS 和其它 Linux 發行版,所有連網計算機共用的軟件應該安裝在 /usr/local 內。這樣可以通過 NFS 文件系統共享該目錄或者從一個服務器上鏡象過來。此時 /usr/local 表示本地服務器提供的軟件的目錄。
如果網絡上的計算機都運行同樣的LFS系統,/usr/local 應該安裝各臺計算機之間不相同的軟件。這時 /usr/local 表示本地計算機提供的軟件的目錄。
如果你在一臺計算機上同時安裝了幾個 Linux 發行版,并希望在某個目錄存放它們共享的軟件,這時 /usr/local 目錄就能發揮作用了。
或者你想要經常重建 LFS 系統,但又希望把不想每次重復編譯的軟件存放在某處,你也可以把軟件安裝在 /usr/local 目錄。這樣你就可以在不丟失數據的情況下刪去 LFS 系統并從一個干凈的分區重新開始。
一些人會問為什么不使用你自己的目錄樹,也就是使用 /usr/site 而不是 /usr/local?
沒有什么能阻止你,確實可以在很多地方創建自己的目錄樹,但這會使得安裝新軟件更加麻煩。自動化的安裝程序通常要到 /usr 或 /usr/local 目錄下尋找所依賴的文件,如果要找的文件不在 /usr 目錄里面,安裝可能會失敗,除非你指定目錄讓安裝程序查找所依賴的文件。
那么在 BLFS 中軟件的安裝位置在那里?
除非特別聲明,所有 BLFS 中的軟件都安裝在 /usr 目錄下。也有一些文件被放在 /usr/local 目錄下,但它們只是文檔并且有足夠的理由這樣做。
個人建議
你自己安裝的應用類程序,經常使用的,安裝在 /usr/local/lib 目錄下
你自己安裝的系統類程序,建議安裝在 /usr/lib 目錄下
你自己安裝的應用類程序,不經常使用,或者臨時安裝的,不久就要卸載掉,建議安裝在 /opt/lib 目錄下
程序源碼放在 /usr/local/src 目錄下
總結
以上是生活随笔為你收集整理的Linux 系统关于应该把程序安装在目录 /usr 还是目录 /usr/local 下的思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 荣耀3c是什么时候上市的(华为荣耀3新上
- 下一篇: 镜之边缘怎么设置中文(镜之边缘怎么操作)