[8095]自动化部署脚本

/root/anaconda-ks.cfg

#version=RHEL8
ignoredisk --only-use=sda
# System bootloader configuration
bootloader --append=" crashkernel=128M" --location=mbr --boot-drive=sda
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel --drives=sda
# Use text mode install
text
repo --name="BaseOS" --baseurl=file:///run/install/repo/BaseOS
# Use CDROM installation media
cdrom
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=eth0 --hostname=sfos-x86_64.localdomain --ipv6=auto --activate
# Root password
rootpw --iscrypted $6$.nc6QO9MTqODpUdY$1RTIfNULCp0VQi0bgQtJKl3c7GNmixpoH8TWcxD/i5ku7SM5b/fFyyRYu/ZbW8xbbSTZmad08f7ZHwxN.1FXm1
# SELinux configuration
selinux --disabled
# Run the Setup Agent on first boot
firstboot --enable
# Do not configure the X Window System
skipx
# System services
services --disabled="NetworkManager,chronyd"
# System timezone
timezone Asia/Shanghai --isUtc
# Disk partitioning information
part /boot --fstype="ext4" --ondisk=sda --size=512 --label=boot
part pv.99 --fstype="lvmpv" --ondisk=sda --size=60538
volgroup vg1 --pesize=4096 pv.99
logvol /var --fstype="ext4" --grow --size=4 --mkfsoptions="-O has_journal" --name=share --vgname=vg1
logvol /sfos_back/config --fstype="ext4" --size=3072 --mkfsoptions="-O has_journal" --name=slave_conf --vgname=vg1
logvol / --fstype="ext4" --size=4096 --mkfsoptions="-O has_journal" --name=master_root --vgname=vg1
logvol /sfos/system --fstype="ext4" --size=10240 --mkfsoptions="-O has_journal" --name=master_sfos --vgname=vg1
logvol /sfos/config --fstype="ext4" --size=3072 --mkfsoptions="-O has_journal" --name=master_conf --vgname=vg1
logvol /rfs_back --fstype="ext4" --size=4096 --mkfsoptions="-O has_journal" --name=slave_root --vgname=vg1
logvol /sfdata/log --fstype="ext4" --size=17577 --mkfsoptions="-O has_journal" --name=log --vgname=vg1
logvol /sfos_back/system --fstype="ext4" --size=10240 --mkfsoptions="-O has_journal" --name=slave_sfos --vgname=vg1

%pre --interpreter=/usr/bin/bash --logfile=/tmp/part_pre.log
ssd=()
hdd=()
all_disk=()
ssd_size=0
hdd_size=0

blocks=$(lsblk -d -o name,rota,rm | awk 'NR != 1 { print $1, $2, $3 }')
while read -r block; do
set ${block}
if ! [[ $1 =~ ^sd || $1 =~ ^vd || $1 =~ ^nvme ]]; then
continue
fi
if [[ $3 -eq 1 ]]; then
continue
fi

block_size=$(blockdev --getsize64 /dev/$1)
if [[ $2 -eq 1 ]]; then
hdd+=($1)
hdd_size=$((hdd_size + block_size))
else
ssd+=($1)
ssd_size=$((ssd_size + block_size))
fi
done <<< ${blocks}

ssd_size=$((ssd_size / 1024 / 1024))
hdd_size=$((hdd_size / 1024 / 1024))
all_disk=(${ssd[@]} ${hdd[@]})

echo "ssd: ${ssd[*]}"
echo "hdd: ${hdd[*]}"
echo "ssd_size: ${ssd_size}"
echo "hdd_size: ${hdd_size}"
echo "all_disk: ${all_disk[*]}"
# wpo 是简写 write_part_option
function wpo() {
echo $1 >> /tmp/part_option
}

only_use_disk="$(IFS=, ; echo "${all_disk[*]}")"
wpo "ignoredisk --only-use=${only_use_disk}"
wpo "clearpart --all --initlabel --drives=${only_use_disk}"

# VG 分组
mapfile -t group_arr < <(vgs | awk 'NR != 1 {print $1}')


/root/original-ks.cfg

#genks config
zerombr
bootloader --location=mbr
text
repo --name="BaseOS" --baseurl="file:///run/install/repo/BaseOS"
cdrom
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network --bootproto=dhcp --device=eth0 --ipv6=auto --hostname=sfos-x86_64.localdomain --activate
rootpw --iscrypted $6$.nc6QO9MTqODpUdY$1RTIfNULCp0VQi0bgQtJKl3c7GNmixpoH8TWcxD/i5ku7SM5b/fFyyRYu/ZbW8xbbSTZmad08f7ZHwxN.1FXm1
firstboot --enable
skipx
services --disable="chronyd"
services --disable="firewalld"
services --disable="polkit"
services --disable="pmcd"
services --disable="pmlogger"
services --disable="abrtd"
services --disable="pmie"
services --disable="dnsmasq"
services --disable="dhcpd"
services --disable="NetworkManager"
timezone Asia/Shanghai --isUtc
selinux --disabled
%include /tmp/part_option
%include /tmp/kdump_option
%packages --excludedocs
@^core
-chrony
PackageKit
PackageKit-glib
aajohan-comfortaa-fonts
acl
apr
apr-util
apr-util-bdb
apr-util-openssl
audit
audit-libs
basesystem
bash
bc
bind-export-libs
bind-libs


部分日志文件,列表的参数仅供参考,我改过内容,只需注意文件名和大小即可

total 232
drwxr-xr-x   15 root  root   480B Aug 20  2024 .
-rw-r--r--@   1 root  root   401B Aug 20  2024 backup.log
-rw-r--r--@   1 root  root    30B Aug 20  2024 create_slink_nochroot.log
-rw-r--r--@   1 root  root   117B Aug 20  2024 deal_packages.log
-rw-r--r--@   1 root  root     0B Aug 20  2024 debug_tools.log
-rw-r--r--@   1 root  root   439B Aug 20  2024 install_chuyun_kernel.log
-rw-r--r--@   1 root  root   268B Aug 20  2024 install_chuyun_kernel_chroot.log
-rw-r--r--@   1 root  root    74K Aug 20  2024 install_package_chroot.log
-rw-r--r--@   1 root  root     0B Aug 20  2024 install_package_nochroot.log
-rw-r--r--@   1 root  root   7.5K Aug 20  2024 install_pip_chroot.log
-rw-r--r--@   1 root  root   4.7K Aug 20  2024 install_pip_nochroot.log
-rw-r--r--@   1 root  root     0B Aug 20  2024 partition_option.log
-rw-r--r--@   1 root  root     0B Aug 20  2024 rpm_db.log
-rw-r--r--@   1 root  root    57B Aug 20  2024 start_option.log
anaconda-ks.cfg
1
original-ks.cfg
2
日志文件anaconda.tar.gz
3
下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
AF

打开关闭sangfor用户登录权限,方便替换文件

2025-11-5 21:24:35

AF

打开关闭sangfor用户登录权限,方便替换文件

2025-11-5 21:24:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索