制作光盘引导启动的含ks应答文件的iso文件,实现iso文件和远程系统镜像仓库的运维自动化安装系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了制作光盘引导启动的含ks应答文件的iso文件,实现iso文件和远程系统镜像仓库的运维自动化安装系统相关的知识,希望对你有一定的参考价值。
(1)A机器配置如下
mkdir /app/bootiso -pv
cd /app/bootiso
cp -r /mnt/centos6/isolinux/ ./
mkdir ks
cp /root/anaconda-ks.cfg ks/ks6-desktop.cfg
cp /root/anaconda-ks.cfg ks/ks6-mini.cfg
vim ks/ks6-desktop.cfg
#Kickstart file automatically generated by anaconda.
#version=DEVEL
install
url --url=http://192.168.43.60/centos/6 在B机器搭建的http服务中,末尾不加/,
使用公有地址
reboot
text
#cdrom
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
rootpw --iscrypted $6$jMtvasdUuNqaERA9$EYnjvCNgtGKgKNbr8pQ1mrQgZ43gx.RAa./LHuTUWA1rmfH0AztHJ5yQxu4lJ/zzhmzt4OE73A5OnL7YjiHH.1
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
#The following is the partition information you requested
#Note that any partitions you deleted are not expressed
#here so unless you clear all partitions first, this is
#not guaranteed to work
#clearpart --linux --drives=sda
clearpart --all --initlabel
zerombr
part /boot --fstype=ext4 --size=1024
part / --fstype=ext4 --size=50000
part /app --fstype=ext4 --size=20000
part swap --size=2048
#volgroup vg_localhost --pesize=4096 pv.008002
#logvol /home --fstype=ext4 --name=lv_home --vgname=vg_localhost --grow --size=100
#logvol / --fstype=ext4 --name=lv_root --vgname=vg_localhost --grow --size=1024 --maxsize=51200
#logvol swap --name=lv_swap --vgname=vg_localhost --grow --size=2336 --maxsize=2336
#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
%packages
@base
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-applications
@network-file-system-client
@print-client
@remote-desktop-clients
@server-platform
@server-policy
@workstation-policy
%end
ksvalidator ks/ks6-desktop.cfg 检测应答文件的语法
vim ks/ks6-mini.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
#Firewall configuration
firewall --disabled
#Install OS instead of upgrade
install
#Use network installation
url --url=http://192.168.43.60/centos/6 在B机器搭建的http服务中,末尾不加/,使用公有地址
#Root password
rootpw --iscrypted $1$pJZ2W0AP$nFQbRMMdRE1/YO4ddglBi0
#System authorization information
auth --useshadow --passalgo=sha512
#Use text mode install
text
firstboot --disable
#System keyboard
keyboard us
#System language
lang en_US
#SELinux configuration
selinux --disabled
#Installation logging level
logging --level=info
#Reboot after installation
reboot
#System timezone
timezone Asia/Shanghai
#Network information
network --bootproto=dhcp --device=eth0 --onboot=on
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part / --fstype="ext4" --size=10240
part /boot --fstype="ext4" --size=500
part swap --fstype="swap" --size=1024
%post
mkdir /root/.ssh/
cat > /root/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAruUSGJQ6UYn45lD0TRifnqYzy5izR6Eskjk0DV25Eplc7TDHqKH/98WatoN3l0zyM+v9IWxlg2HCaLdm0dreRVu7YP6q0NO9yyu+dgsasTVNdrNJi5B3qRhpLvboSbltVqdC9eT7txmCp7ZMcUH1YqcPSRnf/DulaeIJYmtivHG68X0WGPgTPcGSZ1ujXs6Ho/v8i+3bPnZ+w+KMMI9ajCCzoG9mV7+zshAQ6hdlMaKbosabYcDXCZJ4Q5EUtpjap0nK6nKsVi6TPU+o7GlD1UJF4qUXNGmcP79erp+TxCVEujgA3JP0TdgYXVu4fDw8rppNfxVejd+Kt00yxlMZEw== [email protected]
EOF
chmod 600 /root/.ssh/authorized_keys
cat > /etc/yum.repos.d/base.repo <<EOF
[hello]
name=base_centos6
baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/
gpgcheck=0
EOF
useradd wang
echo 123789|passwd --stdin wang &> /dev/null
%end
%packages
@core
@server-policy
@workstation-policy
vim-enhanced
lrzsz
%end
ksvalidator ks/ks6-mini.cfg 检测应答文件的语法
vim isolinux/isolinux.cfg 设置启动菜单项
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.9!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label desktop
menu label ^Install or upgrade an ^Desktop system
kernel vmlinuz
append initrd=initrd.img ks=hd:sdb1:/ks/ks6-desktop.cfg
label mini
menu label Install ^Mini system
kernel vmlinuz
append initrd=initrd.img ks=hd:sdb1:/ks/ks6-mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
将目录打包成iso可启动文件:
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/bootiso/
sz /root/boot.sio 传输文件到桌面
在新建虚拟机上将光盘镜像文件的路径指向桌面的iso文件,设置好网络模式
重启虚拟机,按ESC进入光盘选择模式,之后选择要安装的系统即可自动化安装
(2)B机器设置系统仓库
cd /var/www/html/
cd centos
mkdir 6
在设置中将centos6的光盘挂载上来
echo "- - -" > /sys/class/scsi_host/host0/scan 扫描出光盘
mount /dev/sr1 6/ 挂载光盘,设置系统仓库
mount 查看是否挂载成功
(3)用虚拟硬盘模拟U盘启动盘的制作
先在虚拟机设置中添加一块硬盘
vim /app/bootiso/isolinux/isolinux.cfg
ks=hd:sdb1:/ks/ks6-desktop.cfg 此处需要修改将cdrom改为hd:sdb1(硬盘)
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/bootiso/
isohybrid /root/boot.iso 给iso文件的前512字节添加信息
dd if=/root/boot.iso of=/dev/sdb 给新加的硬盘复制信息
sync 将复制的数据进行同步
shutdown -h now 关机
找到新的硬盘,复制到桌面
在新建的虚拟机中,添加一块已存在的硬盘,在桌面找到
重启机器,按ESC键,进入setup ENTER模式,将启动项调整顺序,新硬盘放到旧硬盘之前
保存退出,即可进入系统选择界面,进行系统自动化安装;
(4)纯光盘半自动化安装系统
mkdir /app
cp -rv /mnt/centos6/ /app/centos6
find /app/centos6/ -name TRANS.TBL -exec rm {} ; 删除TRANS.TBL文件,需要重新生
成;
rm -rf /app/centos6/repodata/*
cp /mnt/centos6/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml /app/centos6/repodata/ 保留此记录仓库文件的文件
cd /app/centos6/
createrepo -g repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml ./ 重新生成仓库元数据
mount /root/boot.iso.bak /mnt/ -o loop 将之前的iso文件挂载以获取当中的ks文件
mkdir ksdir
cp /mnt/ks/* ksdir/
vim isolinux/isolinux.cfg
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.9!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label desktop
menu label ^Install or upgrade an ^Desktop system
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ksdir/ks6-desktop.cfg
label mini
menu label Install ^Mini system
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ksdir/ks6-mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6ks.iso /app/centos6/
以上是关于制作光盘引导启动的含ks应答文件的iso文件,实现iso文件和远程系统镜像仓库的运维自动化安装系统的主要内容,如果未能解决你的问题,请参考以下文章