作业二

重点 实验一:使用 kickstart 半自动化安装CentOS系统
环境准备:
新准备一台主机,挂载CentOS-8.2.2004-x86_64-boot镜像,内存为2G以上;
在centos 7上做以下操作:

[root@centos7 ~]# yum -y install system-config-kickstart
#在启动此服务之前,先打开Xmanager中的Xmanager - Passive工具
[root@centos7 ~]# export DISPLAY=10.0.0.1:0.0
[root@centos7 ~]# system-config-kickstart
#打开此服务,进行如下配置

在这里插入图片描述

#在centos 8上安装httpd服务,并开启服务
[root@centos8 ~]#yum -y install httpd;systemctl enable --now httpd
[root@centos8 ~]#mkdir -p /var/www/html/centos/8/os/x86_64
[root@centos8 ~]#mount -r /dev/sr0 /var/www/html/centos/8/os/x86_64/

在这里插入图片描述
在这里插入图片描述
添加内核参数
在这里插入图片描述
分区
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此为默认设置即可
在这里插入图片描述
禁用SELinux和防火墙
在这里插入图片描述
此为默认设置,建议不要修改
在这里插入图片描述
在这里插入图片描述
由于没有修改yum源配置文件中的仓库名为development,所以导致不能找到包,将[base]修改为[development]即可
在这里插入图片描述
重新启动system-config-kickstart服务,打开保存的ks8.cfg应答文件,继续配置
在这里插入图片描述
在这里插入图片描述
下面是安装后的脚本内容:

mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-\$releasever Base
baseurl=https://mirrors.aliyun.com/centos/\$releasever/os/\$basearch/
        https://mirrors.huaweicloud.com/centos/\$releasever/os/\$basearch/
enabled=1
gpgcheck=0

[epel]
name=CentOS-\$releasever Epel
baseurl=https://mirrors.aliyun.com/epel/\$releasever/\$basearch/
        https://mirrors.huaweicloud.com/epel/\$releasever/\$basearch/ 
enabled=1
gpgcheck=0

[extras]
name=CentOS-\$releasever Extras
baseurl=https://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/
        https://mirrors.huaweicloud.com/centos/\$releasever/extras/\$basearch/ 
enabled=1
gpgcheck=0
EOF

mkdir /root/.ssh -m 700
cat > /root/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCly7oXJIRqCInY+/qoQoYBdG3zpfjx3pXYOVdfFnojPk0BPa7lGYAzKz6xgy+eB+SnWUa4a9ZpDGs5du3MyKqXfukdq98UamIYyOyOlTdPYXKCF22bKxBlPod8nZuHz8af8M9n8bDvAqhYO1kNMuMsT/vvobVOIQE4YWeuHBmeWHR3XfS0Na14RZtDSpXYNarElTDP873pxunHfF0ojCSYQlS2DLVv5uKA/2g47nKkni/uaJ1VOEICuzJkKT6EnKJxkFD5C+L9AbZ9WQzJM7QeabWZ/1pBydJAIn85xc/tX93jSIs02vMTn0aaxh4wrrnPzJR3PXcsak8ggZReSc3z root@centos8.kobe.com
EOF
chmod 600 /root/.ssh/authorized_keys

useradd kobe
echo centos | passwd --stdin kobe

配置完毕,保存kickstart文件
查看ks8.cfg配置文件

[root@centos7 ~]# cat ks8.cfg 
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$94JnU1XV$80ofvNTJIK21W5/AHUzN6/
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled


# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="http://10.0.0.8/centos/8/os/x86_64/"
# System bootloader configuration
bootloader --append="net.ifnames=0" --location=none
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="xfs" --size=102400
part /boot --fstype="xfs" --size=1024
part swap --fstype="swap" --size=2048
part /data --fstype="xfs" --size=51200

%post
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-\$releasever Base
baseurl=https://mirrors.aliyun.com/centos/\$releasever/os/\$basearch/
        https://mirrors.huaweicloud.com/centos/\$releasever/os/\$basearch/
enabled=1
gpgcheck=0

[epel]
name=CentOS-\$releasever Epel
baseurl=https://mirrors.aliyun.com/epel/\$releasever/\$basearch/
        https://mirrors.huaweicloud.com/epel/\$releasever/\$basearch/ 
enabled=1
gpgcheck=0

