安装后立即只读/文件系统

安装后立即只读/文件系统

我正在使用 pxeboot 和 kickstart 来自动安装 CentOS 8。

由于某种原因,安装后生成的系统具有只读 / 文件系统,这让我很抓狂。这可能是什么原因造成的?

dmesg 中没有什么特别突出的地方,而且这种行为 100% 一致。所有硬件目标的行为都相同。这不仅仅是一个巧合的坏驱动器。这不是故障扇区,而是系统配置在启动过程中不“想要”像它应该的那样进入 rw。

这是启动,因为这是最有可能出现错误的地方。

# Use network installation
url --url="http://mirror.centos.org/centos/8/BaseOS/x86_64/os/"

#Default Lang to English, US, and time to GMT
lang en_US.UTF-8
keyboard --vckeymap=us --xlayouts='us'
timezone Etc/UTC --utc

# Network information
network --hostname=hostnayme
#Static NIC Config will be written in kickstart %post

# Root PW
rootpw --iscrypted $6$O9mlsOUywHhashredactedPRmYFfUmQhUP8/

# Disable firstboot
firstboot --disable

# System services
services --enabled="chronyd"

# Disk Setup
zerombr
clearpart --all
autopart --type=lvm
bootloader --location=mbr

#Reboot when done
reboot

#run anaconda in text mode (faster, no vga req)
text

##Package Selection
%packages --default
@core
@^Minimal Install
#-aic94xx-firmware*
#-alsa-*
#-iwl*firmware
chrony
vim
rsync
%end

%pre
echo "Signaling back to installnode that install is starting..."
curl -s 'http://installserver/installstarting.php?ip=192.168.13.98&netmask=255.255.255.0&foobarbazquux' -o /dev/null
%end

%post
export PriNicFile="$( grep '^ONBOOT="*yes"*$' /etc/sysconfig/network-scripts/ifcfg-* -l | grep -v 'ifcfg-lo$' | sort -n | head -n 1 )"
echo "Found primary nic: ${PriNicFile}"
sed -i 's/BOOTPROTO="*dhcp"*/BOOTPROTO=static/' "${PriNicFile}"
sed -i 's/DHCP_HOSTNAME.*//' "${PriNicFile}"
cat <<'EOF' >> "${PriNicFile}"
IPADDR=192.168.13.98
NETMASK=255.255.255.0
GATEWAY=192.168.13.1
DNS1=8.8.8.8
DNS2=8.8.4.4
EOF

#Update system software
yum -y install screen
yum -y update

#Install SSH Key
mkdir /root/.ssh/
echo 'ssh-rsa AAAAB3sshkeyredactedforstackexchange+s= keyame' > /root/.ssh/authorized_keys
chown -R root:root /root/.ssh
chmod -R go-rwx /root/.ssh


#Purge resolv.conf from installer session so that true resolv.conf is generated on boot
rm /etc/resolv.conf

#Delete ruminants of kickstart env
rm -rf /var/lib/yum/history/????-??-??/?/config-repos

sync

%end

%post --nochroot
curl -s 'http://Installserver/installcomplete.php?ip=192.168.13.98&netmask=255.255.255.0&foobarbazquux' -o /dev/null 
sync
reboot
%end

%addon com_redhat_kdump --disable
%end

答案1

显然,CentOS8 安装程序使用了 selinux 宽容模式。并且它并不总是正确设置所有 selinux 上下文

添加

restorecon -vR /

到您的帖子脚本的末尾。这将纠正所有 selinux 上下文。然后下次正常时,fstab 将可读,因此所有文件系统都将按预期以读写方式挂载。

这有点奇怪,但它确实解决了问题。

相关内容