Giunsa ang Pag-install sa Ubuntu pinaagi sa PXE Server Gamit ang Lokal nga Mga Tinubdan sa DVD


Ang PXE o Preboot eXecution Environment usa ka mekanismo sa server-client nga nagmando sa makina sa kliyente nga mag-boot sa porma sa network.

Sa kini nga giya ipakita namon kung giunsa ang pag-install sa Ubuntu Server pinaagi sa usa ka PXE server nga adunay mga lokal nga gigikanan sa HTTP nga gisalamin gikan sa imahe sa ISO sa Ubuntu server pinaagi sa Apache web server. Ang PXE server nga gigamit niini nga tutorial mao ang Dnsmasq Server.

  1. Ubuntu Server 16.04 o 17.04 nga Pag-install
  2. Usa ka interface sa network nga gi-configure gamit ang Static IP address
  3. Ubuntu Server 16.04 o 17.04 ISO nga hulagway

Lakang 1: I-install ug I-configure ang DNSMASQ Server

1. Aron ma-setup ang PXE server, sa unang lakang pag-login gamit ang root account o usa ka account nga adunay root privileges ug i-install ang Dnsmasq package sa Ubuntu pinaagi sa pag-isyu sa mosunod nga command.

# apt install dnsmasq

2. Sunod, i-backup ang dnsmasq main configuration file ug dayon sugdi ang pag-edit sa file gamit ang mosunod nga mga configuration.

# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
# nano /etc/dnsmasq.conf

Idugang ang mosunod nga configuration sa dnsmasq.conf file.

interface=ens33,lo
bind-interfaces
domain=mypxe.local

dhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
dhcp-option=6,8.8.8.8
server=8.8.4.4
dhcp-option=28,10.0.0.255
dhcp-option=42,0.0.0.0

dhcp-boot=pxelinux.0,pxeserver,192.168.1.14

pxe-prompt="Press F8 for menu.", 2
pxe-service=x86PC, "Install Ubuntu 16.04 from network server 192.168.1.14", pxelinux
enable-tftp
tftp-root=/srv/tftp

Sa ibabaw nga configuration file ilisan ang mosunod nga mga linya sumala niana.

  • interface Ilisan sa imong kaugalingong machine network interface.
  • domain – Ilisan kini sa imong domain name.
  • dhcp-range – Itakda ang imong kaugalingong network range para sa DHCP nga mag-alokar og mga IP niining bahin sa network ug kung unsa kadugay ang usa ka IP address para sa usa ka kliyente kinahanglan ihatag.
  • dhcp-option=3 – Imong Gateway IP.
  • dhcp-option=6 DNS Server IPs – ubay-ubay nga DNS IPs ang mahimong ipasabot.
  • server – DNS forwarder IPs Address.
  • dhcp-option=28 – Ang imong adres sa broadcast sa network.
  • dhcp-option=42 – NTP server – gamita ang 0.0.0.0 Address kay para sa self-reference.
  • dhcp-boot – ang pxe boot file ug ang IP address sa PXE server (dinhi pxelinux.0 ug IP address sa samang makina).
  • pxe-prompt – Ang mga gamit mahimong moigo sa F8 key para makasulod sa PXE menu o maghulat ug 2 segundos sa dili pa awtomatikong mobalhin sa PXE menu.
  • pxe=service – Gamita ang x86PC para sa 32-bit/64-bit nga mga arkitektura ug isulod ang usa ka menu deskripsyon prompt ubos sa string quotes. Ang ubang mga matang sa bili mahimong: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI ug X86-64_EFI.
  • enable-tftp – Makapahimo sa build-in TFTP server.
  • tftp-root – ang agianan sa sistema alang sa net boot files.

3. Usab, human nimo mahuman ang pag-edit sa dnsmasq configuration file, paghimo sa direktoryo alang sa PXE netboot files pinaagi sa pag-isyu sa ubos nga sugo ug i-restart ang dnsmasq daemon aron magamit ang mga kausaban. Susiha ang kahimtang sa serbisyo sa dnsmasq aron makita kung nasugdan na ba.

# mkdir /srv/tftp
# systemctl restart dnsmasq.service
# systemctl status dnsmasq.service

Lakang 2: I-install ang TFTP Netboot Files

