前言
《Ubuntu 14.04.5 Server物理機(jī)安裝》一文中,我們安裝了一臺(tái)Ubuntu Server服務(wù)器,整個(gè)過(guò)程花費(fèi)了很多時(shí)間。令人難過(guò)的是,還有15臺(tái)機(jī)器需要安裝!本來(lái)打算每天安裝個(gè)一兩臺(tái),慢慢來(lái),今天老師提醒說(shuō)為什么不使用腳本呢?對(duì)啊,為什么不試試腳本呢!這是一個(gè)思路。突然想起師兄曾說(shuō),機(jī)房的機(jī)器系統(tǒng)安裝都是通過(guò)網(wǎng)絡(luò),這也是一個(gè)很好的思路?。?/p>
按照上面兩個(gè)思路,那就研究下批量安裝Ubuntu系統(tǒng)的方法!
原理篇
歷史
參考PXE、kickstart與preseed簡(jiǎn)介、Linux裝機(jī)利器Cobbler簡(jiǎn)述和ubuntu 14.04 無(wú)人職守全自動(dòng)安裝-基礎(chǔ)知識(shí)中,小編簡(jiǎn)單歸納了批量裝機(jī)的發(fā)展。
歷史上,很多同學(xué)都遇到過(guò)和我同樣的問(wèn)題,機(jī)器太多,需要挨個(gè)裝機(jī),簡(jiǎn)直就是折磨!
于是,為了降低批量裝機(jī)的難度,出現(xiàn)了PXE技術(shù),它將操作系統(tǒng)遠(yuǎn)程下載到本地運(yùn)行,有了這個(gè)技術(shù),我們就不需要再挨個(gè)機(jī)器插U盤(pán)安裝系統(tǒng)。
有了PXE技術(shù),依然需要在安裝的過(guò)程中不停地與機(jī)器進(jìn)行交互,設(shè)置選項(xiàng),費(fèi)時(shí)費(fèi)力。為了減輕同學(xué)們的工作量,RedHat推出了kickstart,在安裝操作系統(tǒng)前將其中出現(xiàn)的各種問(wèn)題的應(yīng)答內(nèi)容提前寫(xiě)好,使整個(gè)操作系統(tǒng)的安裝可以自動(dòng)完成。Debian系的Ubuntu等感覺(jué)kickstart對(duì)自己不夠友善,不能完全滿(mǎn)足自己的要求,于是推出了preseed。
再后來(lái),因?yàn)閗ickstart難度系數(shù)太高,RedHad又推出了cobbler,把批量裝機(jī)的難度降低到了小學(xué)水平。
PXE
PXE是Intel公司開(kāi)發(fā)的將操作系統(tǒng)遠(yuǎn)程下載到本地運(yùn)行的一種技術(shù)。
本地網(wǎng)卡ROM中包含有PXE客戶(hù)端軟件。網(wǎng)卡啟動(dòng)時(shí)會(huì)發(fā)出DHCP請(qǐng)求,從PXE服務(wù)器端獲得動(dòng)態(tài)IP地址、網(wǎng)關(guān)及TFTP服務(wù)器信息后,它會(huì)自動(dòng)下載一個(gè)用于引導(dǎo)操作系統(tǒng)的啟動(dòng)軟件包到本地內(nèi)存(不同的操作系統(tǒng)使用不同的PXE引導(dǎo)文件)中,再通過(guò)此軟件加載操作系統(tǒng)啟動(dòng)文件,從而開(kāi)始操作系統(tǒng)的安裝工作。
PXE的詳細(xì)介紹請(qǐng)參考自動(dòng)化運(yùn)維之-PXE實(shí)現(xiàn)系統(tǒng)批量自動(dòng)安裝和PXE網(wǎng)絡(luò)裝機(jī)攻略。
kickstart與preseed
在我們手動(dòng)安裝操作系統(tǒng)時(shí),需要回答各種提示問(wèn)題,而針對(duì)某種特定應(yīng)用時(shí),這種回答完全有章可循,如果我們能在安裝操作系統(tǒng)時(shí)將其中出現(xiàn)的各種問(wèn)題的應(yīng)答內(nèi)容提前寫(xiě)好,那么整個(gè)操作系統(tǒng)的安裝就可以自動(dòng)完成。
kickstart是RedHat公司針對(duì)自動(dòng)安裝RedHat、Fedora與CentOS這3種同一體系的操作系統(tǒng)而制定的問(wèn)答規(guī)范。它一般會(huì)以.cfg作為文件后綴名,不僅可以自動(dòng)應(yīng)答一些簡(jiǎn)單問(wèn)題,還可以指定操作系統(tǒng)需要安裝的各種軟件包,更可以在操作系統(tǒng)完裝完成后自動(dòng)執(zhí)行一些腳本,這些腳本可以讓我們直接配置系統(tǒng)。
通常,kickstart配置文件通過(guò)命令行工具system-config-kickstart生成。當(dāng)然,我們更喜歡在CentOS圖形界面環(huán)境下生成用于定制操作系統(tǒng)安裝的配置文件。
preseed則是Debian/Ubuntu操作系統(tǒng)自動(dòng)安裝的問(wèn)答規(guī)范,同樣可以預(yù)定義Ubuntu如何安裝,其配置更多通過(guò)手動(dòng)處理。
cobbler
RedHat在2008年發(fā)布了網(wǎng)絡(luò)安裝服務(wù)器套件 cobbler(補(bǔ)鞋匠),它集成了PXE、DHCP、HTTP、TFTP、kickstart等服務(wù),相對(duì)之前的 kickstart ,能夠更加快捷、方便的批量布署redhat、centos類(lèi)系統(tǒng)。
選擇
由上面的基礎(chǔ)概念我們了解到,可選擇的技術(shù)組合有:
- PXE+DHCP+HTTP+TFTP+kickstart
- PXE+DHCP+HTTP+TFTP+preseed
- PXE+DHCP+HTTP+TFTP+kickstart+preseed
- PXE+cobbler
- PXE+cobbler+preseed
本文,我們選擇PXE+DHCP+HTTP+TFTP+kickstart+preseed,主要參考PXE無(wú)人值守網(wǎng)絡(luò)安裝Ubuntu14.04 、 PXE+kickstart自動(dòng)安裝ubuntu14.04 和 在 Ubuntu 14.04 中配置 PXE 服務(wù)器。
實(shí)踐篇
PXE服務(wù)器
PXE服務(wù)器選擇我們手動(dòng)安裝好的那一臺(tái),系統(tǒng)是Ubuntu 14.04.5 Server (64-bit)版,當(dāng)前IP為172.16.0.213。
配置為PXE服務(wù)器后網(wǎng)段為10.0.0.0/8,IP為10.0.0.100。
DHCP
1、安裝isc-dhcp-server
sudo apt-get update
sudo apt-get install isc-dhcp-server -y
2、查看網(wǎng)卡和ip
ip add或者ifconfig,查看正在使用的局域網(wǎng)網(wǎng)卡,假設(shè)為eth0。
3、指定dhcp網(wǎng)卡
sudo vim /etc/default/isc-dhcp-server
拉到最底部,修改為:
INTERFACES="eth0"
4、配置dhcp服務(wù)
sudo vim /etc/dhcp/dhcpd.conf
在文件末尾添加:
subnet 10.0.0.0 netmask 255.0.0.0 {
range 10.0.0.101 10.0.0.200;
option subnet-mask 255.0.0.0;
option routers 10.0.0.100;
option broadcast-address 10.255.255.255;
filename "pxelinux.0";
next-server 10.0.0.100;
}
子網(wǎng)和掩碼可以根據(jù)自己的需要設(shè)置。
filename "pxelinux.0";,指定PXE啟動(dòng)文件名。
next-server 10.0.0.100;,指定PXE服務(wù)器IP地址,TFTP服務(wù)器IP地址。
5、重啟服務(wù)
service isc-dhcp-server restart
備注:也可以安裝DNSmasq,DNSmasq實(shí)際上是一個(gè)集成工具,包含了DNS、DHCP、TFTP服務(wù)器。
TFTP
主要參考Tftpd-hpa
1、安裝tftpd-hpa
apt-get install tftpd-hpa -y
2、給根目錄添加讀寫(xiě)權(quán)限
sudo chmod 777 /var/lib/tftpboot/
3、測(cè)試tftp
sudo apt-get install tftp -y
cd ~
tftp 127.0.0.1
get version.info
4、tftpd開(kāi)啟關(guān)閉命令
sudo /etc/init.d/tftpd-hpa start
sudo /etc/init.d/tftpd-hpa stop
apache2
1、安裝apache2
sudo apt-get install apache2 -y
web根目錄是 /var/www/html/
2、測(cè)試apache2
curl 127.0.0.1
3、重啟命令
sudo /etc/init.d/apache2 restart
文件準(zhǔn)備
1、上傳ubuntu-14.04.5-server-amd64.iso到用戶(hù)目錄。使用xftp上傳,或者使用scp命令,這里使用scp命令。打開(kāi)git bash,執(zhí)行:
scp ubuntu-14.04.5-server-amd64.iso test@172.16.0.213:~
2、掛載ubuntu-14.04.5-server-amd64.iso到ubuntu目錄。在用戶(hù)目錄執(zhí)行:
sudo mkdir /var/www/html/ubuntu
sudo mount ubuntu-14.04.5-server-amd64.iso /var/www/html/ubuntu
3、拷貝部分文件到tftp
sudo cp -r /var/www/html/ubuntu/install/netboot/* /var/lib/tftpboot/
4、拷貝seed文件到web根目錄
sudo cp /var/www/html/ubuntu/preseed/ubuntu-server.seed /var/www/html/
5、編輯seed文件
sudo vim /var/www/html/ubuntu-server.seed
在文件末尾添加:
d-i live-installer/net-image string http://10.0.0.100/ubuntu/install/filesystem.squashfs
d-i pkgsel/include string openssh-server
(1)因?yàn)樵趗buntu12.10版本以后,安裝一些包會(huì)依賴(lài)于預(yù)配置的文件系統(tǒng),這就是導(dǎo)致使用kickstart方式無(wú)法成功安裝的原因。
(2)自動(dòng)安裝ssh服務(wù)。
kickstart
ks.cfg中保存的是安裝系統(tǒng)過(guò)程中默認(rèn)的系統(tǒng)配置,沒(méi)有這個(gè)文件就需要安裝中手動(dòng)設(shè)置。kickstart則是方便編輯這個(gè)文件的,不用它的話(huà)也可以手工編輯
kickstart需要GUI界面,我因?yàn)槭前惭b的server,所以需要安裝桌面(如果是desktop版本就不需要)。
1、安裝圖形界面
sudo apt-get install ubuntu-desktop -y
過(guò)程非常久,請(qǐng)先去繼續(xù)讀論文。
2、安裝kickstart
sudo apt-get install system-config-kickstart -y
3、使用屏幕鍵盤(pán)連接主機(jī),進(jìn)入圖形界面
sudo startx,或者直接重啟sudo reboot
4、點(diǎn)擊右上角“Search your computer and online resources”,搜索kickstart,啟動(dòng)kickstart。
5、然后,按照?qǐng)D示選擇kickstart的配置。

附:上圖的長(zhǎng)圖合成工具為 美圖秀秀網(wǎng)頁(yè)版
6、保存ks.cfg后,查看ks.cfg內(nèi)容為:
#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T
#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone Asia/Shanghai
#Root password
rootpw --disabled
#Initial user
user test --fullname "test" --iscrypted --password $1$AKq0i3Yu$Tunuha7bYwq5uUV62F2nF0
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url http://10.0.0.100/ubuntu
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#System authorization infomation
auth --useshadow --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled --trust=eth0 --ssh
#Do not configure the X Window System
skipx
7、移動(dòng)ks.cfg到web根目錄
sudo mv ks.cfg /var/www/html/
8、修改txt.cfg
sudo vim /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg,原txt.cfg為:
default install
label install
menu label ^Install
menu default
kernel ubuntu-installer/amd64/linux
append vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
label cli
menu label ^Command-line install
kernel ubuntu-installer/amd64/linux
append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
修改為:
default install
label install
menu label ^Install
menu default
kernel ubuntu-installer/amd64/linux
append ks=http://10.0.0.100/ks.cfg preseed/url=http://10.0.0.100/ubuntu-server.seed netcfg/get_nameservers=10.0.0.100 vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
label cli
menu label ^Command-line install
kernel ubuntu-installer/amd64/linux
append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
pxelinux.cfg
編輯pxelinux.cfg配置文件
sudo vim /var/lib/tftpboot/pxelinux.cfg/default
# D-I config version 2.0
include ubuntu-installer/amd64/boot-screens/menu.cfg
default ubuntu-installer/amd64/boot-screens/vesamenu.c32
prompt 0
timeout 60
timeout默認(rèn)是0,改為60(6秒后自動(dòng)選擇install選項(xiàng))。
收尾
1、重新配置IP
sudo vim /etc/network/interfaces,修改eth0的IP為10.0.0.100:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.0.100
gateway 10.0.0.100
netmask 255.0.0.0
2、重啟eth0
sudo ifdown eth0,sudo ifup eth0
3、重啟dhcp
sudo service isc-dhcp-server restart
4、重新掛載鏡像
sudo mount ubuntu-14.04.5-server-amd64.iso /var/www/html/ubuntu
5、檢查各個(gè)服務(wù)
ps aux | grep dhcp
ps aux | grep apache
ps aux | grep tftp
6、把PC和PXE服務(wù)器連接到同一個(gè)交換機(jī),測(cè)試一下PC能否獲取到IP。
7、PC瀏覽器訪(fǎng)問(wèn) http://10.0.0.100/ubuntu/ ,測(cè)試能否正常訪(fǎng)問(wèn)Web服務(wù)。
安裝篇
安裝步驟
1、把PXE服務(wù)器和需要安裝系統(tǒng)的主機(jī)(下文統(tǒng)一稱(chēng)為目標(biāo)主機(jī))連接到同一個(gè)交換機(jī)。
2、目標(biāo)主機(jī)開(kāi)機(jī)啟動(dòng)進(jìn)入BIOS,首選啟動(dòng)項(xiàng)選擇PXE,保存退出。
3、然后,目標(biāo)主機(jī)就會(huì)自動(dòng)獲取IP地址,連接PXE服務(wù)器,進(jìn)入到安裝界面。
[圖片上傳失敗...(image-151f9d-1545010021441)]
4、在自動(dòng)網(wǎng)絡(luò)配置的時(shí)候失敗,報(bào)錯(cuò)“Network autoconfiguration failed”,多次嘗試依然失敗。

Alt+F2,進(jìn)入命令行界面,
ip add,查看到已經(jīng)獲取到IP地址。
Alt+F1,切換回安裝界面,這時(shí)需要手動(dòng)配置,一次不行就再來(lái)一次。

5、安裝過(guò)程中,分區(qū)后卡住,需要手動(dòng)選擇確認(rèn)分區(qū)。

6、之后,無(wú)需任何操作,直到安裝成功。
7、測(cè)試ssh服務(wù)
ssh test@localhost,順利登錄。
以上安裝過(guò)程,已經(jīng)省去了很多交互步驟,但是依然比較麻煩,主要存在兩個(gè)問(wèn)題:一個(gè)是自動(dòng)配置網(wǎng)絡(luò)的問(wèn)題,一個(gè)是需要分區(qū)確認(rèn)的問(wèn)題。下面嘗試解決這兩個(gè)問(wèn)題。
網(wǎng)絡(luò)問(wèn)題
1、對(duì)于網(wǎng)絡(luò)配置問(wèn)題,在14.04 server PXE installation fails at “Configure the network” page 找到了可能的答案,也許是/var/lib/tftpboot/pxelinux.cfg/default 文件的問(wèn)題,修改為:
# D-I config version 2.0
include ubuntu-installer/amd64/boot-screens/menu.cfg
default linux
label linux
menu default
menu label Linux
kernel ubuntu-installer/amd64/linux
append ks=http://10.0.0.100/ks.cfg preseed/url=http://10.0.0.100/ubuntu-server.seed vga=normal initrd=ubuntu-installer/amd64/initrd.gz --
prompt 0
timeout 60
問(wèn)題依舊。最好再改回原來(lái)的/var/lib/tftpboot/pxelinux.cfg/default文件配置,因?yàn)檫@樣啟動(dòng)時(shí)通過(guò)DHCP獲取IP的時(shí)間明顯變長(zhǎng)了,有時(shí)還會(huì)出現(xiàn)無(wú)法獲取IP以至于無(wú)法啟動(dòng)安裝的情況。如果沒(méi)有獲取到IP,記得及時(shí)按下ctrl+alt+del,進(jìn)行重啟,不然要等很久才能開(kāi)始第二次嘗試。
2、莫非是dhcp配置的問(wèn)題?參考14.04 server PXE installation fails at “Configure the network” page修改網(wǎng)卡配置為:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.0.0.0
gateway 10.0.0.100
broadcast 10.255.255.255
dns-nameservers 10.0.0.100
重啟網(wǎng)絡(luò),sudo ifdown eth0,sudo ifup eth0。
重啟dhcp,sudo service isc-dhcp-server restart。
問(wèn)題依舊。
3、參考Install And Configure PXE Server On Ubuntu 14.04 LTS,sudo vim /etc/dhcp/dhcpd.conf,在最后添加:
allow booting;
allow bootp;
option option-128 code 128 = string;
option option-129 code 129 = text;
next-server 10.0.0.100;
filename "pxelinux.0";
重啟dhcp,sudo service isc-dhcp-server restart。
問(wèn)題依舊。
4、莫非是因?yàn)闆](méi)有安裝DNS?參考《Ubuntu14.04配置DNS Server》,安裝好DNS。
問(wèn)題依舊。
5、參考preseeds,sudo vim /var/www/html/ubuntu-server.seed,在尾部添加:
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string $hostname
問(wèn)題依舊。
6、刪除步驟第5次嘗試的內(nèi)容,參考,sudo vim /var/www/html/ubuntu-server.seed,在尾部添加:
d-i netcfg/choose_interface select eth0
d-i netcfg/dhcp_timeout string 60
d-i netcfg/get_hostname string ubuntu
d-i netcfg/get_domain string ubuntu-domain
問(wèn)題依舊。
7、刪除步驟第6次嘗試的內(nèi)容,參考基于PXE和preseed安裝Ubuntu-14.04 Server 64位操作系統(tǒng),sudo vim /var/www/html/ubuntu-server.seed,在尾部添加:
d-i netcfg/choose_interface select eth0
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Do not configure the network at this time
d-i netcfg/get_hostname string ubuntu
d-i netcfg/get_domain string ubuntu-domain
問(wèn)題依舊。
8、參考附錄 B. 使用預(yù)置自動(dòng)進(jìn)行安裝,sudo vim /var/www/html/ubuntu-server.seed,在尾部添加:
# If you prefer to configure the network manually, uncomment this line and
# the static network configuration below.
d-i netcfg/disable_dhcp boolean true
d-i netcfg/disable_autoconfig boolean true
d-i netcfg/use_autoconfig boolean false
# If you want the preconfiguration file to work on systems both with and
# without a dhcp server, uncomment these lines and the static network
# configuration below.
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually
# Static network configuration.
#
# IPv4 example
d-i netcfg/get_ipaddress string 10.0.0.134
d-i netcfg/get_netmask string 255.0.0.0
d-i netcfg/get_gateway string 10.0.0.100
d-i netcfg/get_nameservers string 10.0.0.100
d-i netcfg/confirm_static boolean true
問(wèn)題依舊。感覺(jué)netcfg這個(gè)系列的命令根本沒(méi)有生效!
附錄 B. 使用預(yù)置自動(dòng)進(jìn)行安裝一文中說(shuō),例如,為網(wǎng)卡設(shè)置靜態(tài)地址。它使加載了預(yù)置文件以后網(wǎng)絡(luò)預(yù)置再運(yùn)行一次,這需要將下面的命令包含在 “preseed/run” 腳本里面:
kill-all-dhcp; netcfg
于是在Is it possible to download a bash script and execute it from a preseed file?和kill-all-dhcp中找到了使用腳本的方法。
(1)創(chuàng)建腳本
sudo vim /var/www/html/run.sh
寫(xiě)入內(nèi)容為:
#!/bin/sh
# Killall for dhcp clients.
kill-all-dhcp;
netcfg;
for client in dhclient udhcpc pump dhcp6c; do
pid=$(pidof $client) || true
[ "$pid" ] || continue
if kill -0 $pid 2>/dev/null; then
kill -TERM $pid
sleep 1
# Still alive? Die!
if kill -0 $pid 2>/dev/null; then
kill -KILL $pid
fi
fi
done
(2)變更權(quán)限
sudo chmod a+x /var/www/html/run.sh
(3)在ubuntu-server.seed文件中添加一行:
d-i preseed/run string run.sh
問(wèn)題依舊,但是Alt+F2進(jìn)入命令行,發(fā)現(xiàn)獲取的IP確實(shí)沒(méi)有了。
9、莫非,是因?yàn)镈HCP的網(wǎng)段問(wèn)題?折騰了一個(gè)多小時(shí),PXE服務(wù)器地址換成192.168.34.1,DHCP換成了192.168.34.0網(wǎng)段,然而并沒(méi)有什么用。
最終,我猜測(cè)這個(gè)鍋是ubuntu14的,或者是電腦硬件的。在askubuntu上進(jìn)行了提問(wèn),但是沒(méi)有得到滿(mǎn)意的回復(fù)。
分區(qū)問(wèn)題
1、參考Ubuntu Kickstart installation using LVM waits for input,修改ks.cfg文件。
sudo vim /var/www/html/ks.cfg,添加:
preseed partman-lvm/confirm_nooverwrite boolean true
問(wèn)題依舊。
2、sudo vim /var/www/html/ks.cfg,添加:
preseed partman-lvm/confirm_nooverwrite boolean true
preseed partman-lvm/device_remove_lvm boolean true
preseed partman/confirm_write_new_label boolean true
preseed partman/confirm boolean true
preseed partman/confirm_nooverwrite boolean true
問(wèn)題依舊。
3、刪除ks.cfg中添加的內(nèi)容,參考Automated Kickstart Partitioning,sudo vim /var/www/html/ubuntu-server.seed,在末尾加上:
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
分區(qū)成功,吼吼吼!折騰了一整天,總算有點(diǎn)成就,淚流滿(mǎn)面。。。讓我安靜的哭一會(huì)。。。
后記
配置Ubuntu批量自動(dòng)安裝的過(guò)程中,發(fā)現(xiàn)最重要的兩個(gè)文件是/var/www/html/ks.cfg 和 /var/www/html/ubuntu-server.seed,因?yàn)樗麄儍蓚€(gè)是控制交互的。
折騰的過(guò)程中學(xué)到了很多東西,而最終的成果,除了網(wǎng)絡(luò)需要手動(dòng)配置之外,其他都很滿(mǎn)意。我會(huì)繼續(xù)嘗試解決網(wǎng)絡(luò)配置的問(wèn)題,有了進(jìn)展,再更新本文。
書(shū)簽
PXE無(wú)人值守網(wǎng)絡(luò)安裝Ubuntu14.04
Cobbler+preseed自動(dòng)化安裝Ubuntu系統(tǒng)
Ubuntu 16.04.2 LTS PXE全自動(dòng)安裝
u盤(pán)全自動(dòng)安裝 ubuntu server 12.04