实验:PAM
authenticator 身份验证器
sed -i 's/^server.*/#&/;1aserver 192.168.39.8 iburst' /etc/chrony.conf
实验:chrony 和ntp
实验:kickstart文件生成,system-config-kickstart
半自动化安装centos6,7,8 mini 安装
实验:dhcp服务
[root@centos8 dhcp]#grep -v "^#" dhcpd.conf
option domain-name "magedu.org";
option domain-name-servers 180.76.76.76, 114.114.114.114;
default-lease-time 86400;
max-lease-time 100000;
log-facility local7;
subnet 192.168.39.0 netmask 255.255.255.0 {
range 192.168.39.10 192.168.39.100;
range 192.168.39.150 192.168.39.200;
option routers 192.168.39.2;
}
host test {
hardware ethernet 00:0c:29:58:4f:12;
fixed-address 192.168.39.120;
}
实验:tftp 服务
实验:基于CentOS8 的PXE安装自动化安装centos6,7,8
1 dnf install dhcp-server tftp-server httpd syslinux-nonlinux
2 systemctl enable --now httpd tftp dhcpd
3 准备yum仓库
mkdir /var/www/html/centos/{6,7,8}/isos/x86_64/ -pv
mount /dev/sr0 /var/www/html/centos/8/isos/x86_64/
4准备ks文件
mkdir /var/www/html/ksdir/
[root@centos8 ksdir]#grep -Ev "^#|^$" /var/www/html/ksdir/ks8.cfg
ignoredisk --only-use=sda
zerombr
text
reboot
clearpart --all --initlabel
selinux --disabled
firewall --disabled
url --url=http://192.168.39.8/centos/8/isos/x86_64/
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network --bootproto=dhcp --device=ens160 --ipv6=auto --activate
network --hostname=centos8.magedu.com
rootpw --iscrypted $6$nOPs5JTMlP4mhQeW$R/o62B6SXAh3RR.zrZ3U0X4xYX9/u5nSLrR/vqCB6kdO2XFfMk2a4yAgrHJQpXK/e4jzRb0jiLBv2nFMXaBjB/
firstboot --enable
skipx
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp
user --name=wang --password=$6$oUfb/02CWfLb5l8f$sgEZeR7c7DpqfpmFDH6huSmDbW1XQNR4qKl2EPns.gOXqlnAIgv9pTogtFVaDtEpMOC.SWXKYqxfVtd9MCwxb1 --iscrypted --gecos="wang"
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=1024br/>%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
5 dhcp 配置
cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 180.76.76.76,114.114.114.114;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.39.0 netmask 255.255.255.0 {
range 192.168.39.100 192.168.39.200;
option routers 192.168.39.2;
next-server 192.168.39.8;
filename "pxelinux.0";
}
systemctl start dhcpd
6 准备tftp相关文件
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp /misc/cd/isolinux/{ldlinux.c32,libcom32.c32,libutil.c32,vmlinuz,initrd.img} /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
mkdir /var/lib/tftpboot/{6,7,8}
[root@centos8 tftpboot]#tree
.
├── 6
│ ├── initrd.img
│ └── vmlinuz
├── 7
│ ├── initrd.img
│ └── vmlinuz
├── 8
│ ├── initrd.img
│ └── vmlinuz
├── ldlinux.c32
├── libcom32.c32
├── libutil.c32
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default
4 directories, 12 files
7 创建安装菜单
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title CentOS Linux
label linux8
menu label Auto Install CentOS Linux ^8.0 Mini
kernel 8/vmlinuz
append initrd=8/initrd.img ks=http://192.168.39.8/ksdir/ks8_mini.cfg
label linux7
menu label Auto Install CentOS Linux ^7 Mini
kernel 7/vmlinuz
append initrd=7/initrd.img ks=http://192.168.39.8/ksdir/ks7.cfg
label linux6
menu label Auto Install CentOS Linux ^6 Mini
kernel 6/vmlinuz
append initrd=6/initrd.img ks=http://192.168.39.8/ksdir/ks6.cfg
label manual
menu label ^Manual Install CentOS Linux 8.0
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.39.8/centos/8/isos/x86_64/
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
实验:centos7 实现基于cobbler实现自动化安装
1 yum install cobbler dhcp
systemctl enable --now cobblerd httpd tftp dhcpd
2 cobbler check
vim /etc/cobbler/settings
default_password_crypted: "$1$gEc7ilpP$pg5iSOj/mlxTxEslhRvyp/"
manage_dhcp:1
next_server:< tftp服务器的 IP 地址>
server:
systemctl restart cobblerd
cobbler sync
3 下载相关文件
cobbler get-loaders
cobbler sync
4 dhcp服务
vim /etc/cobbler/dhcp.template
subnet 192.168.39.0 netmask 255.255.255.0 {
option routers 192.168.39.2;
option domain-name-servers 8.8.8.8;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.39.100 192.168.39.254;
cobbler sync
systemctl start dhcpd
5导入系统安装文件
cobbler import --name=centos-8.0-x86_64 --path=/media/cdrom --arch=x86_64
6 准备 ks
[root@centos7 kickstarts]#cat /var/lib/cobbler/kickstarts/ks8.cfg
#version=RHEL8
ignoredisk --only-use=sda
zerombr
text
reboot
Partition clearing information
clearpart --all --initlabel
selinux --disabled
firewall --disabled
Use graphical install
#repo --name="Appstream" --baseurl=http://192.168.39.8/centos/8/isos/x86_64/AppStream
url --url=$tree
#repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
Use CDROM installation media
Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
System language
lang en_US.UTF-8
Network information
network --bootproto=dhcp --device=ens160 --ipv6=auto --activate
network --hostname=centos8.magedu.com
Root password
rootpw --iscrypted $6$nOPs5JTMlP4mhQeW$R/o62B6SXAh3RR.zrZ3U0X4xYX9/u5nSLrR/vqCB6kdO2XFfMk2a4yAgrHJQpXK/e4jzRb0jiLBv2nFMXaBjB/
Run the Setup Agent on first boot
firstboot --enable
Do not configure the X Window System
skipx
System services
services --disabled="chronyd"
System timezone
timezone Asia/Shanghai --isUtc --nontp
user --name=wang --password=$6$oUfb/02CWfLb5l8f$sgEZeR7c7DpqfpmFDH6huSmDbW1XQNR4qKl2EPns.gOXqlnAIgv9pTogtFVaDtEpMOC.SWXKYqxfVtd9MCwxb1 --iscrypted --gecos="wang"
Disk partitioning information
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
%packagesbr/>@^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
cobbler profile add --name=CentOS8.0_mini --distro=CentOS8.0-x86_64 --kickstart= /var/lib/cobbler/kickstarts/ks8.cfg
cobbler profile remove --name=CentOS8.0-x86_64
实验:实现cobbler 的web管理
yum install cobbler-web
systemctl restart httpd
实验:主DNS服务器实现
yum install python2-pip
pip install Django==1.8.17