[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

有一个名为 FHS 的规则总结了 Linux 系统目录的布局 - 第 2 部分 -

你好。
我是Mandai,负责Wild 开发团队。

继续
上次不过,这两项的规格相当详细,花了一段时间才把它们拼凑起来。

/usr

/usr 是共享数据的只读位置。
/usr下的目录结构也很明确,所以我也想看一下。

 

/usr/bin

该目录被认为是FHS中最重要的目录,存储系统内的可执行命令。
重要的一点是,有一条规则禁止在此目录中创建子目录。

一个详细的规则是,如果安装了perl、python、tclsh、wish、expect这五个子系统,则必须在/usr/bin中安装一个可执行文件或者该可执行文件的符号链接,这已经成为一个规则。

顺便说一句,我刚刚了解到 perl 是“实用提取和报告语言”的缩写。

 

/usr/包括

此目录放置 C 语言的通用包含文件。
BSD 兼容的包含文件似乎放置在名为 bsd 的子目录中。

 

/usr/lib

这是放置共享库和目标文件的目录。
在极少数情况下,存在不打算由用户或脚本直接执行的内部二进制文件。

与之前出现的 /lib 相比,似乎没有明确的界限,事实上,在 CentOS7 中,/lib 是 /usr/lib 的符号链接。

每个应用程序都应该有一个直接位于其下的子目录,并且依赖于体系结构的数据应该被推送到其中。
重点是,不要不必要地污染直接位于 /usr/lib 下的区域。

/usr/lib/sendmail 还有一个旧规则,要求 MTA 提供指向与 sendmail 兼容的可执行文件的符号链接。
发送邮件很棒。

 

/usr/libexec 目录

这是位于 /usr/lib 中的内部可执行二进制文件所在的目录。
我不在乎,但我觉得我需要澄清它是库还是可执行文件,但似乎有人无法区分。

这个“内部可执行二进制文件”经常是争论的话题,而且似乎还没有结论。

 

/usr/lib<qual>

这是/lib<qual>同样,这是一个存储操作系统架构相关库的目录。

 

/usr/本地

这是系统管理员单独安装的软件的安装目的地。
/usr/local 正下方的目录结构与/usr 类似。
如果自己编译安装,习惯上指定这个目录。

yum 和 apt-get 等包管理系统将系统安装到 /usr,因此如果不小心将源直接安装在 /usr 下,则可能会被覆盖。
当你要安装不同版本的PHP或Ruby时,如果将配置文件直接放在/etc下会出现问题,所以建议在/etc/local中创建一个子目录并放置。

 

/usr/sbin

这是sbin,所以它是放置系统二进制文件的目录,但与/sbin不同的是,这里放置的是不需要但系统管理所必需的命令。

例如有用的文件系统构建命令,如 iptables、ntpd、crond 和 LVM。
只能放置可执行二进制文件或二进制文件的符号链接,不允许放置子目录。

 

/usr/共享

该目录是放置只读的、依赖于体系结构的数据文件的位置。
字体文件似乎与体系结构相关,如果将字体文件放在 /usr/share/fonts 下,系统会识别它。
/usr/share/man 下还存放了与手册相关的文件。

 

/usr/src 目录

这是您在安装源时可以补充源代码等的地方。
基本上,目的是稍后参考它,但根据项目的不同,卸载时您可能需要安装中的配置文件,因此仅仅因为安装完成就将其丢弃还为时过早。

 

/var

/var 是变量数据文件的位置。
可变数据包括日志、锁定文件和临时文件。
Linux监控和管理中存储重要数据。

 

/var/帐户

这是使用 sa 命令和 lastcomm 命令收集的日志的存储位置。
历史命令是执行的命令的日志,而sa命令提供强调使用系统资源的数据的统计数据,例如执行次数和执行时间,而lastcomm命令是与历史命令类似的命令执行的日志。马苏。

 

/var/缓存

这是存储应用程序缓存数据的目录。

 

/var/崩溃

该目录存储系统故障转储。
什么是系统故障转储? 我是这么认为的,但是5.6.5:系统故障转储(可选),我注意到附加了一条文字:“当前系统不支持系统故障转储”。

顺便说一句,系统故障转储称为 kdump,似乎在 RHEL7 中默认安装。
它也安装在CentOS7上。

kdump的作用就是转储系统崩溃时被炸毁而无法访问的内核内存区域。
这种机制相当疯狂或暴力,因此我们从另一个名为 kexec 的命令启动另一个内核(这称为第二内核),因此用户使用的操作系统发生崩溃时,kdump 会获取 ​​的内存区域第一内核(简称第一内核)并写入文件。

运行 kexec 所需的内存区域是每 160MB 4KB RAM + 第一个内核使用的 2 位内存,因此对于 1TB 内存,需要 224MB。
我吃的还蛮多的...

另外,由于不同系统的内核同时运行,它们可能会使用相当多的 CPU,所以这里也需要小心。

另一个大问题是通过查看内存转储可以多接近崩溃的原因。
就我个人而言,我认为我无法通过查看此来确定原因,因此我可能不会使用kdump......

 

/var/游戏

这是游戏相关数据的存储区域。
我不认为你经常在 Linux 上玩游戏,但 Ubuntu 预装了 Shanghai 和 Sudoku,所以为什么不尝试一下呢?

 

/var/lib

这是存储已安装系统数据的区域。
例如,对于使用 yum 安装的 MySQL,所有架构数据都存在于 /var/lib/mysql 下。

 

/var/锁

这是锁定文件的位置。
但是,当前锁定文件的位置因系统而异;MySQL 将套接字锁定文件存储在 /var/lib/mysql 中。
我认为目前还不清楚这是向FHS3.0的过渡期还是他们没有改变的意图。

 

/var/日志

该目录是管理员必须查看的位置。
大多数内核和各种应用程序日志都存储在这里。

根据日志类型的不同,有些日志只能由 root 或具有类似权限的用户授权,因此您可能需要根据管理需求进行调整。

 

/var/邮件

这是发送给每个用户的电子邮件的存储位置。
但是,根据操作系统的不同,邮箱可能会设置为 /var/spool/mail,并且该目录可能是符号链接。

 

/var/opt

该目录用于存储 /opt 中安装的软件的变量数据。
静态文件规定保存在/etc下,给人的感觉就是配置文件散落各处。
可执行文件存储在 /opt 中,安装在 /opt 中的软件包对于保存位置有相当严格的规定(笑),给人的印象是它们受到限制......

 

/var/运行

该目录是根据以前的 FHS 规范设计的系统的剩余兼容性目录。
目前,该角色已移至名为 /run 的目录,当您在 CentOS7 上检查它时,它是 /run 的符号链接。

原文重点是访问utmp,大约有一半的文字是关于utmp的。

 

/var/线轴

/var/spool 是存放等待处理的临时数据的目录。
是不是比/var/tmp更清晰一点,像是等待后处理的数据?

/var/spool/mail 包含发送给本地用户的邮件,在 /var/spool/cron 下有用每个用户名注册的文本文件。

 

/var/tmp

/var/tmp 定位为 /tmp,即使重启也不会被删除。
因此,在使用此目录时,您应该始终删除创建它们的应用程序中的文件。

 

/var/yp

这是放置 NIS(网络信息服务)数据的目录。

据说名称 yp 是因为 NIS 的前身系统名称是 Sun Yellow Pages,是现已不复存在的 Sun Microsystems 的遗产。
由于“黄页”因商标问题而无法再使用,NIS 解决了该问题,该问题一直持续至今。

更复杂的是,目录 /var/nis 也存在,尽管这次没有显示,并且该目录由 NIS+ 使用,因此 NIS 永远不会使用它。

更详细地解释,NIS 是用于在网络内共享有关用户帐户和网络的配置信息的软件。
目前使用的类似系统是DNS,但它专注于网络,因此可以说NIS的范围更广。

你光看就觉得超级方便,但它是20世纪80年代发展起来的,公共网络还没有发展到让人想干坏事的地步,所以没有安全的概念。
此外,NIS 只能管理单个域,并且易于创建。

因此,NIS+克服了NIS的弱点,是一个真正丰富的系统,可以分层管理多个域,并且使用加密具有安全性。
不过,这也使用了DES进行加密,所以在安全性方面有点宽松。

我搜索了一下,但只找到了 Solaris 页面,而且这些材料都是 15 年前的,所以在 21 世纪,似乎你可以在不知道 /var/yp 是什么的情况下操作 Linux。

已经太久了。

就是这样。

如果您觉得这篇文章有帮助,请点赞!
4
加载中...
4 票,平均:1.00 / 14
14,873
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者

万代洋一

我的主要工作是为社交游戏开发 Web API,但我也很幸运能够做很多其他工作,包括营销。
此外,我在 Beyond 中的肖像权被视为 CC0。