[extras]
name=CentOS-\$releasever Extras
baseurl=https://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/
        https://mirrors.huaweicloud.com/centos/\$releasever/extras/\$basearch/ 
enabled=1
gpgcheck=0
EOF

mkdir /root/.ssh -m 700
cat > /root/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCly7oXJIRqCInY+/qoQoYBdG3zpfjx3pXYOVdfFnojPk0BPa7lGYAzKz6xgy+eB+SnWUa4a9ZpDGs5du3MyKqXfukdq98UamIYyOyOlTdPYXKCF22bKxBlPod8nZuHz8af8M9n8bDvAqhYO1kNMuMsT/vvobVOIQE4YWeuHBmeWHR3XfS0Na14RZtDSpXYNarElTDP873pxunHfF0ojCSYQlS2DLVv5uKA/2g47nKkni/uaJ1VOEICuzJkKT6EnKJxkFD5C+L9AbZ9WQzJM7QeabWZ/1pBydJAIn85xc/tX93jSIs02vMTn0aaxh4wrrnPzJR3PXcsak8ggZReSc3z root@centos8.kobe.com
EOF
chmod 600 /root/.ssh/authorized_keys

useradd kobe
echo centos | passwd --stdin kobe
%end

%packages
@web-server
-crypto-utils
-httpd-manual
-mod_fcgid
-mod_ssl

%end
[root@centos8 ~]#mkdir /var/www/html/ks
[root@centos7 ~]# scp ks8.cfg 10.0.0.8:/var/www/html/ks
[root@centos8 ~]#ls /var/www/html/ks
ks8.cfg

接下来,用挂载好镜像的虚拟机,开机启动
在这里插入图片描述
选择第一项,按ESC键,进入boot
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
下面是登录成功截图:
在这里插入图片描述

重点 实验八:实现pxe安装双系统centos6、centos7
在这里插入图片描述
实验搭建环境如上图,由于本实验的三种服务:httpd,dhcpd-server,tftp-server,因此让这三种服务搭建在同一个服务器上(即centos 8)

1 安装前准备

关闭防火墙和SELINUX,DHCP服务器静态IP
网络要求:关闭Vmware软件中的DHCP服务,基于NAT模式
注意:使用1G以下的内存的主机安装CentOS 7,8会提示空间不足,建议2G以上

2 安装相关软件包并启动

[root@centos8 ~]#yum -y install dhcp-server tftp-server httpd syslinux-nonlinux
[root@centos8 ~]#systemctl enable --now httpd tftp

3 配置DHCP服务

[root@centos8 ~]#cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp: overwrite '/etc/dhcp/dhcpd.conf'? y
[root@centos8 ~]#vim /etc/dhcp/dhcpd.conf 
option domain-name "example.org";
option domain-name-servers 180.76.76.76,233.5.5.5;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.50 10.0.0.100;
  range 10.0.0.150 10.0.0.200;
  option routers 10.0.0.2;
  next-server 10.0.0.8;
  filename "pxelinux.0";
}
#并将后面的非#开头的行注释掉,方法在末行模式下,:.,$s@\(^[^#]\)@#\1@
保存退出

[root@centos8 ~]#systemctl enable --now dhcpd

4 准备yum源和相关目录

[root@centos8 ~]#mkdir -pv /var/www/html/centos/{6,7,8}/os/x86_64/
[root@centos8 ~]#mount -r /dev/sr0 /var/www/html/centos/6/os/x86_64/
[root@centos8 ~]#mount -r /dev/sr1 /var/www/html/centos/7/os/x86_64/
[root@centos8 ~]#mount -r /dev/sr2 /var/www/html/centos/8/os/x86_64/

#在浏览器上验证搭建的yum仓库是否能访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 准备kickstart文件

