Centos的安裝管理程序是anaconda,系統安裝完成之後會在root的家目錄下自動生成anaconda_ks.cfg。這個文件主要安裝的系統所需要的配置,主要是由命令段,軟件包段和腳本段構成。我們可以通過編輯修改安裝完成後的系統根下的anaconda_ks.cfg.kickstart文件。另外我們也可以通過安裝system-config-kickstart,其圖形化界面配置相當的直觀,只是對於磁盤的分區對於raid和lvm有一定的約束,不過我們可以通過修改添加也可以完成。代碼修改完成後,可以通過命令ksvalidator可以檢查kickstart文件的語法是否正確。
我們如何完成自動化安裝呢?
一、dhcp安裝
1、安裝dhcp
[root@bogon ~]# yum install dhcp
2、修改dhcp配置腳本
配置dhcp服務
cat /etc/dhcp/dhcpd.conf
[root@bogon ~]# cat /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
配置DHCP,編輯配置文件/etc/dhcp/dhcpd.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | option domain-name "practicedhcp"; # 指定網域的域名 option domain-name-servers 192.16.33.1; # DNS 多個可用逗號隔開
default-lease-time 86400; # 默認租約期限這裏設置爲1天 max-lease-time 100000; # 最大租約期限
log-facility local7; # 日誌設備類型爲local7
subnet 192.168.0.0 netmask 255.255.255.0 # 指定網段的分配ip 和子網掩碼 range 192.168.33.2 172.16.33.254; # 可使用的地址池範圍 option routers 192.168.33.1; # 指定網關 next-server 172.16.33.1; # 指定下一個Server爲tftp服務器地址 filename "pxelinux.0 "; # 指定到tftp服務器上下載pxelinux.0文件
|
設置dhcp開機啓動服務
1 | # chkconfig dhcpd on |
查看dhcp開機啓動情況
1 2 3 | # chkconfig --list dhcpd dhcpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off # 在2,3,4,5運行級別開機啓動服務 |
二、配置tftp Server
2.1、安裝tftp & tftp-server
1 | # yum install tftp tftp-server |
2.2開啓tftp服務
1 2 | # chkconfig tftp on # service xinetd restart |
三、提供PXE工作環境和內核引導文件
3,1、安裝syslinux
1 | # yum install syslinux |
3.2複製pxelinux.0文件到tftp上
1 | # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ |
3.3、提供引導內核等所需文件
掛載系統光盤至/media/cdrom
1 | # mount /dev/cdrom /media/cdrom |
3.4複製文件到tftpboot目錄中
1 2 | # cp /media/cdrom/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot # cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32,boot.msg} /var/lib/tftpboot |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # mkdir /var/lib/tftpboot/pxelinux.cfg # cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# 配置文件的內容 default vesamenu.c32 # 使用vesamenu.c32文本界面程序 #prompt 1 timeout 600 # 設定超時60秒,單位爲0.1秒
display boot.msg
menu background splash.jpg # 設置背景圖片 menu title Welcome to magedu linux! # 設置標題 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 linux # 設置標籤,啓動時按tab鍵進入命令行界面是,可以使用標籤代替命令和參數 menu label ^Install or upgrade an existing system menu default kernel vmlinuz # 內核位置 append initrd=initrd.img ks= # 內核後帶的參數,指定了ks文件位置 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 - |
四、提供安裝源
4.1安裝httpd
1 2 3 4 5 6 7 8 9 10 | # yum install httpd # 創建光盤掛載目錄 # mkdir /var/www/html/centos
# 掛載光盤到目錄 # mount /dev/cdrom /var/www/html/centos
# 或者把光盤掛載至/media/cdrom,再將/var/www/html/centos綁定掛載至/media/cdrom # mount /dev/cdrom /media/cdrom # mount /media/cdrom /var/www/html/centos |
6、提供ks.cfg文件
注意:ks.cfg 文件other用戶要擁有可讀權限
將ks.cfg文件複製到http默認目錄下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # cp ~/anaconda_ks.cfg /var/www/html/ks.cfg
# Kickstart file automatically generated by anaconda. #version=DEVEL install
# 兼容Centos5的安裝源,不可省略,會報錯 url --url=http://172.16.142.1/centos ....
# 分區格式化 clearpart --all part /boot --fstype=ext4 --size=200 part pv.008002 --size=61440 volgroup vg0 --pesize=8192 pv.008002 logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480 logvol swap --name=swap --vgname=vg0 --size=2048 logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240 logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480
# 指定安裝源 repo --name="CentOS" --baseurl=http://172.16.142.1/centos --cost=100
# 配置安裝的包和包組 %packages @Base @Core @base @basic-desktop ... ibus-table-cangjie ibus-table-erbi ibus-table-wubi lftp %end
# 安裝後腳本 %post ...
%end |
到此,所有的工作都完成,只需啓動即可。