Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 35 章 安装和引导

当在 Kickstart 文件中指定 %packages --nobase --nocore 时,安装会失败并出现回溯信息

使用包含 %packages 部分的 Kickstart 文件,并同时指定 --nobase--nocore 选项会导致安装因为缺少 yum-langpacks 软件包而失败,并显示回溯信息。
要临时解决这个问题,在 Kickstart 文件中使用 %packages --nobase --nocore 时,在 %packages 部分添加 yum-langpacks 软件包。

如果 Kickstart 中指定的 root 密码没有传递策略要求,则安装无法进行

如果您使用定义 root 密码的 Kickstart 文件,且密码没有完全填充 Security Policy spoke 中选择的安全策略的要求,您将无法完成安装。Begin Installation 按钮将被灰掉,在按此按钮前无法手动更改 root 密码。
要临时解决这个问题,请确保您的 Kickstart 文件使用足够强大的密码来传递由所选安全策略定义的要求。

救援模式无法在 Btrfs 上检测并挂载 root 卷

安装程序救援模式(从安装介质引导菜单或使用 inst.rescue 引导选项访问)无法检测位于 Btrfs 子卷上的 / (root)目录的现有系统。相反,会显示一条错误消息,指出"You don"没有任何 linux 分区。
要临时解决这个问题,请输入 shell 并手动挂载 root 卷。

Initial Setup 中的窗口标题错误

Initial Setup 工具会在第一次引导安装后自动显示,它允许您配置网络连接和注册您的系统,在窗口标题中显示字符串 __main__.py
这是一个一致的问题,对可用性没有负面影响。

在 IBM System z 上的 FBA DASD 中重新安装会导致安装程序崩溃

当使用修复的块存储(FBA) DASD 在 IBM System z 上重新安装 Red Hat Enterprise Linux 7 时,安装程序会因为这些设备的支持不完整而崩溃。
要临时解决这个问题,请通过将任何 FBA DASD 放置到设备忽略列表中,确保在安装过程中不存在任何 FBA DASD。这应该在启动安装程序前完成。在 root shell 中,使用 chccwdev 命令,后跟 cio_ignore 命令离线地切换设备,然后将它们添加到设备忽略列表中。
另外,您可以在开始安装前从 CMS 配置文件或参数文件中删除所有 FBA DASD 设备 ID。

在 IBM System z 上安装后,HyperPAV 别名不可用

已知问题可防止在安装完成后配置为 HyperPAV 别名的 DASD 自动附加到系统。这些存储设备在安装过程中位于 Installation Destination 屏幕中,但在安装完成后无法立即访问它们。
要临时解决这个问题(不需要下一次重启),请使用 chccwdev 命令从设备黑名单中删除这些设备:
# chccwdev -e <devnumber>
要使 HyperPAV 别名在重启后永久可用,请将其设备号添加到 /etc/dasd.conf 配置文件中。
您可以使用 lsdasd 命令来验证这些设备是否可用。

IBM System z 上生成的 anaconda-ks.cfg 文件无法用于重新安装系统

anaconda-ks.cfg 文件是系统安装过程中生成的 Kickstart 文件,其中包含在安装过程中进行的所有选择,以十进制数字表示 IBM System z DASD。这是因为 DASD 报告 4KiB 校准,这会导致计算的磁盘大小不正确,因为它们记录在 Kickstart 文件中,因为只接受整数值。因此,无法重新使用生成的 Kickstart 文件来重现安装。
使用 IBM System z 上的 anaconda-ks.cfg 文件重新安装系统,您需要手动将中的所有十进制值改为整数。

安装过程中可能的 NetworkManager 错误消息

安装系统时,会显示并记录以下出错信息:
ERR NetworkManager: <error> [devices/nm-device.c:2590] activation_source_schedule (): (eth0): activation stage already scheduled
错误消息不应阻止安装完成。

InfiniBand Support 软件包组中缺少软件包 libocrdma