4. Sa sunod nga lakang kuhaa ang pinakabag-o nga bersyon sa Ubuntu server ISO image para sa 64-bit nga arkitektura pinaagi sa pag-isyu sa mosunod nga sugo.

# wget http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso

5. Human ma-download ang Ubuntu server ISO, i-mount ang imahe sa /mnt directory ug ilista ang gi-mount nga directory content pinaagi sa pagpadagan sa ubos nga mga command.

# mount -o loop ubuntu-16.04.3-desktop-amd64.iso /mnt/
# ls /mnt/

6. Sunod, kopyaha ang netboot files gikan sa Ubuntu mounted tree ngadto sa tftp system path pinaagi sa pag-isyu sa ubos nga sugo. Usab, ilista ang tftp system path aron makita ang mga gikopya nga mga file.

# cp -rf /mnt/install/netboot/* /srv/tftp/
# ls /srv/tftp/

Lakang 3: Pag-andam sa Lokal nga Pag-install nga Mga Source Files

7. Ang lokal nga mga tinubdan sa pag-instalar sa network alang sa Ubuntu server ihatag pinaagi sa HTTP protocol. Una, pag-instalar, pagsugod ug pagpagana sa Apache web server pinaagi sa pag-isyu sa mosunod nga mga sugo.

# apt install apache2
# systemctl start apache2
# systemctl status apache2
# systemctl enable apache2

8. Dayon, kopyaha ang sulod sa gi-mount Ubuntu DVD ngadto sa Apache web server web root path pinaagi sa pagpatuman sa ubos nga mga sugo. Ilista ang sulod sa Apache web root path aron masusi kung ang Ubuntu ISO mounted tree nakopya na ba.

# cp -rf /mnt/* /var/www/html/
# ls /var/www/html/

