kickstart+ftp+dhcp+tftp实现centos6的无人值守安装

环境
IP : 172.16.0.32 centos 6.6

一.安装相关包

安装图形界面
[root@localhost ~]# yum groupinstall "Desktop" "X Window System" "Chinese Support"
[root@localhost ~]# yum -y install dhcp tftp-server tftp syslinux vsftpd

二. 配置dhcp服务

[root@localhost ~]# cd /etc/dhcp/
[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample ./dhcpd.conf
cp: overwrite `./dhcpd.conf'? y
[root@localhost dhcp]# vim dhcpd.conf
option domain-name "magedu.com";
option domain-name-servers 201.106.0.20;

subnet 172.16.0.0 netmask 255.255.0.0 {
    range 172.16.200.100 172.16.200.200;
    filename "pxelinux.0";
    next-server 172.16.0.32;
}
[root@localhost dhcp]# service dhcpd configtest
Syntax: OK

[root@localhost dhcp]# chkconfig dhcpd on
[root@localhost dhcp]# service dhcpd start

[root@localhost dhcp]# ss -unl | grep :67
UNCONN     0      0                         *:67                       *:*

三.tftp服务

[root@localhost dhcp]# vim /etc/xinetd.d/tftp
disable                 = no

[root@localhost dhcp]# service xinetd restart
[root@localhost dhcp]# chkconfig xinetd on
[root@localhost dhcp]# ss -unl | grep :69
UNCONN     0      0                         *:69                       *:*


[root@localhost dhcp]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

测试tftp能否下载
[root@localhost dhcp]# cd /tmp
[root@localhost tmp]# tftp 172.16.0.32
tftp> get pxelinux.0
tftp> quit
[root@localhost tmp]# ls
gconfd-gdm      orbit-gdm           pulse-w7f0tLvBt2CE  tmpubqNCd
gconfd-root     orbit-root          pulse-XLd7li5gCIxS  yum.log
keyring-jxLAwk  pulse-1PbAudlT4Zed  pxelinux.0

四. 准备pxelinux

挂载光盘镜像

[root@localhost ~]# mkdir /media/cdrom
[root@localhost ~]# mount -r /dev/cdrom /media/cdrom

[root@localhost ~]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/
[root@localhost ~]# cp /media/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost ~]# chmod +w /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
添加一个label
label autoinst
  menu label ^Auto Install CenOS
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=ftp://172.16.0.32/pub/centos6.cfg


注意: 去掉原来label的menu default

[root@localhost ~]# cat  /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.6!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label autoinst
  menu label ^Auto Install CenOS
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=ftp://172.16.0.32/pub/centos6.cfg
label linux
  menu label ^Install or upgrade an existing system
  kernel vmlinuz
  append initrd=initrd.img
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img xdriver=vesa nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -

五.准备yum仓库

[root@localhost ~]# mkdir /var/ftp/pub/centos
[root@localhost ~]# \cp -rf /media/cdrom/* /var/ftp/pub/centos
或者是挂载目录
[root@localhost ~]# mount --bind /media/cdrom /var/ftp/pub/centos/

六. 准备kickstart文件

进入系统图形化界面
[root@localhost yum.repos.d]# yum install  system-config-kickstart
[root@localhost ~]# system-config-kickstart

mark
mark
mark
mark
mark
mark
mark
mark
mark
mark
mark
mark

微调cfg文件

[root@localhost ~]# vim centos6.cfg
#logging --level=info
#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
#network  --bootproto=dhcp --device=eth1 --onboot=on  不注释导致安装失败

[root@localhost ~]# cat centos6.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="ftp://172.16.0.32/pub/centos"
#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
# Root password
rootpw --iscrypted $1$cVdlAuSw$5tYu9Bx6iwKTgGvxTlarJ1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
#logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
#network  --bootproto=dhcp --device=eth1 --onboot=on
# System bootloader configuration
bootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --size=100
part swap --fstype="swap" --size=8000
part / --fstype="ext4" --grow --size=1

%packages --nobase
@core

%end



cfg文件拷贝都ftp目录
[root@localhost ~]# cp centos6.cfg /var/ftp/pub/

七.启动vsftpd

[root@localhost ~]# ss -tnl | grep 21
LISTEN     0      32                        *:21                       *:*

八. 验证

新建虚拟机, 过程略
mark
mark
mark
mark

问题: 安装时无法识别eth1
解决方法: 将kickstart文件中的eth1项注释

原创文章,作者:hansj,如若转载,请注明出处:http://www.178linux.com/77412

(0)
hansjhansj
上一篇 2017-06-03 14:15
下一篇 2017-06-03 14:36

相关推荐

  • 初窥门径之脚本书写

    一、几个脚本的编写: 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 #!/bin/bash echo "HOSTNAME: $HOSTNAME" echo "IPV4 A…

    Linux干货 2016-08-15
  • 第七周学习总结–系统启动流程

    写在前面 作为一个理工科的你,我相信你一定给自己或者给别人装过windows操作系统,作为windows操作系统都图形化了,因此我们可能很难去了解中间都发生了什么。比如使用U盘安装的时候,网上一大堆某某某U盘制作系统工具,按照网上的教程,制作完成以后,就可以在要装系统的电脑上点击电源键狂按F12(不同的电脑可能不同)进入BIOS设置了,然后就等着使用了。作为…

    2018-01-14
  • 魔术方法

    Edit 魔术方法 使用Python的魔术方法的最大优势在于他们提供了一种简单的方法来让对象可以表现的像内置类型一样。那意味着你可以避免丑陋的,违反直觉的,不标准的的操作方法。 特殊属性 属性 含义 __name__ 类、函数、方法等名字 __module__ 类定义所在的模块名? __class__ 对象或类所属的类 __bases__ 类的基类的元组,顺…

    Linux干货 2017-11-21
  • 网络N22期-第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost ~]#egrep '^(root|fedora|user1)\>' /etc/passwd | cut -d: -f7 /bin/bash 2、找出/etc…

    Linux干货 2016-09-15
  • 基于keepalived实现高可用nginx服务

    基于keepalived实现高可用nginx服务 环境及配置前提说明 主机1,ip:192.168.25.140 运行web服务 主机2,ip:192.168.25.141 运行web服务 主机3,ip:192.168.25.138 运行nginx服务和keepalived服务 主机4,ip:192.168.25.139 运行nginx服务和keepaliv…

    Linux干货 2016-11-07
  • mysql or条件可以使用索引而避免全表

    在某些情况下,or条件可以避免全表扫描的。 1 .where 语句里面如果带有or条件, myisam表能用到索引, innodb不行。 1)myisam表:  CREATE TABLE IF NOT EXISTS `a` (   `id` int(1)&nb…

    Linux干货 2015-04-13