无人值守安装Linux系统操作版

操作之前,建议关闭防火墙以及SELinux。

PS:

  1. 查看防火状态:systemctl status firewalld
  2. 暂时关闭防火墙:systemctl stop firewalld
  3. 永久关闭防火墙:systemctl disable firewalld
  4. 永久关闭SELinux方法 – 需要重启服务器
    打开/etc/selinux/config文件中,设置SELINUX=disabled ,然后重启服务器。
  5. 使用命令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:不需要选择光盘。

Linux系统自动化安装(二)_自动化安装

Linux系统自动化安装(二)_linux_02


Linux系统自动化安装(二)_自动化安装_03

接下来它就开始了自己安装

看到这个界面,我们就已经安装成功了。

Linux系统自动化安装(二)_自动化安装_04