Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
2.3. 文件系统布局
Red Hat Enterprise Linux 7 对文件系统的布局进行了两个主要更改。
-
/bin
、/sbin
、/lib
和/lib64
目录现在位于/usr
目录中。 -
/tmp
目录现在可以用作临时文件存储系统(tmpfs
)。 -
/run
目录现在用作临时文件存储系统(tmpfs
)。应用程序现在可以使用/run
与使用/var/run
目录相同的方式。
2.3.1. root 文件系统的新布局
通常,/bin
和 /lib
目录中仅包括最小的必要的内容,以避免减慢引导过程的速度。有些实用程序需要位于根(/
)级别才能挂载 /usr
分区。这样一来,其他实用程序会将其内容分散到多个目录级别,例如在 /bin
和 /usr/bin
中。
Red Hat Enterprise Linux 7 将 /bin
、/sbin
、/lib
和 /lib64
目录移动到 /usr
中。因为 /usr
文件系统现在可以由 initramfs
而不是由 root 级别目录中的实用程序挂载,所以不再需要在两个不同的目录级别间分割软件包内容。这可实现更小的根文件系统,启用可以更有效地共享磁盘空间的系统,以及更容易维护、更灵活和更安全的系统。
要减少这个更改的影响,以前的 /bin
目录现在是 /usr/bin
的符号链接,/sbin
到 /usr/sbin
,以此类推。
2.3.1.1. 为升级准备文件系统
请注意,如果 /usr
位于独立分区,则无法进行原位升级。如果您决定将 /usr
从独立分区中移出,请注意这是您自己的风险。
如果 /var
位于独立分区中,则必须手动将 /var/run
和 /var/lock
转换为符号链接:
# mv -f /var/run /var/run.runmove~ # ln -sfn ../run /var/run # mv -f /var/lock /var/lock.lockmove~ # ln -sfn ../run/lock /var/lock
您必须确保解决有关分区方案的所有 preupgrade-assistant 结果。
完成准备后,请参阅 安装指南 以了解执行升级过程的更多详情。
2.3.1.2. 验证升级是否成功
执行升级过程后,务必要验证升级是否按预期工作。
检查是否存在以下符号链接:
-
/bin
是/usr/bin
的符号链接 -
/sbin
是/usr/sbin
的符号链接 -
/lib
是/usr/lib
的符号链接 -
/lib64
是/usr/lib64
的符号链接 -
/var/run
是/run
的符号链接 /var/lock
是/run/lock
的符号链接如果列出的目录是符号链接的,则需要两个额外的检查。
-
检查以下 find 命令的输出结果:
# find /usr/{lib,lib64,bin,sbin} -name '.usrmove'
响应此命令时显示的文件或目录无法复制到
/usr
,因为/usr
中已存在具有相同名称的文件和目录。您需要手动解决这些命名冲突。检查以下要保留的文件的目录:
-
/var/run.runmove~
-
/var/lock.lockmove~
-
如果列出的任何目录不是符号链接,则需要遵循 第 2.3.1.3 节 “从失败的升级中恢复” 中介绍的恢复过程。
2.3.1.3. 从失败的升级中恢复
升级过程可能会因为多个原因失败。检查以下命令的输出结果以查看出错信息:
# dmesg # journalctl -ab --full
如果没有错误信息,请检查:
-
/
为可写 -
/usr
是可写 -
/
有足够的空间 -
/usr
有足够的空间 -
/var
在 rhelup 工具中挂载
如果您需要进一步帮助,请联系红帽支持团队。