在配置应用程序时,/dev/null如果您希望应用程序读取空文件,通常可以将其用作配置文件。但是,如果应用程序从目录中读取文件列表,则不能使用此技巧。你需要给它一个空目录来阅读。
我想知道:Linux 是否有可用于此类目的的默认空目录?我知道 OpenSSH 使用 /var/empty 有一段时间了,我当然可以自己创建一个空目录,但也许 FHS 为此指定了一个标准目录?
我无法破译/opt 安装包在何处放置“可变程序数据”的决定因素。一方面,FHS 表示将所有指示程序状态的变量数据放入 /var/lib 中,并且这些数据应该在重新启动后保留。它还说这些数据是特定于主机的。现在 FHS 还说 /var/opt 目录应该包含 opt“变量数据”。所以..让我说我已经安装了一个包,我可以选择设置它的“工作目录(这是包命名这个路径的方式)”。我应该把它放在哪里?
参考见:
http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBVARIABLESTATEINFORMATION http://www.pathname.com/fhs/pub/fhs-2.3.html#VAROPTVARIABLEDATAFOROPT
请注意,这个问题自然也会扩展到 /usr/local 变量数据。
我多年来一直在使用 Linux 服务器,但我一直对文件系统层次结构标准感到困惑。通常,我可以忍受混乱。但是现在我正在为 Linux 开发自己的软件,我需要了解包管理器应该在哪里安装它。
我非常确信 /opt 是我的应用程序的完美位置。但是在调查了我的 Debian 文件系统之后,我不再确定:很多软件实际上安装在 /usr/lib 中!仅举几例:MySQL、MySQLWorkbench、Nautilus、Rythmbox...
根据 FHS,/usr/lib 应该包含“用于编程和包的库”和“包括不打算由用户或 shell 脚本直接执行的目标文件、库和内部二进制文件”(请参阅此处)。
许多位于我的 debian 服务器的 /usr/lib 中的软件不是库或内部二进制文件,而是成熟的用户可执行软件!
我仍在按计划将我的应用程序安装在 /opt 中。但我真的很想了解这是否正确,最重要的是,为什么.
预先感谢您的善意建议,
埃里克。
我对里面的内容/srv和寻找有关其在 Debian 上使用的良好实践感到有些困惑。
根据 FHS:“/srv包含由该系统提供服务的站点特定数据”。
但是,我不确定是否可以/应该存储诸如 MySQL 数据文件、munin 的 rrd 文件之类的东西,/srv因为它们不是直接“提供”的。
我不是问这是否可能或如何实现,我问的是您的经验和良好做法。
根据FHS,目录/lib和/usr/lib都用于库(分别用于库/sbin和用户库)。
但是/var/lib文件夹呢?按照相同的逻辑,这个文件夹应该有类似“变量库”的东西(听起来很奇怪),但它实际上保存了由运行程序生成和维护的数据,或者由维基百科文章定义:
状态信息。程序在运行时修改的持久数据,例如数据库、打包系统元数据等。
从新的角度来看,将数据库数据和服务文件放在下面/srv而不是放在下面更有意义/var/lib
我在放置服务器的不同发行版中看到了不同的方法。
我看到/srv每个服务器都有一个文件夹等/srv/ftp。/srv/www以前使用过/opt。
我现在已经安装了 Ubuntu,并且没有/srv,但我记得提供和更改内容现在要放在/var.
是否有导出文件系统的标准/var,例如/var/exports/?或者这被认为是错误或不好的做法?
我知道 /root 不在 /home 中的一个原因是 /home 通常安装在不同的磁盘上,如果它失败,我们仍然希望 root 可以访问。这种结构的其他一些原因是什么?