您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何安裝Ubuntu16.04的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
PXE是Pre-boot Execution Environment,預啟動執行環境。是通過網絡安裝任何linux系統最重要的步驟。 首選搭建PXE服務器,然后再把PXE服務器和要安裝Ubuntu16.04的主機放在同一個局域網中。最后設置被安裝主機以pxe方式啟動。 有個文章介紹原理很清楚 http://www.cnblogs.com/zhangjianghua/p/5872269.html
sudo apt-get install isc-dhcp-server
配置網卡名稱sudo vi /etc/default/isc-dhcp-server
中的INTERFACES改為自己網卡名稱.(默認為空字符串)
配置dhcpd,編輯sudo vi /etc/dhcp/dhcpd.conf
文件
option domain-name "localhost"; # 必須要改,否則syslog報異常,pxe client IP無法獲取 option domain-name-servers 本機IP地址; # 必須要改 allow booting; allow bootp; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.30; option subnet-mask 255.255.255.0; option routers 本機IP地址; option broadcast-address 192.168.1.255; next-server 本機IP地址; filename "pxelinux.0"; } # 下面不寫也行,就是為了指定主機的 host anyname { hardware ethernet 被安裝主機MAC地址; filename "pxelinux.0"; }
以上測試真實有效。注意:后面都有分號結束; 本機IP地址必須也要在192.168.1.0/24網段中。
啟動dhcp服務
sudo /etc/init.d/isc-dhcp-server start
注意: 為了不影響公司的局域網,最后與外部的局域網斷開,只把pxe服務器和被安裝主機用交換機連接起來。或者使用與公司不同的網段。
sudo apt-get install tftpd-hpa sudo apt-get install tftp-hpa sudo apt-get install inetutils-inetd
這個命令是/usr/sbin/in.tftpd,其服務的腳本是/etc/init.d/tftpd。所以你可以通過下面啟動此服務。
sudo service tftpd-hpa start
服務啟動后,可以通過tftp客戶端命令來嘗試tftpd服務是否正常運行。怎么測試呢?首先新建一個測試文件放到/var/lib/tftpboot/目錄下。然后輸入以下命令:
sudo tftp localhost > get <測試文件名> > quit
如果文件下載到了當前目錄下,那就說明測試成功。 網上好多文章都說要修改配置文件/etc/default/tftpd-hpa,修改內容如下:
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure" # 下面是新增的,但不知道為什么要加,估計不寫也行 RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"
我不太喜歡NFS,感覺太慢,還是apache比較快些。
sudo apt-get install apache2
我是使用Oracle VirtualBox安裝的ubuntu16.04系統作為pxe服務器,所以需要把網絡改成橋接網絡,不用重啟虛擬機,只要在ubuntu系統中重啟網絡就可以了。運行/etc/init.d/networking restart
命令獲取一下最近IP地址. 這時候訪問http://host_ip/地址就會顯示apache默認主頁。 (apache安裝完了自動啟動)
把ubuntu的ISO放到/var/www/html(apache的web根目錄)目錄下。
sudo wget https://mirror.tuna.tsinghua.edu.cn/ubuntu-releases/16.04/ubuntu-16.04.2-server-amd64.iso
文件大約829M。
ISO不能直接用,除非使用nfs。需要先mount
sudo mount -o loop ubuntu.iso /mnt
然后把里面的install/netboot中所有內容復制到/var/lib/tftpboot中。
netboot文件下載后放到/var/lib/tftpboot目錄下,用于引導被安裝主機的啟動。
cd /var/lib/tftpboot wget http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-i386/current/images/netboot/netboot.tar.gz
文件大約20M。 下載之后開始解壓
sudo tar -xzvf netboot.tar.gz
解壓后就會出現pxelinux.0文件。
新版本ubuntu的pxe已經不在/var/lib/tftpboot/pxelinux.cfg/default文件中了,而是在/var/lib/tftpboot/ubuntu-installer/i386/boot-screens/txt.cfg文件中。label后面也不是Linux了,而是install。更改append后面的內容.
append vga=788 initrd=ubuntu-installer/i386/initrd.img ks=http://192.168.1.10/ks.cfg #告訴系統,從哪里獲取ks.cfg文件
上面的配置說明使用ks.cfg來安裝ubuntu,那么這個ks.cfg要放到/var/www/html目錄下。
給被安裝的主機加電,進入BIOS,選擇從網卡啟動(或者被稱為PXE)。然后就會進入DHCP獲取階段,這時候如果出現問題,那么就可以到pxe服務器上查看/var/log/syslog日志報錯信息。如果沒有任何信息,看看防火墻有沒有關閉。
如果是正常信息,會打印出
dhcpd[進程ID] DHCPDISCOVER from MAC地址 via 網卡名稱 dhcpd[進程ID] DHCPOFFER on 分配的IP地址 to MAC地址 via 網卡名稱 dhcpd[進程ID] DHCPREQUEST for 分配IP地址(DHCP服務IP地址) from MAC地址 via 網卡名稱 dhcpd[進程ID] DHCPACK on 分配的IP地址 to MAC地址 via 網卡名稱
之后被安裝主機會顯示一個圖形菜單。選擇install, 竟然從cn.archive.ubuntu.com上下載鏡像,而不是從我的pxe服務器。
安裝過程中遇到太多的坑了。
首先是網卡識別不了---> 發現是由于netboot與ISO中估計不一樣導致,使用ISO中install/netboot覆蓋/var/lib/tftpboot就可以了。
之后出現Installation step failed錯誤,查了網上http://www.michaelm.info/blog/?p=1378說的解決方法,但是d-i是什么鬼呀。又去查了一下,找到這個http://mole1230.blog.51cto.com/837625/1430489。算了沒時間看了。
先把ISO掛載到/mnt目錄下,把里面的東西cp -avr /mnt/* /var/www/html/ubuntu/
復制到apache下面。
使用ISO中的netboot: cp -avr /mnt/install/netboot/* /var/lib/tftpboot
可能需要ks.cfg,直接使用ISO是不行(東西拿出來散放),除非使用nfs方式(這個我沒有試驗)。
vi /var/lib/tftpboot/pxelinux.cfg/default #在最后增加如下內容 label linux kernel ubuntu-installer/amd64/linux append ks=http://192.168.1.20/ks.cfg vga=normal initrd=ubuntu-installer/amd64/initrd.gz 還有一種 label linux kernel ubuntu-installer/amd64/linux append vga=798 initrd=ubuntu-installer/amd64/initrd.gz url=http://<your_local_server>/preseed.seed
preseed.seed文件在/var/www/html中,內容如下:
d-i clock-setup/utc boolean true d-i time/zone string Europe/Ljubljana d-i console-setup/ask_detect boolean false d-i console-setup/layoutcode string sl d-i debian-installer/language string English d-i debian-installer/country string SI d-i debian-installer/locale string en_US.UTF-8 d-i keyboard-configuration/layout select Slovenian d-i keyboard-configuration/variant select Slovenian d-i keyboard-configuration/layoutcode string sl d-i keyboard-configuration/xkb-keymap select sl d-i mirror/country string manual d-i mirror/http/hostname string netboot.abakus.si (替換成你的) d-i mirror/http/directory string /iso/ubuntus1404_64(替換成你的) d-i mirror/http/proxy string d-i apt-setup/restricted boolean true d-i apt-setup/universe boolean true d-i apt-setup/backports boolean true d-i apt-setup/services-select multiselect security d-i apt-setup/security_host string netboot.abakus.si d-i apt-setup/security_path string /iso/ubuntus1404_64/ (替換成你的) d-i live-installer/net-image string http://<your_local_server>/iso/install/filesystem.squashfs #d-i debian-installer/allow_unauthenticated boolean true d-i preseed/late_command string wget http://<your_local_server>/boot/sources.list -O /target/etc/apt/sources.list
上面過程參考:http://linux.opm.si/programska-oprema/ubuntu-14-04-network-install。 不知道好不好使 :D
中間過程如果出問題,可以點擊continue繼續安裝,如果不能繼續,那就....認倒霉
后來才知道,dnsmasq竟然可以替換dhcp+tftp兩個軟件。
沒有時間折騰的人,盡量還是不要使用pxe安裝了。
最后還是通過公網的ubuntu安裝的,本地安裝沒有測試通過。也就是說通過本地pxe讓ubuntu引導起來,安裝過程所需的文件還是從網上下載的。
感謝各位的閱讀!關于“如何安裝Ubuntu16.04”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。