Directory-Structure
部署我的應用程序
在 linux 下部署我的應用程序時,我應該將我的庫、執行檔和桌面入口文件放在哪裡?我的程序需要的其他文件呢?例如背景圖片、音頻文件等。
我聽說我把我的可執行文件放在
/usr/bin/
文件夾裡,我的庫放在/opt/<myapp>/lib/
文件夾裡,我的桌麵條目文件放在/usr/share/applications/
文件夾裡。那是對的嗎?但是應用程序資源的一般位置在哪裡?
這是我在部署應用程序時需要注意的一切,還是我缺少其他步驟?
文件系統層次標準指定了文件的放置位置。
如果您在包管理器之外安裝文件,請始終將它們
/usr/local
放在/opt
. 除非通過包管理器,否則****永遠不要觸摸下面的任何東西/usr``/usr/local
,除了.
/usr/local/bin
: 打算由使用者執行的執行檔(互動式或從腳本)/usr/local/lib
:許多程序都可以使用的庫,而不僅僅是您的程序/usr/local/lib/YOUR-PROGRAM-NAME
: 任何其他與架構相關的文件/usr/local/share/doc
: 文件(除了 man 和 info 格式)/usr/local/share/info
:資訊格式的文件/usr/local/share/man/man*
: 手冊頁/usr/local/share/YOUR-PROGRAM-NAME
: 任何其他與架構無關的文件這些天來,
share
包含與體系結構無關的文件的區域的分離不是很重要。它是在硬碟較小時設計的,通過不在異構網路中兩次儲存與架構無關的文件來節省空間很重要。如果你願意,你可以跳過這個區別,把所有的東西都放在lib/YOUR-PROGRAM-NAME
.如果您更喜歡使用
/opt
,請將所有內容放在 下/opt/YOUR-PROGRAM-NAME
,並在其中創建符號連結/usr/local/bin
(/usr/local/share/man/man*
並且/usr/local/share/info
如果您提供 man 和 info 格式的文件),以便使用者可以呼叫您的程序。如果您製作 deb 或 rpm 包,請將文件放在下面
/usr
而不是/usr/local
. 檢查每個發行版的文件以了解其特殊性。