我有一个Python应用程序,目前安装在Linux 文件系统标准层次结构(FHS)。它安装在:
- /usr/bin/(可执行的)
- /usr/lib/python2。x/site-packages/{appname}/(Python库)
- /etc/{appname}/(conf files)
- /usr/share/man/(手动文件)
现在,希望非root用户安装该应用程序可以在没有root权限的情况下安装它,并且只有该用户可以运行该应用程序。我们认为最好是将应用程序安装在用户主目录下。
我们已经在用户home中有一个.{appname}
目录来保存每个用户的配置文件,因为应用程序在/etc
中安装了配置文件。
我认为使用.{appname}
目录来保存所有应用程序文件不是一个好主意,因为目录预先附加了。只保存配置文件。我可能会删除.{appname}
目录,因为现在整个应用程序将按用户安装。
2的想法:
- 创建
{appname}
目录,并创建子目录bin, etc, lib和share/man。 - 在home目录下复制Linux FHS,并在lib等目录下创建
{app-name}
子目录- ~/bin/
- ~/lib/{浏览器名称}
- ~/分享/人/
- ~/etc/{浏览器名称}
哪一个是更常用和更推荐的?每种选择的优点和缺点都是受欢迎的。也许还有第三种选择?
我看到有人推荐/home/usr/bin
和/home/usr/local/bin
,但我不理解在这里包含usr
的必要性,因为没有必要区分必要和非必要的二进制文件/库。我更喜欢极简主义。
第一个选项是最常见的。第三种选择是在~/.local/
(反映/usr
)下创建(或填写)已经被share/
的许多应用程序使用的结构。