Centos 6.4 kickstart 自動安裝操作系統

Centos6.4 Kickstart 自動安裝操作系統


準備工作:

掛載光盤:

# mount /dev/cdrom /media/

mount: block device /dev/sr0 is write-protected, mounting read-only

配置本地yum 源:

# cd /etc/yum.repos.d/

# mkdir repo

# ls

CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo repo

# mv CentOS-[^M]* repo

# vim CentOS-Media.repo

[c6-media]

name=CentOS-$releasever - Media

baseurl=file:///media

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


1.安裝所需軟件包

vsftpd 提供客戶端安裝時所需的操作系統文件

dhcp 爲客氣端提供IP地址

tftp-server 提供pxe已經文件的加載

syslinux 提供pxelinux.0 引導文件

system-config-kickstart 圖形界面,提供ks文件的生成


# yum install -y vsftpd dhcp tftp-server system-config-kickstart syslinux


2.配置tftp-server

# cat /etc/xinetd.d/tftp

service tftp

{

disable = no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /install/tftpboot

per_source = 11

cps = 100 2

flags = IPv4

}

# mkdir /install/tftpboot

# /etc/init.d/xinetd restart #重啓xinetd服務,因爲tftp-server受xinetd服務所管理

# chkconfig tftp on #開啓tftp-server

# chkconfig xinetd on

3.配置dhcp Server

# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

# vim /etc/dhcp/dhcpd.conf

ddns-update-style none; #關閉DDNS更新

default-lease-time 259200; #默認租約

max-lease-time 518400; #最大租約

subnet 192.168.7.0 netmask 255.255.255.0 { #要分配IP的網段

range 192.168.7.223 192.168.7.230; #要分配IP的範圍

option subnet-mask 255.255.255.0; #子網掩碼

option routers 192.168.7.1; #默認網關

option domain-name-servers 192.168.6.200; #DNS 服務器

next-server 192.168.7.222; #tftp-server服務器IP

filename "pxelinux.0"; #預啓動文件pxelinux.0

}


啓動dhcp服務

# service dhcpd start

Starting dhcpd: [ OK ]


4.配置vsftpd


# /etc/init.d/vsftpd restart

# chkconfig vsftpd on

# mkdir -p /var/ftp/install/centos6.4

將光盤製作成iso文件到本地,避免安裝時從光盤讀取文件(這樣會很慢)。

# mkdir /install/

# dd if=/dev/cdrom of=/install/CentOS6_4.iso

將光盤掛載到/var/ftp/install/centos6.4

# mount -o loop /install/CentOS6_4.iso /var/ftp/install/centos6.4/

加入開機啓動

# vim /etc/fstab

/install/CentOS6_4.iso /var/ftp/install/centos6.4 iso9660 defaults,loop 0 0


5.拷貝安裝所需相關文件

# cp /usr/share/syslinux/menu.c32 /usr/share/syslinux/vesamenu.c32 /usr/share/syslinux/pxelinux.0 /install/tftpboot/

# mkdir /install/tftpboot/pxelinux.cfg

解釋:

menu.c32 <==提供開機選單功能

pxelinux.0 <==開機管理程序

pxelinux.cfg <==開機選單設置

vesamenu.c32 <==圖形界面選單

# mkdir -p /install/tftpboot/kernel/centos6.4

# cp /media/isolinux/vmlinuz /install/tftpboot/kernel/centos6.4

# cp /media/isolinux/initrd.img /install/tftpboot/kernel/centos6.4

# cp /media/isolinux/isolinux.cfg /install/tftpboot/pxelinux.cfg/default

解釋:

vmlinuz: <==內核文件(kernel file);

initrd.img: <==開機過程中的核心內核模塊組;

isolinux.cfg --> default:<== PXE開機選單的參考配置文件


6.設置開機選單

# vim /install/tftpboot/pxelinux.cfg/default

UI vesamenu.c32

TIMEOUT 300

DISPLAY ./boot.msg


MENU TITLE Welcome to PXE Server System


LABEL local

MENU LABEL Boot from local drive

MENU DEFAULT

localboot 0


LABEL network1

MENU LABEL Boot from PXE Server for Install CentOS 6.4

kernel ./kernel/centos6.4/vmlinuz

append initrd=./kernel/centos6.4/initrd.img


# vim /install/tftpboot/boot.msg

Welcome to PXE Server System.


The 1st menu can let you system goto hard disk menu.

The 2nd menu can goto interactive installation step.



7.生成ks.cfg文件

# mkdir -p /var/ftp/install/kickstart

# system-config-kickstart

# cat /var/ftp/install/kickstart/ks.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://192.168.7.222/install/centos6.4"

# Root password

rootpw --iscrypted $1$diqzmtsG$8Yx12A/JVqZh7HoQGa9FO/

# System authorization information

auth --useshadow --passalgo=sha512

# Use text mode install

text

firstboot --disable

# System keyboard

keyboard us

# System language

lang en_US

# SELinux configuration

selinux --disabled

# Installation logging level

logging --level=info

# Reboot after installation

reboot

# System timezone

timezone --isUtc Africa/Abidjan

# System bootloader configuration

bootloader --location=mbr --md5pass="$1$toKu.eEZ$pkqnZY.psEMYA4L7spHs20"

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all

# Disk partitioning information

part /boot --fstype="ext4" --size=200

part swap --fstype="swap" --size=2048

part / --fstype="ext4" --size=10000


%post

yum install -y vim

#!/bin/sh

mkdir -p /root/.ssh

chmod 700 /root/.ssh

chown root.root /root/.ssh

echo "你所要管理新安裝客戶端的公鑰" >> /root/.ssh/authorized_keys

chmod 644 /root/.ssh/authorized_keys

chown root.root /root/.ssh/authorized_keys


%end


%packages

@basic-desktop

@chinese-support

%end


編輯default文件,指定ks文件

# vim /install/tftpboot/pxelinux.cfg/default

………………

append initrd=./kernel/centos6.4/initrd.img ks=ftp://192.168.7.222/install/kickstart/ks.cfg


8.測試,到此爲止kickstart自動部署操作系統已經完成






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章