Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux *nix配置文件存储约定?_Linux_Macos_Unix_Solaris_Configuration Files - Fatal编程技术网

Linux *nix配置文件存储约定?

Linux *nix配置文件存储约定?,linux,macos,unix,solaris,configuration-files,Linux,Macos,Unix,Solaris,Configuration Files,可能是超级用户的候选者,但我想我应该先试试这里,因为这个问题是关于一个编程项目的 是否有*nix(针对Solaris、Linux和OS X)约定用于系统范围内的where(可由所有用户更新)配置信息应由应用程序存储?大多数配置信息存储在/etc/文件夹中,或者如果是用户特定的配置,则通常存储在~/.文件夹中。好,最常见的方案是在/etc/app\u name中有一个系统范围的配置,用户可以创建~/.app\u name,它覆盖/etc/app\u name中的设置。我们甚至可以更进一步,使用三层

可能是超级用户的候选者,但我想我应该先试试这里,因为这个问题是关于一个编程项目的


是否有*nix(针对Solaris、Linux和OS X)约定用于系统范围内的where(可由所有用户更新)配置信息应由应用程序存储?

大多数配置信息存储在
/etc/
文件夹中,或者如果是用户特定的配置,则通常存储在
~/.
文件夹中。

好,最常见的方案是在
/etc/app\u name
中有一个系统范围的配置,用户可以创建
~/.app\u name
,它覆盖
/etc/app\u name
中的设置。我们甚至可以更进一步,使用三层概念来实现这一点:例如,如果您的应用程序位于
/opt/app_name
,那么就有一个默认配置
/opt/app_name/conf
,并且
/etc/app_name
~/.app_name
都可以覆盖它

IIRC,KDE使用这三层概念,甚至可以将部分或键标记为不可重写,这样系统管理员就可以禁止用户重写e。G任务栏的位置。实施起来可能有些过火,但可能值得思考


配置是存储在包含多个文件的目录中还是仅存储一个文件并不重要。

Solaris(SVR4)标准是将应用程序二进制文件(不更改的文件)置于/opt/appname下,将大小不同的文件(如日志)置于/var/opt/appname下,系统范围的配置文件位于/etc/opt/appname下。用户的定制传统上是在~/.appname下进行的。

系统范围内和所有用户都可更新在某些方面是相互竞争的目标。。。传统的路径通常只能由root用户写入,或者可能由特定应用程序的虚拟用户写入。要扩展Jefromi的评论,为什么其他用户可以修改我的配置?@Jefromi。这就是问题所在。:-)我有一个独特的情况,某些项目是共享的,但需要由系统的任何用户更新。这些项目是否有可能通过应用程序更新?还是纯粹的预运行配置?在前者的某些情况下,您可以玩一些游戏,以应用程序用户的身份运行守护程序,让用户通过守护程序完成他们需要做的事情。它是一个跨平台的java应用程序,它确实试图不产生太多的依赖于平台的代码,但如果需要的话,会考虑它。我认为<>代码> /ETC < /C>可能会接近你所要达到的标准。我们的期望是,这是一种受限访问—您可能至少希望将有问题的用户添加到应用程序的组中,并使其成为组—但不是全世界可写的。OS X是否也遵循此约定,还是“库”结构更合适?很抱歉,我没有使用MacOS的经验,但基本上这是Unix,应该差不多