半自動化的安裝CentOS系統(tǒng)

本實驗在生產(chǎn)環(huán)境中現(xiàn)在已經(jīng)用不到了,因為已經(jīng)有更高級的自動化安裝軟件來取代了本次實驗,所以只是為了能從低層更了解Linux的安裝,從而做了本次實驗,加深與理解當前所學的知識。
先看一下拓撲圖吧!
簡單的解釋一下拓撲圖,先在服務器端開啟http服務,在http默認目錄下創(chuàng)建兩個目錄分別是ks、x86_64,并把光盤鏡像掛載至/var/www/html/x86_64目錄下,把已經(jīng)制作好的ks.cfg文件復制至/var/www/html/ks目錄中;在服務器端制作isolinux用于引導啟動客戶端(其實就是把光盤鏡像中的isolinux目錄給抽取出來,并重新用命令生成一個iso的文件)。在客戶端在掛載isolinux,通過局域網(wǎng)進行安裝CentOS 6.6 x86_64.
(1)首先制作ks.cfg文件
在CentOS 6安裝完成后會在/root下生成一個anaconda-ks.cfg文件,這個是由CentOS 6安裝程序anaconda根據(jù)你在系統(tǒng)安裝過程中所有的鍵盤類型、語言、時區(qū)、分區(qū)、程序包的選擇而生成的一個文件。
如果我們要制作一個anaconda-ks.cfg文件,可以參考這個文件在些基礎上進行修改,可以使用system-config-kickstart程序生成相關的文件。
安裝system-config-kickstart程序
[root@node-2 ~]# yum install -ysystem-config-kickstart
啟動system-config-kickstart程序
使用xshell 4遠程連接終端啟動system-config-kickstart,建議安裝XmanagerEnterprise 4軟件,這樣可以在本地終端中打開Linux系統(tǒng)中的軟件。在命令行中輸入system-config-kickstart命令即可。
修改完之后在File菜單中選擇Save保存,在最上面輸入ks.cfg名字,選擇保存位置,點擊Save按鈕即可。
查看剛剛生成的文件并進行添加一些內容,因為有些命令是需要手動添加的,相關的請參考REHL官方的資料。
[root@node-2 ~]# cat /var/www/html/ks/ks.cfg
#platform=x86, AMD64, or IntelEM64T
#version=DEVEL
# Firewall configuration
firewall --disabled #安裝后重啟初始化系統(tǒng)時選擇關防火墻
# Install OS instead of upgrade
install #安裝類型選擇為安裝
# Use network installation
url --url="http://172.16.9.21/x86_64/" #通過網(wǎng)絡安裝,使用的Http服務
repo --name="CentOS"--baseurl=http://172.16.9.21/x86_64/ --cost=100
#repo --name="FedoraEPEL" --baseurl=http://172.16.0.1/fedora-epel/6/x86_64/ --cost=1000
# Root password
rootpw --iscrypted $1$jLn8z9P1$ff07gV9CfXmz1Q0NEOmAw/ #管理員root的密碼,使用加密存放
# System authorizationinformation
auth --useshadow --passalgo=sha512 #認證方法,使用的sha512的加密方式
# Use graphical install
graphical #使用圖形界面進行安裝
firstboot --disable
# System keyboard
keyboard us #選擇的鍵盤類型為us
# System language
lang en_US #語言為英文
# SELinux configuration
selinux --disabled #關閉selinux
# Do not configure the X WindowSystem
skipx #忽略X Window System的配置
# Installation logging level
logging --level=info #啟動的級別為文本
# Reboot after installation
reboot #安裝完之后重啟系統(tǒng)
# System timezone
timezone Asia/Shanghai #系統(tǒng)時區(qū)為亞洲/上海
# Network information
#network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloaderconfiguration #表示傳遞能內核的參數(shù)
bootloader--append="crashkernel=auto crashkernel=auto rhgb quiet"--location=mbr --driveorder="sda
# Partition clearinginformation
clearpart --all #以下都是對磁盤進行分區(qū)操作的,這里使用的LVM
zerombr #磁盤沒有分區(qū),對磁盤進行分區(qū)
part /boot --fstype=ext4--size=200
part pv.008002 --size=61440
volgroup vg0 --pesize=8192pv.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
%post #安裝完之后需要執(zhí)行的腳本
%end #腳本結束符
%packages #在安裝過程中需要安裝的程序包及程序包組
@base
@basic-desktop
@chinese-support
@client-mgmt-tools
@core
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@legacy-x
@network-file-system-client
@perl-runtime
@remote-desktop-clients
@x11
-ibus-table-cangjie
-ibus-table-erbi
-ibus-table-wubi
%end #程序包及程序包組結束符
(2) 安裝http服務與啟動
[root@node-2 ~]# yum installhttpd -y #安裝httpd服務
[root@node-2 ~]# service httpdstart #啟動http服務
Starting httpd: [ OK ]
[root@node-2 ~]# netstat-ntlp|grep 80 #查看啟動狀態(tài),http的端口為tcp的80端口
tcp 0 0 :::80 :::* LISTEN 2008/httpd
(3) 掛載光盤鏡像
把光盤鏡像放入光驅,如果使用的是虛擬機把光盤文件添加至虛擬機的光驅,并選擇啟用。
[root@node-2 ~]# mkdir /var/www/html/{ks,x86_64} #創(chuàng)建ks,x86_64目錄
[root@node-2 ~]# mount -r/dev/dvd /var/www/html/x86_64/ #以只讀方式掛載光盤鏡像至/var/www/html/x86_64/
[root@node-2 ~]# mount|tail -1 #查看掛載情況
/dev/sr0 on/var/www/html/x86_64 type iso9660 (ro)
(4) 復制ks.cfg文件至/var/www/html/ks目錄下
[root@node-2 ~]# cp/root/ks.cfg /var/www/html/ks/
[root@node-2 ~]# ls/var/www/html/ks/
ks.cfg
(5)制作isolinux啟動引導
在/tmp/創(chuàng)建一個cdrom目錄,把光盤鏡像中isolinux復制到/tmp/cdrom目錄中,并使用mkisofs命令生成iso文件。
[root@node-2 ~]# cd /tmp/ #切換著/tmp目錄
[root@node-2 tmp]# cp -r/var/www/html/x86_64/isolinux/ /tmp/cdrom/ #復制isolinux到/tmp/cdrom目錄
[root@node-2 tmp]# ls cdrom/ #查看復制結果
isolinux
[root@node-2 tmp]# mkisofs -R-J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "Centos6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c
isolinux/boot.cat -o/root/boot.iso cdrom/ #制作boot.iso文件
[root@node-2 tmp]# ll/root/boot.iso #查看iso文件制作情況
-rw-r--r-- 1 root root 39866368Apr 17 13:39 /root/boot.iso
(6)把制作好的boot.iso文件下載到本地的電腦下,可能通過Xshell 4自帶的Xftp進行拖動把boot.iso放至于桌面上。
(7)新建一個虛擬機,磁盤空間大小為120G,把boot.iso加載至虛擬機光驅中,選擇“啟動時連接”,打開剛才新建的虛擬機,按F2進入BIOS,移動至Boot選項修改第一啟動項為CD-ROM Driver,按F10保存并退出,將會重啟虛擬機。
(8)在出現(xiàn)CentOS安裝選擇界面時,如下圖所示。
此時按ESC鍵,因為我們只有一個引導啟動,并沒有安裝程序所需要的程序包,我們想通過手動指定ks.cfg文件和利用http服務實現(xiàn)遠程的安裝CentOS 6 x86_64。
將進入boot的命令提示符,輸入linux ip=172.16.9.34 netmask=255.255.0.0 gateway=172.16.0.1ks=http://172.16.9.21:80/ks/ks.cfg,輸入完成后回車,開始加載isolinux中微內核vmlinux和initrd.img文件,開始CentOS的自動安裝。
提示:
在boot的命令行提示符中輸入的linux表示使用圖形化安裝CentOS,需要有大于512M的內存;
ip、netmask、gateway是用于指定本地網(wǎng)卡的IP地址、掩碼、網(wǎng)關的,
ks表示用于指定ks.cfg文件所在位置,可以使用http,ftp,nfs,https,DVD Driver,使用的不同服務后面接的地址可能會有所不同的:
DVD drive ks=cdrom:/path/to/kickstart_file
HTTP Server ks=http://server_ip:port/path/to/kickstart_file
HTTPS Server ks=https://server_ip:port/path/to/kickstart_file
FTP Server ks=ftp://server_ip:port/path/to/kickstart_file
NFS Server ks=nfs:server_ip:/path/to/kickstart_file
安裝Centos進階:
通過上面的安裝你發(fā)現(xiàn)我們每次都要指定IP址址,子網(wǎng)掩碼,網(wǎng)關及ks.cfg文件的路徑,我們能不能把ks.cfg文件制作進isolinux引導啟動中,假設所在的網(wǎng)絡環(huán)境中已經(jīng)有一個DHCP服務器能讓其主機自動獲取IP地址,這樣我們只需要把isolinux制作的光盤放進光驅中,然后就是等待等待,Centos 6 x86_64已經(jīng)安裝完了。簡單的畫一個圖:
我們只需要在上面的基礎上加以修改就能實現(xiàn)的,做如下修改;
(1)把ks.cfg文件復制至/tmp/cdrom/目錄下
[root@node-2 tmp]# cp/var/www/html/ks/ks.cfg /tmp/cdrom/ks.cfg
[root@node-2 tmp]# ls/tmp/cdrom/
isolinux ks.cfg
(2)修改ks.cfg文件中開啟網(wǎng)卡的DHCP服務,讓其能自動獲取IP地址添加以下一行:
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on #在上面的ks.cfg文件中把前面的“#”取消即可;
(3)切換至/tmp/cdrom/isolinux/目錄,對isolinux.cfg文件進行修改
[root@node-2 ~]# cd/tmp/cdrom/isolinux/ #切換至/tmp/cdrom/isolinux/目錄
[root@node-2 isolinux]#chmod u+w * #對所有的文件添加修改的權限
[root@node-2 isolinux]# vimisolinux.cfg #編譯isolinux.cfg文件,在append后面加上ks=cdrom:/ks.cfg
label linux
menu label ^Install or upgrade an existingsystem
menu default
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ks.cfg
(4)重新制作isolinux引導鏡像
[root@node-2 isolinux]# cd /tmp #切換至/tmp目錄
[root@node-2 tmp]# mkisofs -R-J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "Centos6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o/root/boot.iso cdrom/
(5)把/root/boot.iso下載至本地桌面上,重啟用于安裝系統(tǒng)的虛擬機,選擇“Install or upgrade an existing system”標簽,進行自動化的安裝CentOS6.6 x86_64.
提示:還可以把ks.cfg文件在制作isolinux引導啟動鏡像時指定為http服務中的ks/ks.cfg文件,你還可以把ks.cfg文件直接做到發(fā)行版的光盤中,根據(jù)你的需求來實現(xiàn)自動化的安裝。
小結:
此實驗在生產(chǎn)環(huán)境中已經(jīng)沒有使用,只是為了理解CentOS的安裝流程,從而通過自己手動制作isolinux來引導啟動,通過http服務來提供CentOS安裝鏡像及ks.cfg文件,從而實現(xiàn)一個半自動化的安裝CentOS系統(tǒng),為以后的更好的理解全自動化安裝CentOS,做下前期的安裝流程熟悉。
相關文章
- 今天小編為大家?guī)淼氖荂entOS開機自動運行自己的腳本詳解。希望可以幫助到大家,有需要的朋友一起去看看吧2016-12-26
CentOS設置開機啟動服務及自動聯(lián)網(wǎng)的方法
一些朋友反饋說不知道CentOS如何設置開機啟動服務及自動聯(lián)網(wǎng)?下面小編就為大家分享一下CentOS設置開機啟動服務及自動聯(lián)網(wǎng)的方法;有需要的朋友可以過來看看2016-12-06- 安裝完成Centos7之后,配置了IP地址,如果重啟電腦,發(fā)現(xiàn)網(wǎng)絡服務并沒有啟動起來,那么,如何讓Centos7網(wǎng)絡自動啟動呢?下面小編就為大家?guī)鞢entOS7設置網(wǎng)絡自動啟動的方2016-12-01
centos7怎么取消鎖屏?centos系統(tǒng)取消自動鎖屏的教程
centos7怎么取消鎖屏?自己的電腦是雙系統(tǒng),其中centos7總是沒幾分鐘就自動鎖屏了,該怎么取消鎖屏呢?下面分享centos系統(tǒng)取消自動鎖屏的教程,需要的朋友可以參考下2016-01-18- 這篇文章主要介紹了CentOS自動化安裝實戰(zhàn),包括定制自動化安裝盤和使用Kickstart自動安裝的方法,需要的朋友可以參考下2015-08-11
- 這篇文章主要介紹了利用Kickstart自動化安裝CentOS的教程,多用于服務器的系統(tǒng)部署,需要的朋友可以參考下2015-07-29
- 這篇文章主要介紹了在Windows上制作CentOS自動安裝的光盤的教程,使安裝時各選項自動化執(zhí)行,做到"無人值守安裝",需要的朋友可以參考下2015-06-30
- 在CentOS 6.4中,使用腳本能夠自動關閉觸控板,下面小編就給大家介紹下CentOS6.4如何使用腳本停用觸控板,感興趣的朋友不要錯過2015-03-23
Linux操作系統(tǒng) CentOS6.5開機自動掛載硬盤
CentOS是社區(qū)企業(yè)操作系統(tǒng),Linux發(fā)行版之一。業(yè)級應用系統(tǒng)的建設,通常將系統(tǒng)和數(shù)據(jù)分別存儲,并建立raid。新裝的CentOS6.5,需要掛載數(shù)據(jù)盤,并且能夠系統(tǒng)啟動自動掛載該2014-09-04Oracle VM Virtual中CentOS自動獲取IP地址設置方法
Oracle VM Virtual中CentOS自動獲取IP地址設置方法,大家參考使用吧2013-12-16