libocrdma 软件包不包含在 InfiniBand 支持组的默认软件包集中。因此,当用户选择 InfiniBand Support 组,并预期 RDMA over Converged Ethernet (RoCE)在 Emulex OneConnect 适配器(必需驱动程序 libocrdma )上工作。
在第一次引导时,用户可以通过发出这个命令手动安装缺少的软件包:
evince yum install libocrdma
或者,将 libocrdma 软件包添加到 Kickstart 文件的 %packages 部分。
现在,用户可以在 RoCE 模式中使用 Emulex OneConnect 设备。

/boot 分区的大小不足可能会阻止系统升级

如果安装了多个内核和 kernel-debug 等附加软件包,则包含安装的内核和初始 ram 磁盘的 /boot 分区可能会变得满。这是因为此分区的默认大小被设置为 500 MB,并防止系统升级。
作为临时解决方案,如果您不需要,使用 yum 删除旧的内核。如果您要安装新系统,您还应考虑这种情况,并将 /boot 分区设置为较大的大小(如 1 GB),而不是默认值(500 MB)。

如果一个或多个磁盘缺少标签,则多路径设备中安装会失败

当在多路径设备上安装时,如果无法读取一个或多个作为多路径成员的磁盘,安装程序可能会显示错误对话框。此问题是由一个或多个磁盘缺少磁盘标签造成的,如果发生,安装将无法进行。
要临时解决这个问题,请在所有作为安装过程中使用的多路径设备一部分的磁盘标签创建磁盘标签。

如果在 %pre 脚本中定义主机名,则 Kickstart 中的静态 IPv4 配置会被覆盖

当在 Kickstart 文件的 %pre 部分中定义主机名时,仅设置主机名(" network --hostname=hn")的网络命令被视为使用默认 --bootproto 值("dhcp")和默认 --device 值("link" 的设备,即第一个带有链接找到的设备)。Kickstart 然后的行为就像使用 network --hostname=hn --device=link 一样。
如果设备被视为 --device 选项的默认设备(找到第一个带有链接的设备)已被配置为使用静态 IPv4 配置(例如,在前面的 network 命令中),则由 IPv4 DHCP 选项表示的 IPv4 DHCP 选项覆盖 配置。
要临时解决这个问题,请确保首先使用定义主机名 的网络 命令,并在以后使用第二个网络命令。
如果定义主机名 的网络 命令是 Kickstart 文件中唯一的此类命令,请使用不存在的接口(如 network --hostname=hn --device =x )添加 --device选项。

在 Kickstart 中使用 realm 命令会导致安装程序崩溃

已知问题可防止在 Kickstart 文件中使用 realm 命令。在安装过程中尝试使用此命令加入 Active Directory 或 Identity Management 域会导致安装程序崩溃。
要临时解决这个问题,您可以等待安装完成并手动加入域,或者您可以将 realm join < realm name&gt; 命令添加到 Kickstart 文件的 %post 部分。有关使用命令行加入域的详情,请查看 realm (8) 手册页。

系统升级过程中不会更新安装程序内置帮助

当从 Red Hat Enterprise Linux 7.1 升级到 7.2 时,Anaconda 安装程序( anaconda-user-help 软件包)的内置帮助不会升级,因为打包有显著变化。
要临时解决这个问题,在执行升级前使用 yum 删除 anaconda-user-help 软件包,并在升级到 Red Hat Enterprise Linux 7.2 后再次安装它。

grubby 生成的引导菜单条目的顺序不正确

grubby 工具用于修改和更新 GRUB2 引导装载程序配置文件,可以在生成引导菜单配置文件时在列表的顶部添加调试引导菜单条目。然后,这些调试菜单条目会导致推送正常条目,虽然它们仍然被突出显示并被默认突出显示并选择。

同时使用多个驱动程序更新镜像仅应用最后一个驱动程序更新镜像

当尝试使用 inst.dd=/dd.img 引导选项在安装过程中执行驱动程序更新时,并多次指定一次来加载多个驱动程序更新镜像,Anaconda 将忽略参数的所有实例,但最后一个实例除外。
要临时解决这个问题,您可以:
在可能的情况下,在安装后安装附加驱动程序
Tailoring 使用替代方法指定驱动程序更新镜像,如 driverdisk Kickstart 命令
ACTIVE 将多个驱动程序更新镜像组合成一个镜像