9. Sunod, ablihi ang HTTP port sa firewall ug i-navigate sa imong machine IP address pinaagi sa browser (http://192.168.1.14/ubuntu) aron masulayan kung maabot nimo ang mga tinubdan pinaagi sa HTTP protocol.

# ufw allow http

Lakang 4: I-setup ang PXE Server Configuration File

10. Aron makahimo sa pag-pivot sa mga rootfs pinaagi sa PXE ug lokal nga mga tinubdan, ang Ubuntu kinahanglan nga itudlo pinaagi sa usa ka preseed file. Paghimo sa mosunod nga local-sources.seed file sa imong web server document root path nga adunay mosunod nga sulod.

# nano /var/www/html/ubuntu/preseed/local-sources.seed

Idugang ang mosunod nga linya sa local-sources.seed file.

d-i live-installer/net-image string http://192.168.1.14/ubuntu/install/filesystem.squashfs

Dinhi, siguroha nga imong ilisan ang IP address sumala niana. Kini kinahanglan nga ang IP address diin nahimutang ang mga kapanguhaan sa web. Niini nga giya ang mga tinubdan sa web, ang PXE server ug TFTP server gi-host sa samang sistema. Sa usa ka naghuot nga network mahimo nimong gusto nga modagan ang PXE, TFTP ug mga serbisyo sa web sa lainlain nga mga makina aron mapaayo ang katulin sa network sa PXE.

11. Usa ka PXE Server nagbasa ug nagpatuman sa mga configuration file nga nahimutang sa pxelinux.cfg TFTP root directory niini nga han-ay: GUID files, MAC files ug default file.

Ang direktoryo nga pxelinux.cfg nahimo na ug napuno sa gikinahanglan nga PXE nga mga file sa pag-configure tungod kay una namong gikopya ang mga file sa netboot gikan sa Ubuntu nga nag-mount sa ISO nga imahe.

Aron madugang ang preseed statement file sa ibabaw sa label sa pag-install sa Ubuntu sa PXE configuration file, ablihi ang mosunod nga file para sa pag-edit pinaagi sa pag-isyu sa ubos nga sugo.

# nano /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg

Sa Ubuntu PXE txt.cfg configuration file pulihan ang mosunod nga linya sama sa gihulagway sa ubos nga kinutlo.

append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

Ang /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg nga file kinahanglang adunay mosunod nga global content:

default install
label install
	menu label ^Install Ubuntu 16.04 with Local Sources
	menu default
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed 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

12. Sa kaso nga gusto nimong idugang ang preseed url nga pahayag sa Ubuntu Rescue menu, ablihi ang ubos nga file ug siguroha nga imong i-update ang sulod sama sa gihulagway sa ubos nga pananglitan.

# nano /srv/tftp/ubuntu-installer/amd64/boot-screens/rqtxt.cfg

Idugang ang mosunod nga configuration sa rqtxt.cfg file.

label rescue
	menu label ^Rescue mode
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet

Ang importante nga linya nga kinahanglan nimong i-update mao ang url=http://192.168.1.14/ubuntu/preseed/local-sources.seed nga nagtino sa URL nga adres kung asa nahimutang ang napindot nga file sa imong network.

13. Sa katapusan, ablihi ang Ubuntu pxe menu.cfg file ug ikomento ang unang tulo ka linya aron mapalapad ang PXE boot screen sama sa gihulagway sa ubos nga screenshot.

# nano /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg

Komento kining tulo ka mosunod nga linya.

#menu hshift 13
#menu width 49
#menu margin 8

Lakang 5: Ablihi ang Firewall Ports sa Ubuntu

14. I-execute ang netstat command nga adunay root privileges para mailhan ang dnsmasq, tftp ug web open ports sa listening state sa imong server sama sa gihulagway sa ubos nga kinutlo.

# netstat -tulpn

15. Human nimo mailhan ang tanang gikinahanglan nga mga pantalan, ipagawas ang mga sugo sa ubos aron maablihan ang mga pantalan sa ufw firewall.

# ufw allow 53/tcp
# ufw allow 53/udp
# ufw allow 67/udp
# ufw allow 69/udp
# ufw allow 4011/udp

Lakang 6: I-install ang Ubuntu sa Lokal nga Mga Tinubdan pinaagi sa PXE

16. Aron i-install ang Ubuntu server pinaagi sa PXE ug gamiton ang lokal nga mga tinubdan sa pag-install sa network, i-reboot ang imong kliyente sa makina, itudlo ang BIOS sa pag-boot gikan sa network ug sa unang PXE menu screen pilia ang unang opsyon sama sa gihulagway sa ubos nga mga hulagway.

17. Ang pamaagi sa pag-instalar kinahanglan nga himuon sama sa naandan. Kung ang installer makaabot sa Ubuntu archive mirror setup sa nasud, gamita ang pataas nga keyboard arrow aron mobalhin sa unang opsyon, nga nag-ingon: manually enter information.

18. Pindota ang [enter] key aron ma-update kini nga opsyon, tangtanga ang mirror string ug idugang ang IP address sa web server mirror sources ug pindota ang enter aron magpadayon sama sa gihulagway sa ubos nga hulagway.

http://192.168.1.14

19. Sa sunod nga screen, idugang ang imong mirror archive directory sama sa gipakita sa ubos ug pindota ang enter key aron makapadayon sa proseso sa pag-instalar ug kasagaran.

/ubuntu

20. Kung gusto nimo makakita og impormasyon mahitungod sa unsa nga mga pakete ang gi-download gikan sa imong network nga lokal nga salamin, pindota ang [CTRL+ALT+F2] nga mga yawe aron mausab ang machine virtual console ug i-issue ang mosunod nga sugo.

# tail –f /var/log/syslog

21. Pagkahuman sa pag-install sa Ubuntu server, pag-login sa bag-ong na-install nga sistema ug pagdagan ang mosunud nga mando nga adunay mga pribilehiyo sa gamut aron ma-update ang mga pakete sa repository gikan sa mga gigikanan sa lokal nga network hangtod sa opisyal nga mga salamin sa Ubuntu.

Kinahanglang usbon ang mga salamin aron ma-update ang sistema gamit ang internet repository.

$ sudo sed –i.bak ‘s/192.168.1.14/archive.ubuntu.com/g’ /etc/apt/sources.list

Siguruha nga imong ilisan ang IP address sumala sa IP address sa imong kaugalingon nga web lokal nga gigikanan.

Kana lang! Mahimo nimong i-update ang imong Ubuntu server system ug i-install ang tanan nga gikinahanglan nga software. Ang pag-instalar sa Ubuntu pinaagi sa PXE ug usa ka salamin sa tinubdan sa lokal nga network makapauswag sa katulin sa pag-instalar ug makadaginot sa bandwidth sa internet ug mga gasto sa kaso sa pag-deploy sa daghang mga server sa mubo nga panahon sa imong lugar.