无人值守安装linux7,CentOS7网络无人值守安装
环境准备
软件安装
本文通过YUM 方式安装各应用软件。yum install -y epel-release #安装扩展源
yum install -y nginx #安装nginx(如果采用http方式提供安装源)
yum install -y vsftpd #安装FTP(如果采用FTP方式提供安装源,二者任选)
yum install -y tftp tfpt-server #安装TFTP(无论以上哪种方式,这个是**必需**的。
yum install -y xinetd
yum install -y syslinux #安装Linux引导系统(必须,用于客户机引导启动)
yum install -y dhcp #安装DHCP,无人值守下,必须。用于给客户机自动分配IP
yum install -y system-config-kickstart # 安装kickstart (可选,这个需要图形界面支持)
yum groupinstall -y "X Window System" "GNOME Desktop" #安装桌面环境(主要用来配合kickstart,可选)
#安装VNC远程环境(用于桌面环境连接,因为我的环境是搭建在远程服务器上,故此安装此服务)
yum install -y tigervnc tigervnc-server
软件配置
挂载安装镜像
1、首先把安装光盘内的所有文件放置一个所有用户可访问目录,我这里放置到了/var/ftp/pub/(VsFTP的默认目录)下面。
既可以直接挂载到这个目录下,也可把光盘下所有文件复制到这里。mkdir -p /var/ftp/pub/dvd #创建安装镜像挂载目录
mount /dev/sr0 /var/ftp/pub/dvd #挂载光盘镜像到指定目录,/dev/sr0 是我这里的虚拟机的光盘镜像。
配置Nginx
1、Nginx 基本不用修改,只把网站目录指向光盘挂载目录,然后打开目录浏览权限。vi /etc/nginx/nginx.conf
# 在默认配置文件中找到 server,修改root
#root /usr/share/nginx/html; #更改为
root /var/ftp/pub/dvd/ #42行
# 在location / {} 项,在中间添加一句 `autoindex on;`
location / { #47行
autoindex on; # 在没有网站主页的情况下,显示网站目录,这里显示的是光盘的目录。
}
FTP和HTTP二选一,哪个配置好了都能用。
2、启动Nginxsystemctl start nginx # 启动nginx
systemctl enable nginx # 添加到自启动
配置VsFTPd
1、因为已经把安装文件挂载到FTP默认目录下了,VsFTP完全不用修改,直接使用默认设置就可以了,这个时候就可以使用匿名账号登录了。
2、启动vsftpdsystemctl start vsftpd
systemctl enable vsftpd
FTP和HTTP二选一,哪个配置好了都能用。
配置TFTP服务
TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。
我们这里用TFTP传输Linux的无人值守安装配置文件,和Linux启动必须的启动文件syslinux
1、修改TFTP的配置文件。主要是在配置文件中打开TFTP功能,(并修改根目录)vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #这里是目录,可以修改,也可以不改。
disable = no # 这里原为yes,改为no,即不关闭。
per_source = 11
cps = 100 2
flags = IPv4
}
2、启动TFTP,老版本需要启动 xinetd 这个守护程序,新版本直接启动TFTP就行了。systemctl start tftpd
systemctl enable tftpd
配置PXE启动文件
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。不仅支持采用BIOS结构的主板,而且从6.0版也开始支持采用EFI结构的新型主板。
1、把我们刚才安装 syslinux里面的文件复制到TFTP目录下,用于引导客户端启动# 创建pxelinux.cfg启动菜单文件夹
mkdir -p /var/lib/tftpboot/pxelinux.cfg
# 把pxelinux复制到TFTP的根目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
# 安装光盘中的isolinux.cfg配置文件复制到启动菜单文件下,并命名为defautl,以便默认安装菜单。
cp /var/ftp/pub/dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# 把安装光盘中isolinux文件中的所有文件复制到TFTP根目录。
cp -a /var/ftp/pub/dvd/isolinux/* /var/lib/tftpboot/
cp /var/ftp/pub/dvd/images/pxeboot/* /var/lib/tftpboot
cp -a /usr/share/syslinux/{menu.c32,vesamenu.c32} /var/lib/tftpboot
#修改文件权限
chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
修改/var/lib/tftpboot/pxelinux.cfg/default文件 的61-71行,如下(这里是系统安装的默认选择菜单):vi /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
# 这一行是系统安装源。
append initrd=initrd.img repo=http://172.17.0.238/dvd ks=http://172.17.0.238/ks.cfg
label check
menu label Test this ^media & install CentOS 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
配置DHCP服务
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
1、这里我们给客户端分配IP并配置使其网络启动后下载指定文件(指向下一跳主机)。subnet 172.17.1.0 netmask 255.255.255.0 { # 配置给客户端分配的IP段
range 172.17.1.35 172.17.1.45; # 指定IP地址池
option domain-name-servers 172.17.1.12; # 指定DNS服务器
option routers 172.17.1.12; # 指定网关(路由出口)
default-lease-time 600; # 给客户机分配IP的默认时长
max-lease-time 7200; # 给客户机分配IP的最大时长
next-server 172.17.1.12; # 网络的下一跳路由(这里指向,我们的服务器)
filename "pxelinux.0"; # 在下一跳路由要访问的文件,这里是pxelinux的启动菜单文件
}
2、启动DHCP服务systemctl start dhcpd
systemctl enable dhcpd
使用kickstart配置安装选项(可选)
1、图形配置,请参考下方文章引用
2、最终生成的文件#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade(安装或升级)
install
# Keyboard layouts(键盘方案)
keyboard 'us'
# Root password(用户密码)
rootpw --iscrypted $1$1oNf8Vo9$evw1Q2hY2qLIDQaeemys31
# Use network installation(采用网络安装及安装路径)
url --url="http://172.17.0.238/dvd"
# System language(安装语言)
lang en_US
# Firewall configuration(防火墙配置)
firewall --disabled
# System authorization information(用户密码加密方式)
auth --useshadow --passalgo=sha512
# Use text mode install(安装模式,图形或文本)
text
# SELinux configuration(selinux 配置)
selinux --disabled
# Do not configure the X Window System(是否安装图形界面)
skipx
# Reboot after installation(安装完成后执行重启)
reboot
# System timezone(时区)
timezone Asia/Shanghai
# System bootloader configuration(引导分区及方式)
bootloader --location=mbr
# Clear the Master Boot Record(清除原有引导分区)
zerombr
# Partition clearing information(清除分区)
clearpart --all --initlabel
# Disk partitioning information(重新分区,lvm方式,200G硬盘)
part pv.154 --fstype="lvmpv" --ondisk=sda --size=204239
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.154
logvol / --fstype="xfs" --size=144964 --name=root --vgname=centos
logvol swap --fstype="swap" --size=8064 --name=swap --vgname=centos
logvol /home --fstype="xfs" --size=51200 --name=home --vgname=centos
##安装完成后执行,这里添加了一个修改IP的脚本。
%post
#!/bin/bash
cat >>/root/n<
#!/bin/sh
################
##获取网卡名称##
################
## 获取当前系统网卡ID号,生成相应路径并备份原有配置。
iphard=\$(ip a | grep en |grep -v lo |awk -F ": " '{print \$2}')
echo \$iphard
ippath=/etc/sysconfig/network-scripts/ifcfg-\$iphard
echo \$ippath
\cp -a \$ippath \$ippath.bak
# 等待输入新的IP最后一段,并生成网卡配置文件
read -t 30 -p "Please input IP " -n 15 ipaddr
echo -e "\n"
echo \$ipaddr
cat > \$ippath << EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=\$iphard
DEVICE=\$iphard
ONBOOT=yes
IPADDR=172.17.0.\$ipaddr
NETMASK=255.255.255.0
GATEWAY=172.17.0.254
DNS1=202.106.0.20
DNS2=202.106.196.115
EOF
# 显示生成的网卡配置文件,并最终确认。
cat \$ippath
read -t 60 -p "Please check the IP, and input y or n " istrue
case \$istrue in
[yY][eE][sS]|[yY])
echo "Your selected is yes"
cat /etc/sysconfig/network-scripts/ifcfg-\$iphard
systemctl restart network
#service network restart
rm -rf ~/n
ls
;;
[nN][oO]|[nN])
echo "Your selected is no"
;;
*)
echo "Your slected is other"
;;
esac
bof
# 修改新生成的文件可执行权限
chmod +x /root/n
%end
# 需要安装的软件,这里选择了mini安装。
%packages
@^minimal
%end
新建虚拟机测试
关闭firewall selinux,重启一下。systemctl stop firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
最好重启一下所有服务。systemctl restart httpd xinetd dhcpd
新建个虚拟机,测试一下,安装正常。
文章引用
无人值守安装linux7,CentOS7网络无人值守安装相关推荐
- Linux 自动化部署安装 《PXE网络无人值守安装 》
网络无人值守安装 网络无人值守安装 网络无人值守安装的作用 网络无人值守安装的流程简介 DHCP的部署 dhcp简介 配置 DHCP 配置 TFTP 部署Kickstart 文件 测试: 网络无人值守 ...
- CentOS7网络配置,安装jdk,tomcat和mysql全过程
CentOS7网络配置,安装jdk,tomcat和mysql全过程 1.CentOS7网络配置 安装CentOS7要在VMware虚拟机上进行,设置密码后登陆进来,可以看见右下角有下面几个图标,右击网 ...
- centos losf 安装_Linux Centos7部署环境安装-CentOS
Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...
- linux下yum安装pgsql,CentOS7使用yum安装PostgreSQL和PostGIS的方法
1.更新yum源 CentOS7默认yum源的PostgreSQL版本过低,不适合在本版本上使用.在https://yum.postgresql.org/repopackages.php上找到适合Ce ...
- centos7二进制安装php,Centos7下编译安装配置Nginx+PHP+MySql环境
序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...
- linux centos7安装ngix,centos7 环境下安装nginx--Linux
本文将要为您介绍的是centos7 环境下安装nginx--Linux,具体完成步骤:一.安装前需要的编译环境准备 1.安装make yum install -y gcc automake autoc ...
- centos7 yun安装mysql,CentOS7 yum方式安装MySQL5.7
MySQL 完整的初始密码规则可以通过如下命令查看: mysql> SHOW VARIABLES LIKE 'validate_password%'; +-------------------- ...
- DNF安装MySQL,CentOS7使用dnf安装mysql的方法
本文介绍了CentOS7使用dnf安装mysql的方法,分享给大家,具体如下: 1.安装mysql的yum仓库 执行以下命令: 代码如下: yum localinstall 2.安装mysql dnf ...
- 无人值守安装linux7,PXE下无人值守配置阵列及安装CentOS7
PXE下无人值守配置阵列及安装CentOS7 猫先生 • 2019 年 09 月 24 日 客户采购200台联想服务器,现在需要安装系统, 一台一台的用优盘安装,显然不是最佳办法,PXE安装肯定是首选 ...
最新文章
- wxpython组件SplitterWindow 的简单使用
- 查表法生成流水号的示例.sql
- python中布尔型的值_在python中对于bool布尔值的取反操作
- 使用Arquillian,Docker和Selenium使Web UI测试再次变得出色(第1部分)
- 钱多多被立案侦查,曾多次因借款合同纠纷被起诉
- 问你个问题:50万存款算多吗?
- C#导入导出Excele数据
- c#中的ref、out、params参数
- 前端克隆数据 --JS 深浅拷贝
- 阿里云云计算ACP学习(七)---弹性伸缩服务AS
- 后量子密码(PQC)决赛入围算法和候选算法
- SQL Server - 数据库(创建,修改管理-删除)-T-SQL 语句
- 存在正文时不允许未命名的原型参数_用Swift开发macOS程序, 六、原型、格式与开发说明...
- spring中使用Aspectj进行切面编程
- matplotlib.pyplot.imshow opencv.imread 图片显示 图片读取
- 模拟赛20200228(yyq)【右链+dfs序,子树管辖,聚集水流问题】
- Java编写的画图板,功能非常齐全,完整代码 附详细设计报告
- 一个人最顶级的才华,是会填坑
- 复现 MonoEF:Monocular 3D Object Detection: An Extrinsic Parameter Free Approach
- 从5G到智能革命,这篇文章值得一看
热门文章
- 九龙证券|“股神”也做短线?巴菲特减仓逾八成台积电
- 【数据结构】各种数据结构的特点介绍
- mysql 读提交,MySQL如何实现ACID ?
- python 最准确的图片转文字软件,图片转文字软件哪个好?5款好用的图片转文字软件推荐...
- Parser-Free Virtual Try-on via Distilling Appearance Flows - 基于外观流提取的免解析器虚拟试穿
- 爬虫利器 xpath 实践案例
- CentOS SRS直播服务器的搭建
- 华为 android 5.0系统下载地址,华为emui5.1
- 迪亚-土地利用现状统计
- jQuery基础知识整理