使用 kickstart 文件通过网络安装时,Centos 7.2(Build 1511)安装程序有时会意外退出

使用 kickstart 文件通过网络安装时,Centos 7.2(Build 1511)安装程序有时会意外退出

使用网络安装程序从 USB 棒安装 CentOS 7 时,我遇到了间歇性问题。通过 URL 找到 kickstart 文件,安装过程正常进行,直到设置驱动器。屏幕切换到“启动安装程序”后,有时安装程序会立即退出并重新启动(除非我给出 inst.nokill 选项,安装程序将停止而不是重新启动)。有时,该过程正常工作,我遵循的程序没有任何变化。我设法将日志文件保存在 /tmp 中,以防出现此类问题,但其中没有发现任何可以表明哪里出了问题的信息。要诊断此问题,我应该查看什么?我愿意发布日志等,但我想知道发布哪些内容最有用。我的一位同事也遇到了同样的问题,他使用 DVD 上的网络安装程序安装了完全独立创建的 kickstart 文件。

这是我的 kickstart 文件(只做了一点改动,以免泄露我的 root 密码哈希值):

# Automatically generated file. DO NOT EDIT DIRECTLY. Instead, edit the source
# files that are used to create this file.
#

install
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
timezone --utc America/New_York
rootpw  --iscrypted xxx
selinux --disabled
authconfig --enableshadow --passalgo=sha512 --enablefingerprint
firstboot --disable
%include /tmp/ks-platform
part /boot --fstype="ext4" --size=500
part pv.1 --fstype="lvmpv" --size=500 --grow 
volgroup vg1 pv.1
logvol / --vgname=vg1 --size=500 --grow --fstype=ext4 --name=root --label="Fedora"


# Current releases
url --url="http://mirror.centos.org/centos/$releasever/os/$basearch"
repo --name=epel --baseurl=http://dl.fedoraproject.org/pub/epel/$releasever/$basearch/

# CentOS-specific stuff
eula --agreed
graphical
xconfig --startxonboot
%packages
@base
@core
@^graphical-server-environment
@network-file-system-client
@networkmanager-submodules
@x11
epel-release
epel-release.noarch
cinnamon
kernel-devel
kernel-headers
yum-plugin-priorities
gdb
strace
gcc
-gnome-initial-setup
%end
%pre
#!/bin/bash -x
#
# Changes made at runtime are all done here

export PATH=$PATH:/mnt/sysimage/sbin:/mnt/sysimage/bin

f=/tmp/ks-platform
rm -f $f

radeon=0
nvidia=0
apple=0
drive=sda

lspci | grep -q -i radeon
if [[ $? == 0 ]]; then radeon=1; fi

lspci | grep -q -i nvidia
if [[ $? == 0 ]]; then nvidia=1; fi

grep -q -i "Apple Inc" /sys/firmware/dmi/entries/*/*
if [[ $? == 0 ]]; then apple=1; fi

cat /proc/partitions | grep -q -i nvme0n1
if [[ $? == 0 ]]; then drive=nvme0n1; fi

echo clearpart --initlabel --drives=$drive --all >> $f
net_device=($(cat /proc/net/dev | grep : | grep -v lo: | sort -n -r -k2 | sed -e 's,:.*,,'))
for g in "${net_device[@]}"; do
  echo network --bootproto=dhcp --device=$g --noipv6 --activate --onboot yes >> $f
done
echo firewall --enable --trust=${net_device[0]} >> $f

if (( $apple )); then
  # Apple needs special macefi partition type
  echo part /boot/efi --fstype=\"macefi\" --size=200 --label=\"Linux HFS+ ESP\" >> $f
else
  echo part /boot/efi --fstype=\"efi\" --size=200 --label=\"Linux HFS+ ESP\" >> $f
fi

if (( $nvidia )); then 
  # nvidia needs to disable kernel mode setting with nouveau
  echo bootloader --location=mbr --driveorder=$drive --boot-drive=$drive --append=\"nouveau.modeset=0\" >> $f
else
  # Most use default autodetected driver (radeon, intel)
  echo bootloader --location=mbr --driveorder=$drive --boot-drive=$drive >> $f
fi
%end
enter code here

答案1

这是您的实际下载网址吗?

url --url="http://mirror.centos.org/centos/$releasever/os/$basearch

或者您是否也混淆了配置的这一部分?

因为尽管理论上您可以从任何随机互联网服务器执行 kickstart 安装,但这并不是最好的主意。大多数人会设置自己的镜像(NFS 共享或带有安装 DVD 中的 RPM 树副本的简单 Web 服务器),然后他们可以以 LAN 速度访问它。

这将使您的部署速度更快并且行为更加一致。

mirror.centos.org是一个循环 DNS 记录(可能是地理定位的),因此一个安装可能会获得一个非常快的镜像,而下一个安装可能会获得另一个速度慢得多的镜像,从而使您的安装也慢得多。


顺便说一句,你可以使用ALT+ F1-F6键打开备用控制台监控安装进度。您可以增加详细程度通过使用 kickstart 选项升级日志级别来进行调试。

logging --level=debug 

相关内容