Linux自動安裝 光碟片,Linux安裝光碟片
安裝linux的時候需要人機互動,如果一次安裝幾台那就要耗費很多精力,莫不如把每次要做的設定寫在設定檔裡,一鍵安裝,省時省力。
這裡我們只介紹用光碟片進行自動安裝。
無人職守安裝我們首先想到的就是kickstart軟體,那麼什麼是Kickstart?
Kickstart是一種無人值守的安裝方式。它的工作原理是在安裝過程中記錄典型的需要人工幹預填寫的各種參數,並產生一個名為ks.cfg的檔案。如果在安裝過程中(不只局限於產生Kickstart安裝檔案的機器)出現要填寫參數的情況,安裝程式首先會去尋找Kickstart產生的檔案,如果找到合適的參數,就採用所找到的參數;如果沒有找到合適的參數,便需要安裝者手工幹預了。所以,如果Kickstart檔案涵蓋了安裝過程中可能出現的所有需要填寫的參數,那麼安裝者完全可以只告訴安裝程式從何處取ks.cfg檔案,然後就去忙自己的事情。等安裝完畢,安裝程式會根據ks.cfg中的設定重啟系統,並結束安裝。
ks.cfg的擷取
1)可以以圖形化的形式擷取該檔案,在系統執行system-config-kickstart 按照提示一步步來。
2)每次安裝完系統之後都會在root下產生名為anaconda-ks.cfg的檔案,它會自動記錄,你安裝過程中所使用的選項參數,為了保險起見,可以先在在虛擬機器上自己定製安裝一次,然後把該檔案修改成ks.cfg
最基本的ks.cfg檔案由Command section(命令部分)和%packages section(軟體安裝部份)兩部分組成,Command部分在前,%Packages部分在後.
ks.cfg選項具體意義如下所示:
#告知安裝程式,這是一次全新安裝,而不是升級install#告知安裝程式,這是一個網路安裝,使用FTP來提供安裝所需的資源#我這邊是使用匿名方式,還可以使用使用者名稱/密碼#url --url ftp://<username>:<password>@<server>/<dir>url --url="ftp://192.168.80.3/pub"#使用文字模式設定text#預設語言是英語lang en_US.UTF-8#使用美式鍵盤keyboard us#清空mbrzerombr#指定bootloader的安裝位置及參數#--location 指定boot record位置,我們這邊不做多系統,因此直接寫在mbr裡面#--driveorder 指定第一開機裝置#--append 指定核心參數,這邊我用的預設值,沒有做更改bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"#設定安裝完成後的主機網路,關鍵字是 network#這邊參數都比較常見,我就不一個個解釋了network --bootproto=static --ip=192.168.80.8 --netmask=255.255.255.0 --gateway=192.168.80.2 --hostname=CentOS6 --noipv6#設定時區#--utc 設定使用UTCtimezone --utc Asia/Shanghai#設定密碼加密方式為sha512 啟用shadow檔案auth --useshadow --passalgo=sha512#設定root的密碼#--iscrypted 如果root密碼是已加密過,就必須使用這個參數,如何獲得這個加密後的密碼,詳見本文附1rootpw --iscrypted $6$qQaMyYyZMjz/tpqH$cjMWaGj8xpZK4jplrbUCnXD/8jesH7WTSBAefkL6HYcgFmKFUd/pbWtC75Q62d3PI8IYclNulf750Q7C7iYs.1#清空所有分區#--all 從系統中清除所有分區#--initlable 初始化磁碟標籤,例如我的虛擬機器是x86架構的,通常是初始化為MSDOSclearpart --all --initlabel#建立磁碟分割#建立/boot分區part /boot --fstype=ext4 --size=500#建立3個pv,每個pv大小為10Gpart pv.008002 --size=10240part pv.008003 --size=10240part pv.008005 --size=10240#建立一個VG,名為vg_root 包含了剛才建立的3個PVvolgroup vg_root --pesize=4096 pv.008002 pv.008003 pv.008005#建立LVlogvol /home --fstype=ext4 --name=lv_home --vgname=vg_root --size=2048logvol /opt --fstype=ext4 --name=lv_opt --vgname=vg_root --size=2048logvol / --fstype=ext4 --name=lv_root --vgname=vg_root --size=6116logvol /tmp --fstype=ext4 --name=lv_tmp --vgname=vg_root --size=4096logvol /var --fstype=ext4 --name=lv_var --vgname=vg_root --size=4096logvol swap --name=lv_swap --vgname=vg_root --size=2048#禁止firstboot,firstboot就是我們使用圖形化安裝完系統,重啟後有一個初始設定firstboot --disable#禁止selinuxselinux --disabled#禁止防火牆firewall --disabled#設定安裝過程中的記錄層級logging --level=info#設定安裝完成後關機poweroff#安裝包我選擇的是Basic模式,添加了中文支援%packages@base#中文支援@chinese-support@console-internet@core@debugging@directory-client@hardware-monitoring@java-platform@large-systems@network-file-system-client@performance@perl-runtime@server-platform@server-policy%end
這裡建議不要無腦安裝,一定要看這些參數的意思。然後修改自己的ks.cfg。
ks.cfg檔案產生之後要把該檔案放到iso檔案裡面,只要拖拽到iso檔案裡面的根目錄就行。
下面要配置isolinux.cfg檔案,目的是在安裝的時候能找到ks.cfg
檔案的位置在ISO檔案裡面isolinux檔案夾下,修改該檔案。
label linuxkernel vmlinuzappend initrd=initrd.img ks=cdrom:/ks.cfg ksdevice=eth0
修改後不要忘記替換到ISO裡面。
到現在ISO檔案就製作好了,很簡單。
可以用虛擬機器進行測試,如果ISO沒有問題一般都會成功。
這種方法只適用於少量伺服器或者網路條件有限制的情況,如果有大量伺服器需要安裝系統的話可以用PXE+kickstart從網路安裝。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。