Linux系统上应用程序和用户文件的放置

Linux系统上应用程序和用户文件的放置

我应该将以下内容放在哪些目录中?
我有一个包含少量 .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)通常应该对普通用户具有写访问权限。

答案1

如果您的应用程序需要由用户修改,您不应该将其安装到系统上,而是让他们对其用户主文件夹进行某种本地安装。$HOME/yourapp/{bin,images,sounds}ETC。

大多数系统路径(例如 /var、/usr)不能也不应该被用户写入访问。

另一种方法是正常安装您的应用程序,但在 $HOME/.yourapp 中创建一种覆盖层,其中包含用户更改的与系统默认值不同的所有内容。

答案2

您可以按照XDG 基目录规范并将用户可替换的内容放入目录中,$XDG_DATA_HOME并将所有用户配置文件放入目录中$XDG_CONFIG_HOME(默认分别为$HOME/.local/share/$HOME/.config/)。

我不确定这是否可以称为标准的处理方式,但它肯定很受欢迎,因此您的用户可能会熟悉它。

相关内容