在文件系统层次结构标准 3.0 中的 3.5.1 节“根文件系统 - /boot:引导加载程序的静态文件 - 用途”中:
该目录包含启动过程所需的所有内容,除了启动时不需要的配置文件和地图安装程序之外。
这是什么地图安装程序?我自己没能找到任何东西,所以才问这个问题。
这是我所指的文档的链接,以防万一:https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf
在文件系统层次结构标准 3.0 中的 3.5.1 节“根文件系统 - /boot:引导加载程序的静态文件 - 用途”中:
该目录包含启动过程所需的所有内容,除了启动时不需要的配置文件和地图安装程序之外。
这是什么地图安装程序?我自己没能找到任何东西,所以才问这个问题。
这是我所指的文档的链接,以防万一:https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf
/usr/local
我目前对根据标准的文件夹有一些相互矛盾的怀疑。
在我们的应用程序中,我们当前将只读应用程序文件存储在/usr/local/<appname>
. 在浏览文件系统层次结构标准时,它指出除了/usr/local
列出的目录之外,不得有其他目录。
Stack Overflow 上的另一位用户引用了一段指定/usr/local/<appname>
应该使用的文本,但我无法在 FHS 中找到这部分内容。
我在我的机器上看到的其他示例是/usr/local/mysql
和/usr/local/percona
。
难道这些根本就不符合标准吗?我们应该切换到吗/usr/local/share/<appname>
?
根据FHS
关于/dev
:
它包含:
The following devices must exist under /dev.
/dev/null
All data written to this device is discarded. A read from this device will return an EOF condition.
/dev/zero
This device is a source of zeroed out data. All data written to this device is discarded. A read from this device will return as many bytes containing the value zero as was requested.
...
观察两者都有:
All data written to this device is discarded
/dev/null
我阅读了许多总是用来丢弃数据的教程。但是因为两者的写作目的相同(丢弃)
问题
/dev/zero
写入/dev/null
/丢弃目的?顺便说一句,其他差异 - 实际上主要是关于阅读- 我们有:
在 PC 上,XDG 桌面规范允许各个桌面为各种数据设置不同的文件夹。在编写只能在服务器上运行的应用程序时,是否应该简单地进行硬编码/etc/myapp
等/var/cache/myapp
,或者是否应该检查潜在的环境变量或类似的变量?
我有一些我想用make
. 源代码将被编译成我要使用的驱动程序。此类文件的正确位置是什么?/usr/共享?/选择?/usr/local/...?
编辑:驱动程序将成为内核驱动程序,我将使用 dkms 进行安装。我将使用的发行版是 Ubuntu,但将来我可能还会将其用于其他发行版
我读了一篇文章,它指出“bin”“dev”“etc”“lib”“root”“sbin”目录应该与根目录在同一个文件系统中,也就是说,它们不应该作为单独的文件系统挂载.
我有点困惑,例如,在许多发行版中,现在“sbin”“bin”和“lib”目录符号链接到“usr”目录。
lrwxrwxrwx 1 root root 7 Apr 30 18:19 bin -> usr/bin
...
lrwxrwxrwx 1 root root 7 Apr 30 18:19 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Apr 30 18:19 lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 Apr 30 18:19 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 Apr 30 18:19 libx32 -> usr/libx32
...
lrwxrwxrwx 1 root root 8 Apr 30 18:19 sbin -> usr/sbin
但是,文章并没有规定“/”目录和usr目录必须在同一个文件系统上。我也看过之前的问题,但我仍然感到困惑。哪些目录必须在同一个文件系统中,哪些应该保存在不同的文件系统中?
FHS-3.0 将其描述为:
可共享的只读数据。这意味着它
/usr
应该可以在各种符合 FHS 的主机之间共享,并且不能被写入。
我对这意味着什么感到有些困惑。这是否意味着二进制文件或其中的任何其他文件应该可以复制粘贴到另一台机器上,并且它们可以正常运行?
Linux FHS(文件系统层次标准)指的是以下形式的目录:
/lib<qual>
它描述了如下目录:
在支持多于一种需要单独库的二进制格式的系统上,/lib 目录可能有一个或多个变体。
同样,它指的是目录:
/usr/lib<qual>
并将它们描述为:
/usr/lib 执行与 /usr/lib 相同的角色,用于替代二进制格式,除了符号链接 /usr/lib/sendmail 和 /usr/lib/X11 不是必需的。
FHS Wikipedia 文章为这些目录提供了以下替代描述:
/lib<qual>
备用格式基本库。这样的目录是可选的,但如果它们存在,它们有一些要求。
/usr/lib<qual>
备用格式库,例如 /usr/lib32 用于 64 位机器上的 32 位库(可选)。
我假设字符串<qual>
是某事的助记符。是吗?如果有,它代表什么?