Directory-Structure

linux系統上應用程序和使用者文件的放置

  • May 10, 2011

我應該在哪些目錄中放置以下內容?

我有一個包含幾個.net 程序集的應用程序、一個預設數據庫(包含預設應用程序設置)、一個包含 100 個圖像的目錄、一個聲音目錄(例如 mp3)。

例如

somedir/myapp.exe  
somedir/myassembly1.dll  
somedir/myassembly2.dll  

somedir/images/1/image1.png  
somedir/images/1/image2.png  
somedir/images/2/image1.png  

somedir/sounds/1/sound1.mp3  
somedir/sounds/1/sound2.mp3  
somedir/sounds/2/sound1.mp3  

一個要求是我希望我的使用者可以替換他們認為合適的聲音和圖像,因此基本上該路徑(例如/var/usr)通常應該對普通使用者具有寫訪問權限。

如果您的應用程序需要使用者修改,則不應將其安裝到系統中,而是讓他們對其使用者主文件夾進行某種本地安裝。$HOME/yourapp/{bin,images,sounds}等等。

大多數係統路徑(如 /var、/usr)不能也不應該被使用者寫入訪問。

另一種方法是正常安裝您的應用程序,但在 $HOME/.yourapp 中創建一種覆蓋,其中包括使用者更改的所有與系統預設值不同的內容。

您可以遵循XDG 基本目錄規範並將使用者可替換的東西放在一個目錄中,$XDG_DATA_HOME並將任何使用者配置文件放在一個目錄中$XDG_CONFIG_HOME(預設分別為$HOME/.local/share/$HOME/.config/)。

我不確定這是否可以稱為標準的做事方式,但它肯定很受歡迎,因此您的使用者可能會熟悉它。

引用自:https://unix.stackexchange.com/questions/12895