2014-10-10 57 views
0

我有一个Python脚本,其中make install(默认为/usr/local/lib/python2.7/dist-packages/)选项可用。但脚本在脚本正常使用期间也会生成带有用户特定可变数据的文件。在我看来,我不应该将编译的脚本文件与数据结合在一起。在这种情况下,传统的默认存储软件数据的地方是什么?在哪里存储由linux软件生成的数据文件?

+1

正常使用软件期间在运行时生成的数据,还是在'make install'时间安装的数据? – hobbs 2014-10-10 05:31:33

+0

正常使用该软件 – 2014-10-10 05:36:05

+0

我认为'这取决于'。用户是否需要控制数据?许多程序使用用户的主目录。属于不显眼用户的数据可以进入用户主目录的虚线子目录。系统级的数据存储,例如mySQL数据库服务器保存在文件中的数据,通常位于/ var/lib的子目录中 – Paul 2014-10-10 05:39:07

回答

3

Filesystem Hierarchy Standard总结:

不可变的结构无关的数据应在/usr/share/usr/local/share去。如果它是用户特定的(XDG这里提供了更多指导),或者在/var(如果它是系统范围的)(它通常需要一个组拥有的目录和文件以及一个setgid应用程序以允许写入到共享文件)。

/usr/share/usr/local/share通常具有有点镜像的结构/usr/lib/usr/local/lib;我不知道Python,但Perl有一个模块File::ShareDir,它帮助模块安装和访问与模块安装目录相对应的共享目录中的数据。

并且不要忘记其他选项:只需询问用户数据应该在哪里。

+0

在哪个阶段,您会建议询问用户?在'make install'或启动?我应该问可选吗?它是用户特定的可变数据大小写。 – 2014-10-10 06:36:21