标签:img vim eve 网卡名称 局限性 netmask centos 一个 file
实现原理:将手动安装的所有详细步骤记录到一个文件中,然后通过一种软件读取这个文件就可以实现自动安装部署。这一个软件工具叫kickstart。
kickstart是RedHat公司开源软件的工具,对centos兼容性最好,kickstart是一个项目名称,没有这一个软件。
cobbler是对kickstart的所有组件的封装,本质上就是网页版本的kickstart
kickstart组件之PXE
PXE(Pre-bootExecution Environment),预启动执行环境,通过网络接口启动计算机,不依赖本地存储设备或本地已安装的系统
PXE客户端会调用网际协议IP、用户数据报协议,动态主机设定协议(DHCP),小型文件传输协议(TFTP)等网络协议
ks文件组成
命令段
包组段 以%packages开头,以%end结束
脚本段 以%post开头,以%end结束,在安装完系统之后执行的相关Linux命令、脚本
以%pre开头,以%end结束,在安装完系统之前执行的相关Linux命令、脚本
kickstart文件语法检查
yum install pykickstart
ksvalidator /var/www/html/ks_config/CentOS-7-ks.cfg
请记住这个验证工具有其局限性。Kickstart 文件可能会很复杂;ksvalidator 可保证其语法正确,且该文件不包含淘汰的选项,但它无法保证安装会成功。它也不会尝试验证 Kickstart 文件的 %pre、%post 和 %packages 部分。
root加密密码生成
python -c ‘import crypt; print(crypt.crypt("密码"))‘
systemctl stop firewalld.service
setenforce 0
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache
yum -y install dhcp
[root@kickstart /]# cat /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.16.1.100 172.16.1.199;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
next-server 172.16.1.202;
filename "/pxelinux.0";
}
启动服务
systemctl start dhcpd
查看服务日志
tail -F /var/log/messages
安装linux下的抓包工具
yum -y install wireshark
tshark -ni 网卡名称
yum -y install httpd
mkdir -p /var/www/html/CentOS7
mount /dev/cdrom /var/www/html/CentOS7
yum -y install tftp-server
systemctl start tftp.socket
查看tftp根目录在哪
[root@kickstart /]# rpm -ql tftp-server
/var/lib/tftpboot
cp /var/www/html/CentOS7/isolinux/* /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/CentOS7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@kickstart /]# cat /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://172.16.1.202/ks_config/CentOS7-ks.cfg net.ifnames=0 biosdevname=0 ksdevice=eth1
mkdir -p /var/www/html/kc_config
[root@kickstart /]# cat /var/www/html/ks_config/CentOS7-ks.cfg
# Kickstart Configurator for CentOS 7 by yao zhang
#命令段
install
url --url="http://172.16.1.202/CentOS7/"
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
#配置静态IP地址
network --bootproto=static --device=eth0 --gateway=10.0.0.254 --ip=10.0.0.203 --n
ameserver=223.5.5.5 --netmask=255.255.255.0 --activatenetwork --bootproto=static --device=eth1 --ip=172.16.1.203 --netmask=255.255.255.
0 --activatenetwork --hostname=Cobbler
#配置动态IP地址
#network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS7
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
#设置密码,密文方式,生成密文方式:python -c ‘import crypt; print(crypt.crypt("密码"))‘
rootpw --iscrypted $6$qs/lWQujVOmfz0L.$p6CfsyidQc.frLTXIIB412HNKhgriwjyz12y5HBufZ
qfa.ior8OrUpTeuAO.UfjhgxkZAnZMMkT.pVcGmTg6r.clearpart --all --initlabel
#开始发区
part /boot --fstype xfs --size 1024
part swap --size 1024
part / --fstype xfs --size 1 --grow
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
#包组段:以%packages开头,以%end结束
%packages
@^minimal
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
wget
vim
bash-completion
%end
#脚本段:以%post开头,以%end结束,在安装完系统之后执行的相关Linux命令、脚本
# 以%pre开头,以%end结束,在安装完系统之前执行的相关Linux命令、脚本
%post
systemctl disable postfix.service
%end
ps:系统内存不能小于2G,否则会报硬盘空间不足
首先排除最简单故障原因:selinux是否关闭,防火墙是否关闭
上面的错误是因为pxelinux.0这个小系统的配置文件(default)不存在,或者文件名不对
上面报错是在TFTP服务的根目录找不到启动文件pxelinux.0
标签:img vim eve 网卡名称 局限性 netmask centos 一个 file
原文地址:https://www.cnblogs.com/yjiu1990/p/10668915.html