[root@centos8 ~]#mkdir /var/www/html/ks
[root@centos8 ~]#vim /var/www/html/ks/centos6.cfg
install
text
reboot
url --url=http://10.0.0.8/centos/6/os/x86_64/
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6 --hostname centos6.kobe.com
rootpw --iscrypted $6$ZqApgQaeO0mXFWe.$IBfhxqiDlWcrgIKkjexjBltP8R2UXdM/PkvQ4GvnXl25Zzcoh4ZrrhFv9.dEZrm6oSjEDSJ7KwonWEh54JsiL0
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone  Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
zerombr
clearpart --all --initlabel
part /boot --fstype=ext4 --size=1024
part / --fstype=ext4 --size=102400
part /data --fstype=ext4 --size=51200
part swap --size=2048
%packages
@core
@server-policy
@workstation-policy
autofs
vim-enhanced
%end
%post
useradd kobe
echo centos | passwd --stdin kobe &> /dev/null
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-\$releasever Base
baseurl=https://mirrors.aliyun.com/centos/\$releasever/os/\$basearch/
        https://mirrors.huaweicloud.com/centos/\$releasever/os/\$basearch/
enabled=1
gpgcheck=0

[epel]
name=CentOS-\$releasever Epel
baseurl=https://mirrors.aliyun.com/epel/\$releasever/\$basearch/
        https://mirrors.huaweicloud.com/epel/\$releasever/\$basearch/ 
enabled=1
gpgcheck=0

[extras]
name=CentOS-\$releasever Extras
baseurl=https://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/
        https://mirrors.huaweicloud.com/centos/\$releasever/extras/\$basearch/ 
enabled=1
gpgcheck=0
EOF
%end

[root@centos8 ~]#vim /var/www/html/ks/centos7.cfg
install
xconfig --startxonboot
keyboard --vckeymap=us --xlayouts='us'
rootpw --iscrypted $6$ZqApgQaeO0mXFWe.$IBfhxqiDlWcrgIKkjexjBltP8R2UXdM/PkvQ4GvnXl25Zzcoh4ZrrhFv9.dEZrm6oSjEDSJ7KwonWEh54JsiL0
url --url="http://10.0.0.8/centos/7/os/x86_64"
lang en_US
auth --useshadow --passalgo=sha512
text
firstboot --enable
selinux --disabled
skipx
services --disabled="chronyd"
ignoredisk --only-use=sda
firewall --disabled
network --bootproto=dhcp --device=eth0
network --hostname=centos7.kobe.com
reboot
timezone Asia/Shanghai --nontp
bootloader --append="net.ifnames=0" --location=mbr --boot-drive=sda
zerombr
#autopart --type=lvm
clearpart --all --initlabel
part swap --fstype="swap" --ondisk=sda --size=2048
part / --fstype="xfs" --ondisk=sda --size=102400
part /boot --fstype="xfs" --ondisk=sda --size=1024
part /data --fstype="xfs" --ondisk=sda --size=51200
%post
useradd kobe
echo centos | passwd --stdin kobe
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-\$releasever Base
baseurl=https://mirrors.aliyun.com/centos/\$releasever/os/\$basearch/
        https://mirrors.huaweicloud.com/centos/\$releasever/os/\$basearch/
enabled=1
gpgcheck=0

[epel]
name=CentOS-\$releasever Epel
baseurl=https://mirrors.aliyun.com/epel/\$releasever/\$basearch/
        https://mirrors.huaweicloud.com/epel/\$releasever/\$basearch/ 
enabled=1
gpgcheck=0

[extras]
name=CentOS-\$releasever Extras
baseurl=https://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/
        https://mirrors.huaweicloud.com/centos/\$releasever/extras/\$basearch/ 
enabled=1
gpgcheck=0
EOF
%end
%packages
@core
%end

[root@centos8 ~]#vim /var/www/html/ks/centos8.cfg
ignoredisk --only-use=sda
zerombr
text
reboot
clearpart --all --initlabel
selinux --disabled
firewall --disabled
url --url=http://10.0.0.8/centos/8/os/x86_64/
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network --bootproto=dhcp --device=eth0 --ipv6=auto --activate
bootloader --append="net.ifnames=0" --location=mbr --boot-drive=sda
network --hostname=centos8.kobe.com
rootpw --iscrypted $6$ZqApgQaeO0mXFWe.$IBfhxqiDlWcrgIKkjexjBltP8R2UXdM/PkvQ4GvnXl25Zzcoh4ZrrhFv9.dEZrm6oSjEDSJ7KwonWEh54JsiL0
firstboot --enable
skipx
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp
user --name=kobe --password=$6$7a9OGZdtOAnEiJtN$p7xoQYfKKEjCKTzUPxb4R3fW/.jrS7BoC14j3IUzF8LxgDTDJaxnhneby4F7dW/fQH6W/huYlkeuiFeaRxzC81 --iscrypted --gecos="kobe"
#autopart --type=lvm
#part / --fstype xfs --size 1 --grow --ondisk sda 可以实现根自动使用所有剩余空间
part / --fstype="xfs" --ondisk=sda --size=102400
part /data --fstype="xfs" --ondisk=sda --size=51200
part swap --fstype="swap" --ondisk=sda --size=2048
part /boot --fstype="ext4" --ondisk=sda --size=1024
%packages
@^minimal-environment
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
%post
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-\$releasever Base
#baseurl=file:///misc/cd/BaseOS
baseurl=https://mirrors.aliyun.com/centos/\$releasever/BaseOS/\$basearch/os/
        https://mirrors.huaweicloud.com/centos/\$releasever/BaseOS/\$basearch/os/
