kickstart ---无人值守安装
kickstart 实战
http://man.linuxde.net/download/CentOS_6_9镜像
安装:
关闭防火墙
且在编辑虚拟网络的vnet8中要取消使用本地dhcp项
1.yum -y install dhcp
[root@centos6 ~ ]#vim /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.100 192.168.5.120;
option routers 192.168.5.1;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.5.103;
filename "/pxelinux.0";
}
[root@centos6 ~ ]#vim /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=eth0
[root@centos6 ~ ]#/etc/init.d/dhcpd start
2.[root@centos6 ~ ]#yum -y install tftp-server
[root@centos6 ~ ]#cat -n /etc/xinetd.d/tftp
14 disable = yes
只改第14行的yes为no
[root@centos6 ~ ]#sed -i '14s%yes%no%' /etc/xinetd.d/tftp
[root@centos6 ~ ]#/etc/init.d/xinetd restart
Stopping xinetd: [FAILED]
Starting xinetd: [ OK
3.[root@centos6 ~ ]#yum install httpd -y
[root@centos6 ~ ]#grep -n ServerName /etc/httpd/conf/httpd.conf
265:# ServerName gives the name and port that the server uses to identify itself.
276:#ServerName www.example.com:80
283:# ServerName directive.
1006:# ServerName dummy-host.example.com
在277行插入一条如下
[root@centos6 ~ ]#sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf
[root@centos6 ~ ]#/etc/init.d/httpd start
[root@centos6 ~ ]#netstat -tunlp|grep 80
tcp 0 0 :::80 :::* LISTEN 9474/nginx
看上面是80端口的里程起不来,那看一下进程号,原来是被nginx占用了,直接杀掉该进程号
[root@centos6 ~ ]#kill 9474
[root@centos6 ~ ]#mkdir /var/www/html/CentOS-6.9
[root@centos6 ~ ]#mount /dev/cdrom /var/www/html/CentOS-6.9
在浏览器输入ip/并刚才挂载的目录名,效果如下图

4.安装启动引导程序/及pxe引导配置
[root@centos6 ~ ]#yum -y install syslinux
[root@centos6 ~ ]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/(tftp根目
把菜单(启动相关的程序)复制过去
[root@centos6 ~ ]#cp -a /var/www/html/CentOS-6.9/isolinux/* /var/lib/tftpboot/
新建pxelinux.cfg目录,存放客户端配置文件
[root@centos6 ~ ]#mkdir -p /var/lib/tftpboot/pxelinux.cfg
[root@centos6 ~ ]#cp /var/www/html/CentOS-6.9/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
如果你想用网络安装方式,那么此时就可以安装了(不要挂载镜像)
5.pxe配置文件default解析
6.创建自动应答文件ks.cfg
[root@centos6 ~ ]# grub-crypt
Password:181818
Retype password:181818
$6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/
[root@centos6 ~ ]#mkdir /var/www/html/ks_config
# Kickstart Configurator for CentOS 6.7 by yao zhang
[root@centos6 ~ ]#vim /var/www/html/ks_config/CentOS-6.9-ks.cfg
install
url --url="http://192.168.5.103/CentOS-6.9/"
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb qui
et"
network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS
6
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoC
w/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/
clearpart --all --initlabel
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%post
wget -O /tmp/optimization.sh http://192.168.5.103/ks_config/optimization.sh &>
/dev/null
/bin/sh /tmp/optimization.sh
%end
7.开机优化脚本
[root@centos6 ~ ]#vim /var/www/html/ks_config/optimization.sh
#!/bin/bash
##############################################################
# File Name: /var/www/html/ks_config/optimization.sh
# Version: V1.0
# Author: yao zhang
# Organization: www.zyops.com
# Created Time : 2015-12-03 15:23:08
# Description: Linux system initialization
##############################################################
./etc/init.d/functions
Ip=192.168.5.103
Port=80
ConfigDir=ks_config
# Judge Http server is ok?
# Defined result function
function Msg(){
if [ $? -eq 0 ];then
action "$1" /bin/true
else
action "$1" /bin/false
fi
}
# Defined IP function
function ConfigIP(){
Suffix=`ifconfig eth0 |awk -F"[ .]+" 'NR==2 {print $6}'`
cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <<-END
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.0.$Suffix
PREFIX=24
GATEWAY=10.0.0.2
DNS1=10.0.0.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
END
Msg "config eth0"
}
# Defined Yum source Functions
Msg "YUM source"
#Defined add Ordinary users Functions
function AddUser(){
useradd hua &> /dev/null &&\
echo "181818"|passwd --stdin hua &> /dev/null &&\
sed -i '98a hua ALL=(ALL) NOPASSWD:all' /etc/sudoers &&\
visudo -c &> /dev/null
Msg "AddUser hua"
}
[ -f "/etc/issue" ] && >/etc/issue
Msg "Hide issue"
[ -f "/etc/issue.net" ] && > /etc/issue.net
Msg "Hide issue.net"
}
# Defined OPEN FILES Functions
function openfiles(){
[ -f "/etc/security/limits.conf" ] && {
echo '* - nofile 65535' >> /etc/security/limits.conf
Msg "open files"
}
}
# Defined Kernel parameters Functions
function kernel(){
KernelDir=/etc
[ -f "$KernelDir/sysctl.conf" ] && /bin/mv $KernelDir/sysctl.conf{,.or
i}
wget -O $KernelDir/sysctl.conf http://$Ip:$Port/$ConfigDir/sysctl.conf
&>/dev/null
Msg "Kernel config"
}
# Defined System Startup Services Functions
function boot(){
for oldboy in `chkconfig --list|grep "3:on"|awk '{print $1}'|grep -vE
"crond|network|rsyslog|sshd|sysstat"`
do
chkconfig $oldboy off
done
Msg "BOOT config"
}
# Defined Time Synchronization Functions
function Time(){
echo "#time sync by zhangyao at $(date +%F)" >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov &>/dev/null' >>/var/
spool/cron/root
Msg "Time Synchronization"
}
# Defined main Functions
function main(){
ConfigIP
yum
HideVersion
openfiles
kernel
boot
Time
}
main
8.整合编辑default配置文件
[root@centos6 ~ ]#vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.5.103/ks_config/CentOS-6.9-ks.cfg
ksdevice=eth0
[root@centos6 ~ ]#curl http://192.168.5.103/ks_config/CentOS-6.9-ks.cfg 测试下刚才文件有没有对,如果出来的结果是/var/www/html/ks_config/CentOS-6.9-ks.cfg 的内容说明ok
至此一切准备工作就做完了
[root@centos6 ~ ]#netstat -ntulp|egrep '80|67|69'
确认有没有80端口,67,69端口

9 无人值守自动安装
此时启动空白的无人机就行了
[root@centos6 ~ ]#tailf /var/log/messages 可以观看日志过程
kickstart ---无人值守安装的更多相关文章
- KickStart 无人值守安装系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- [转]CentOS 6.4下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- 烂泥:kickstart无人值守安装CentOS6.5
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在本次实验进行之前,首先我们要把公司的网络环境进行介绍. 注意这个网络拓扑图,也是生产环境的一个实例.同时服务器192.168.1.214已关闭ipta ...
- CentOS6 PXE+Kickstart无人值守安装
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- RHEL7下PXE+NFS+Kickstart无人值守安装操作系统
RHEL7下PXE+NFS+Kickstart无人值守安装操作系统 1.配置yum源 vim /etc/yum.repos.d/development.repo [development] name= ...
- RHEL7下PXE+Apache+Kickstart无人值守安装操作系统
RHEL7下PXE+Apache+Kickstart无人值守安装操作系统 1.配置yum源 vim /etc/yum.repos.d/development.repo [development] na ...
- CentOS 6.6下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- 【转载】CentOS 6.4下PXE+Kickstart无人值守安装操作系统
[转载]CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转自:CentOS 6.4下PXE+Kickstart无人值守安装操作系统 - David_Tang - 博客园 http ...
- Centos下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
随机推荐
- Unity3D中录制和输出wav文件
近期在做视频录制方面的事情,看了下音频的录制和输出.主要参考官方的FrameCapturer: https://github.com/unity3d-jp/FrameCapturer wav文件结构较 ...
- TF的模型文件
TF的模型文件 标签(空格分隔): TensorFlow Saver tensorflow模型保存函数为: tf.train.Saver() 当然,除了上面最简单的保存方式,也可以指定保存的步数,多长 ...
- 一次xxoo提权
数据库root权限.然并卵. 看了一下phpinfo得知是mysql 5.0 的 然后想要通过udf之类的提权一波,结果一执行sql语句就被狗拦截了. 然而数据库这条路是GG了 OS 名称: Micr ...
- 解决space-between最后一排问题
display:flex + justify-content: space-between 能够实现2端对齐的布局,这种布局在网页中很常见.不过这种布局方式有一个问题.举个例子,我们假设现在一排放4个 ...
- 【转】导致SQL执行慢的原因
索引对大数据的查询速度的提升是非常大的,Explain可以帮你分析SQL语句是否用到相关索引. 索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本.MySQL在300万条记录左 ...
- 乾坤合一~Linux设备驱动之I2C核心、总线以及设备驱动
我思念的城市已是黄昏 为何我总对你一往情深 曾经给我快乐 也给我创伤 曾经给我希望 也给我绝望 我在遥远的城市 陌生的人群 感觉着你遥远的忧伤 我的幻想 你的忧伤,像我的的绝望,那样漫长,,,,,这是 ...
- Android学习:Notification状态栏通知
Notification是显示在手机状态栏的通知,它代表一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification.在小米手机上,手指在屏幕顶端向下划 ...
- 漏洞预警:Linux内核9年高龄的“脏牛”0day漏洞
这个名叫Dirty COW,也就是脏牛的漏洞,存在Linux内核中已经有长达9年的时间,也就说2007年发布的Linux内核版本中就已经存在此漏洞.Linux kernel团队已经对此进行了修复. 漏 ...
- 11.17 luffycity(7)完结
2018-11-17 15:59:01 路飞项目已经完结!后面已是flask的学习!然后还有十几天的课程等回学校再看 明天归校!! 开始全面整理自己学习的知识,整理博客!还有好多面试题!233333 ...
- js中 给json对象添加属性和json数组添加元素
js中 给json对象添加新的属性 比如现在有一个json对象为jsonObj,需要给这个对象添加新的属性newParam,同时给newParam赋值为pre.做法如下: var obj={ &quo ...