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.www58058.com/77412

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

相關推薦

  • 馬哥網絡教育班第21期+第六周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/ [root@localho…

    Linux干貨 2016-08-02
  • 馬哥教育網絡21期+第十四周練習博客

    馬哥教育網絡21期+第十四周練習博客 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機; 這里web服務器僅允許響應報文離開本機這里的響應報文為ESTABLISHED [root@localhost ~]# iptabl…

    Linux干貨 2016-12-05
  • Linux 啟動流程

    Linux啟動流程 POST–>Boot Sequence–>MBR–>Grub–>Kernel(initramfs)–>rootfs–chroot(根切換)–>/sbin/init–>RunLevel–&gt…

    Linux干貨 2016-06-09
  • 用戶創建及權限管理

    1.列出當前系統上所有已經登錄的用戶的用戶名,注:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d ‘ ‘ -f1 | sort -u [root@localhost ~]# who danry :0 2017-07-16 23:20 (:0) danry pts/0 2017-07-16 23:23 (192.168…

    Linux干貨 2017-07-17
  • while循環中的一個常見問題

    在樓主剛剛學習接觸while循環的時候,發現了一個問題,在while循環內部對變量賦值、定義變量、數組定義等等環境,在循環外面失效。 一個簡單的測試腳本如下: 執行結果證明,$new_var的結果是空值。在google上查了查,才發現問題出在管道上。 先看看下面的內容。 while循環的寫法有好幾種,它的語法結構為: while test_cmd_list;…

    2017-08-26
  • Linux第六周學習博客作業

    對第六周學習的內容進行總結

    2018-01-14
欧美性久久久久