enabled=1
gpgcheck=0

[AppStream]
name=CentOS-\$releasever Appstream
#baseurl=file:///misc/cd/AppStream
baseurl=https://mirrors.aliyun.com/centos/\$releasever/AppStream/\$basearch/os/
        https://mirrors.huaweicloud.com/centos/\$releasever/AppStream/\$basearch/os/
enabled=1
gpgcheck=0

[epel]
name=CentOS-\$releasever Epel
baseurl=https://mirrors.aliyun.com/epel/\$releasever/Everything/\$basearch/
        https://mirrors.huaweicloud.com/epel/\$releasever/Everything/\$basearch/
enabled=1
gpgcheck=0

[extras]
name=CentOS-\$releasever Extras
baseurl=https://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/os/
        https://mirrors.huaweicloud.com/centos/\$releasever/extras/\$basearch/os/ 
enabled=1
gpgcheck=0
EOF
%end

6 准备PXE启动相关文件

[root@centos8 ~]#mkdir /var/lib/tftpboot/centos{6,7,8}
#准备CentOS6,7,8各自的内核相关文件
[root@centos8 ~]#cp /var/www/html/centos/6/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6/
[root@centos8 ~]#cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7/
[root@centos8 ~]#cp /var/www/html/centos/8/os/x86_64/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/centos8/
[root@centos8 ~]#cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

#以下三个文件是CentOS8安装所必须文件,CentOS6,7则不需要
[root@centos8 ~]#cp /var/www/html/centos/8/os/x86_64/isolinux/{ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/

#生成安装菜单
[root@centos8 ~]#mkdir /var/lib/tftpboot/pxelinux.cfg/
[root@centos8 ~]#cp /var/www/html/centos/8/os/x86_64/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

#最终目录结构如下
[root@centos8 ~]#tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── centos6
│   ├── initrd.img
│   └── vmlinuz
├── centos7
│   ├── initrd.img
│   └── vmlinuz
├── centos8
│   ├── initrd.img
│   └── vmlinuz
├── ldlinux.c32
├── libcom32.c32
├── libutil.c32
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
    └── default

4 directories, 12 files

7 准备启动菜单文件

[root@centos8 ~]#vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title Install CentOS Linux

label linux8
  menu label Install CentOS Linux ^8
  kernel centos8/vmlinuz
  append initrd=centos8/initrd.img ks=http://10.0.0.8/ks/centos8.cfg 

label linux7
  menu label Install CentOS Linux ^7
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img ks=http://10.0.0.8/ks/centos7.cfg 

label linux6
  menu label Install CentOS Linux ^6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img ks=http://10.0.0.8/ks/centos6.cfg 

label manual 
  menu label  ^Manual Install CentOS Linux 8
  kernel centos8/vmlinuz
  append initrd=centos8/initrd.img inst.repo=http://10.0.0.8/centos/8/os/x86_64/

label rescue
  menu label ^Rescue a CentOS Linux system
  kernel centos8/vmlinuz
  append initrd=centos8/initrd.img inst.repo=http://10.0.0.8/centos/8/os/x86_64/ rescue

label local
	menu default
  menu label Boot from ^local drive
  localboot 0xffff

8 测试客户端基于PXE实现自动安装

新准备一台主机,选择网卡引导,可看到启动菜单,并实现自动安装
注意:VMware workstation对于不同的CentOS版本,生产的虚拟机的硬件不兼容
在这里插入图片描述
在这里插入图片描述
这里以安装centos 8为例:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以下是安装centos 7 和 6 成功的截图:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值