我有一个python脚本,其中有一个make install
(默认为/usr/local/lib/python2.7/dist packages/)选项。但在脚本正常使用期间,该脚本还生成包含用户特定可变数据的文件。在我看来,我不应该将编译后的脚本文件与数据结合在一起。在这种情况下,存储软件数据的传统默认位置是什么?
最佳答案
总结自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可以帮助模块在与安装模块的目录对应的共享目录中安装和访问数据。
别忘了另一个选择:问问用户数据应该放在哪里。