无人值守安装Linux系统操作版
操作之前,建议关闭防火墙以及SELinux。
PS:
- 查看防火状态:systemctl status firewalld
- 暂时关闭防火墙:systemctl stop firewalld
- 永久关闭防火墙:systemctl disable firewalld
- 永久关闭SELinux方法 – 需要重启服务器
打开/etc/selinux/config文件中,设置SELINUX=disabled ,然后重启服务器。 - 使用命令setenforce 0;临时关闭SELinux。
实验环境:
1.在一台CentOs7版本的Linux系统上部署无人值守系统。(ip:192.168.78.8)
2.一台未安装系统的客户机。
如果没有挂载好光盘的,需要先去挂载光盘。
- 创建一个挂载点:
mkdir /mnt/cdrom
- 将我们镜像挂载到新创建的挂载点上。
mount -t iso9660 -o loop /dev/sr0 /mnt/cdrom
- 实现开机自动挂载:
/dev/sr0 /mnt/cdrom iso9660 defaults 0 0
一、安装以及配置DHCP
1.安装DHCP
[root@hello ~]# yum install -y dhcp
已加载插件:fastestmirror
base | 3.6 kB 00:00:00
Loading mirror speeds from cached hostfile
epel/primary_db | 6.9 MB 00:00:01
软件包 12:dhcp-4.2.5-79.el7.centos.x86_64 已安装并且是最新版本
无须任何处理 (由于我已经安装过了,所以无需安装。)
[root@hello ~]#
2.配置DHCP(通过它指定PXE方式)
vim /etc/dhcp/dhcpd.conf
default-lease-time 86400;
max-lease-time 86400;
log-facility local7;
subnet 192.168.8.0 netmask 255.255.255.0 { #根据自身所在的网段设置
range 192.168.8.180 192.168.8.253;
option routers 192.168.8.2;
next-server 192.168.8.78; #添加tftp服务器,我是将自己设置成了TFTP服务器。
#default-lease-time 86400;
#max-lease-time 86400;
#log-facility local7;
#bootstarp
filename="pxelinux.0";
}
3.开启DHCP
[root@hello ~]# systemctl restart dhcpd #重启
[root@hello ~]# systemctl enable dhcpd #开机自启动
二、安装和配置TFTP和守护进程
1.安装TFTP和守护进程
[root@hello ~]# yum install -y xinetd tftp-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
软件包 2:xinetd-2.3.15-14.el7.x86_64 已安装并且是最新版本
软件包 tftp-server-5.2-22.el7.x86_64 已安装并且是最新版本
无须任何处理 #我之前已经安装过了。
TFTP是一种轻量级服务,我们需要通过xinetd它的配置文件去控制它。
2.修改配置文件
[root@hello ~]# vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no #这里需要更改为no
per_source = 11
cps = 100 2
flags = IPv4
}
3.开启服务
systemctl restart xinetd
systemctl restart tftp
systemctl enable xinetd
systemctl enable tftp
三、安装和配置syslinux
1.安装syslinux
[root@hello ~]# yum install -y syslinux
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
软件包 syslinux-4.05-15.el7.x86_64 已安装并且是最新版本
无须任何处理
2.拷贝引导文件 pxelinux 0,在/uer/share/syslinux里。
[root@hello ~]# cp -a /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
四、复制镜像之安装和配置Apache HTTP
1.安装HTTP
[root@hello ~]# yum install -y httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
软件包 httpd-2.4.6-93.el7.centos.x86_64 已安装并且是最新版本
无须任何处理
[root@hello ~]#
2.启动服务
[root@hello ~]# systemctl restart httpd
[root@hello ~]# systemctl enable httpd
3.复制镜像文件
[root@hello ~]# mkdir /var/www/html/inst #创建储存点
[root@hello ~]# cp -r /mnt/cdrom/* /var/www/html/inst/ #拷贝镜像文件
五、拷贝和配置内核文件
1.获取和配置default
①、获取
[root@hello ~]# mkdir /var/lib/tftpboot/pxelinux.cfg #创建pxelinux.cfg文件夹
[root@hello ~]# cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 3 #获取isolinux.cfg文件
②、配置default文件
default vesamenu.c32
timeout 600
display boot.msg
menu background splash.png
menu title CentOS 7
label linux
menu label ^Install or upgrade an PXE system
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.8.78/ks.cfg (由前面设置的地址而定)
menu end
2.拷贝内核文件
[root@hello ~]# cp /mnt/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
[root@hello ~]# cp /mnt/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/
六、获取和配置ks.cfg文件
1.拷贝ks.cfg文件,顺便把权限改了
[root@hello ~]# cp ~/anaconda-ks.cfg /var/www/html/ks.cfg
[root@hello ~]# chmod -R 777 /var/www/html/ks.cfg
2.配置ks.cfg文件
注:autopart命令不能和part/partition, raid, volgroup 或者 logvol 命令存在与同一kickstart文件里。
install #默认安装方式
url --url=http://192.168.8.78/inst/ #指明yum源路径,网络安装
keyboard --vckeymap=us --xlayouts='us' #键盘布局,必填项,--vckeymap指定键盘模式,--xlayouts指定X布局
lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 #系统默认语言US英文,--addsupport添加附加CN中文支持
firewall --disabled #防火墙,关闭/enable为打开
network --onboot yes --device ens33 --bootproto dhcp --noipv6 #网络配置 --onboot 是否在引导时启用设备(是) --device 指定要配置的设备(ens33) --bootproto 获取IP的方式(dhcp自动获取) --noipv6 禁用IPv6
auth --enableshadow --passalgo=sha512 #--enableshadow 影子密码 --passalgo=sha512 SHA-512哈希算法
rootpw --iscrypted #root用户密码 --iscrypted 使用影子密码$6$eiTil1AiBvhGu1sK$dJ19uOalO48CCFsRI2Im4xC4DTIWazF7bXZuDu0GoiCOzvY9y9ku5llW4X.gR4tplBENgjtgS5utSnOyUCnVi.
reboot #安装好后重启
timezone Asia/Shanghai #时区,中国上海
selinux --disabled #selinux 关闭/enable为启动
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" #bios引导分区 --location 指定引导记录写入位置 --append 指定内核参数
clearpart --all #清理所有的磁盘分区
part biosboot --fstype=biosboot --size=1
part /boot --fstype=ext4 --asprimary --size=512
part swap --size=2048
part pv.01 --size 1 --grow #--grow 让逻辑卷使用所有可用空间
volgroup vg0 --reserved-percent=1 pv.01
logvol / --fstype=ext4 --name=root --vgname=vg0 --percent=99
repo --name="CentOS-7" --baseurl=http://192.168.8.78/inst/ --cost=100 #配置yum源
text #我们是基于字符串界面安装,基于光盘就是cdrom
zerombr #全自动安装,没有人机交互
%packages #自定义安装软件包(适用于最小化安装)
@^minimal
@core
%end
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/var/www/html/ks.cfg" 26L, 877C 7,1 全部
3.检验ks.cfg文件
[root@hello ~]# ksvalidator /var/www/html/ks.cfg
一切准备就绪之后,我们就可以创建一个新的虚拟机测试一下
ps:不需要选择光盘。
接下来它就开始了自己安装
看到这个界面,我们就已经安装成功了。