当安装程序检测到 LDL 格式的 DASD 时崩溃

每当在 IBM System z 上的一个或多个 DASD 上检测到 LDL (Linux 磁盘布局)格式时,安装程序会崩溃。崩溃是由 libparted 库中的一个竞争条件造成的,即使这些 DASD 没有选为安装目标。其他架构不受此问题的影响。
如果要在安装过程中使用 LDL DASD,用户在启动安装程序前,用户应该使用 root shell 中的 dasdfmt 命令手动将每个 LDL DASD 重新格式化为 CDL (可组合磁盘布局)。
如果系统中存在 LDL DASD,且用户不希望在安装过程中使用它们,则应将它们放在安装过程持续时间内的设备忽略列表中。这应该在启动安装程序前完成。在 root shell 中,用户应使用 chccwdev 命令,后跟 cio_ignore 命令来离线设备,然后将它们添加到设备忽略列表中。
或者,您可以在开始安装前从 CMS 配置文件或参数文件中删除所有 LDL DASD 设备 ID。

升级内核和 redhat-release 软件包后的内核 panic

安装 redhat-release-server-7.2-9.el7 和同一 Yum 事务中的 kernel 软件包会导致 GRUB2 配置的新内核菜单条目中缺少 initrd 行。尝试使用最新安装的内核引导,然后因为缺少 initrd 而导致内核 panic。当使用 yum update 将您的系统从早期次版本升级到 Red Hat Enterprise Linux 7.2 时,通常会出现此问题。
要临时解决这个问题,请确保在单独的 Yum 事务中升级 redhat-release-serverkernel 软件包。或者,您可以在 GRUB2 配置文件中找到新内核的菜单条目(在 BIOS 系统和 /boot/efi/EFI/redhat/grub.cfg 中的/boot/grub2/grub.cfg ),并手动添加 initrd。
initrd 配置行类似于 initrd /initramfs-3.10.0-327.el7.x86_64.img。确保文件名与在同一菜单条目中配置的内核(vmlinuz)匹配,并且文件存在 /boot 目录。使用旧的菜单条目进行参考。

初始设置可能会以文本模式启动,即使安装了图形环境

Initial Setup 工具在安装完成后启动,并首次引导安装的系统,在某些情况下,在图形环境可用的系统上以文本模式启动,并且初始设置的图形化版本应该启动。这是因为同时启用 Initial Setup 的图形和文本模式服务所致。
要临时解决这个问题,您可以在安装过程中使用 Kickstart 文件,并包含一个 %post 部分来禁用您不想运行的 Initial Setup 版本。
要确保 Initial Setup 的图形变体在安装后运行,请使用以下 %post 部分:
%post
systemctl disable initial-setup-text.service
systemctl enable initial-setup-graphical.service
%end
如果要启用 Initial Setup 的文本模式变体,请切换 启用和禁用 命令来禁用图形服务并启用文本模式。

ldconfig.service删除到 /lib//lib64/ 中非 root 文件系统的链接

Red Hat Enterprise Linux 7.2 引入了 ldconfig.service,它在挂载非 root 文件系统前在引导过程的早期阶段运行。当 ldconfig.service 运行时,如果 /lib//lib64/ 目录中的链接指向尚未挂载的文件系统,则它们会被删除。要临时解决这个问题,请使用 systemctl mask ldconfig 命令禁用 ldconfig.service,因此这些符号链接不再被删除,系统会如预期引导。

在升级到 Red Hat Enterprise Linux 7.2 后,使用 IPC 的守护进程会意外终止

在 Red Hat Enterprise Linux 7.2 中引入了一个新的 systemd 功能:清理所有分配的进程间通信(IPC)资源,以及用户完成的最后一个会话。会话可以是管理 cron 作业或交互式会话。此行为可能会导致在同一用户下运行守护进程,并使用同一资源意外终止。要临时解决这个问题,请编辑文件 /etc/systemd/logind.conf 并添加以下行:
RemoveIPC=no
然后执行以下命令,以便更改生效:
systemctl restart systemd-logind.service
执行这些步骤后,守护进程在上述情况下不再崩溃。