{"id":12896,"date":"2019-03-29T01:34:19","date_gmt":"2019-03-29T01:34:19","guid":{"rendered":"http:\/\/www.appservgrid.com\/paw92\/?p=12896"},"modified":"2019-03-29T01:34:19","modified_gmt":"2019-03-29T01:34:19","slug":"how-to-install-ubuntu-via-pxe-server-using-local-dvd-sources","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/03\/29\/how-to-install-ubuntu-via-pxe-server-using-local-dvd-sources\/","title":{"rendered":"How to Install Ubuntu via PXE Server Using Local DVD Sources"},"content":{"rendered":"<p><strong>PXE<\/strong>\u00a0or\u00a0<strong>Preboot eXecution Environment<\/strong>\u00a0is a server-client mechanism which instructs a client machine to boot form network.<\/p>\n<p>In this guide we\u2019ll show how to install\u00a0<strong>Ubuntu Server<\/strong>\u00a0via a\u00a0<strong>PXE<\/strong>\u00a0server with local\u00a0<strong>HTTP<\/strong>\u00a0sources mirrored from Ubuntu server ISO image via Apache web server. The PXE server used in this tutorial is\u00a0<strong>Dnsmasq Server<\/strong>.<\/p>\n<h4>Requirements:<\/h4>\n<ol>\n<li><a href=\"https:\/\/www.tecmint.com\/installation-of-ubuntu-16-04-server-edition\/\" target=\"_blank\" rel=\"noopener\">Ubuntu Server 16.04 or 17.04 Installation<\/a><\/li>\n<li><a href=\"https:\/\/www.tecmint.com\/set-static-ip-address-in-ubuntu-15-10-server\/\" target=\"_blank\" rel=\"noopener\">A network interface configured with Static IP address<\/a><\/li>\n<li><a href=\"https:\/\/www.ubuntu.com\/download\/server\" target=\"_blank\" rel=\"nofollow noopener\">Ubuntu Server 16.04 or 17.04 ISO image<\/a><\/li>\n<\/ol>\n<h3>Step 1: Install and Configure DNSMASQ Server<\/h3>\n<p><strong>1.<\/strong>\u00a0In order to setup the\u00a0<strong>PXE<\/strong>\u00a0server, on the first step login with the root account or an account with root privileges and install\u00a0<strong>Dnsmasq<\/strong>\u00a0package in Ubuntu by issuing the following command.<\/p>\n<pre># apt install dnsmasq\r\n<\/pre>\n<p><strong>2.<\/strong>\u00a0Next, backup\u00a0<strong>dnsmasq<\/strong>\u00a0main configuration file and then start editing the file with the following configurations.<\/p>\n<pre># mv \/etc\/dnsmasq.conf \/etc\/dnsmasq.conf.backup\r\n# nano \/etc\/dnsmasq.conf\r\n<\/pre>\n<p>Add the following configuration to\u00a0<strong>dnsmasq.conf<\/strong>\u00a0file.<\/p>\n<pre>interface=ens33,lo\r\nbind-interfaces\r\ndomain=mypxe.local\r\n\r\ndhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h\r\ndhcp-option=3,192.168.1.1\r\ndhcp-option=6,192.168.1.1\r\ndhcp-option=6,8.8.8.8\r\nserver=8.8.4.4\r\ndhcp-option=28,10.0.0.255\r\ndhcp-option=42,0.0.0.0\r\n\r\ndhcp-boot=pxelinux.0,pxeserver,192.168.1.14\r\n\r\npxe-prompt=\"Press F8 for menu.\", 2\r\npxe-service=x86PC, \"Install Ubuntu 16.04 from network server 192.168.1.14\", pxelinux\r\nenable-tftp\r\ntftp-root=\/srv\/tftp\r\n<\/pre>\n<p>On the above configuration file replace the following lines accordingly.<\/p>\n<ul>\n<li><strong>interface<\/strong>\u00a0Replace with your own machine network interface.<\/li>\n<li><strong>domain<\/strong>\u00a0\u2013 Replace it with your domain name.<\/li>\n<li><strong>dhcp-range<\/strong>\u00a0\u2013 Define your own network range for DHCP to allocate IPs to this network segment and how long should an IP address for a client should be granted.<\/li>\n<li><strong>dhcp-option=3<\/strong>\u00a0\u2013 Your Gateway IP.<\/li>\n<li><strong>dhcp-option=6<\/strong>\u00a0DNS Server IPs \u2013 several DNS IPs can be defined.<\/li>\n<li><strong>server<\/strong>\u00a0\u2013 DNS forwarder IPs Address.<\/li>\n<li><strong>dhcp-option=28<\/strong>\u00a0\u2013 Your network broadcast address.<\/li>\n<li><strong>dhcp-option=42<\/strong>\u00a0\u2013 NTP server \u2013 use 0.0.0.0 Address is for self-reference.<\/li>\n<li><strong>dhcp-boot<\/strong>\u00a0\u2013 the pxe boot file and the IP address of the PXE server (here pxelinux.0 and IP address of the same machine).<\/li>\n<li><strong>pxe-prompt<\/strong>\u00a0\u2013 Uses can hit F8 key to enter PXE menu or wait 2 seconds before automatically switching to PXE menu.<\/li>\n<li><strong>pxe=service<\/strong>\u00a0\u2013 Use x86PC for 32-bit\/64-bit architectures and enter a menu description prompt under string quotes. Other values types can be: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI.<\/li>\n<li><strong>enable-tftp<\/strong>\u00a0\u2013 Enables the build-in TFTP server.<\/li>\n<li><strong>tftp-root<\/strong>\u00a0\u2013 the system path for net boot files.<\/li>\n<\/ul>\n<p><strong>3.<\/strong>\u00a0Also, after you\u2019ve finished editing the\u00a0<strong>dnsmasq<\/strong>\u00a0configuration file, create the directory for the\u00a0<strong>PXE netboot<\/strong>\u00a0files by issuing the below command and restart dnsmasq daemon to apply changes. Check dnsmasq service status to see if it has been started.<\/p>\n<pre># mkdir \/srv\/tftp\r\n# systemctl restart dnsmasq.service\r\n# systemctl status dnsmasq.service\r\n<\/pre>\n<h3>Step 2: Install TFTP Netboot Files<\/h3>\n<p><strong>4.<\/strong>\u00a0On the next step grab the latest version of Ubuntu server ISO image for 64-bit architecture by issuing the following command.<\/p>\n<pre># wget http:\/\/releases.ubuntu.com\/16.04\/ubuntu-16.04.3-server-amd64.iso\r\n<\/pre>\n<p><strong>5.<\/strong>\u00a0After Ubuntu server ISO has been downloaded, mount the image in\u00a0<code>\/mnt<\/code>\u00a0directory and list the mounted directory content by running the below commands.<\/p>\n<pre># mount -o loop ubuntu-16.04.3-desktop-amd64.iso \/mnt\/\r\n# ls \/mnt\/\r\n<\/pre>\n<div id=\"attachment_27254\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27254\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Verify-Ubuntu-ISO-Files.png\" alt=\"Verify Ubuntu ISO Files\" width=\"594\" height=\"149\" aria-describedby=\"caption-attachment-27254\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27254\" class=\"wp-caption-text\">Verify Ubuntu ISO Files<\/p>\n<\/div>\n<p><strong>6.<\/strong>\u00a0Next, copy the\u00a0<strong>netboot<\/strong>\u00a0files from Ubuntu mounted tree to tftp system path by issuing the below command. Also, list tftp system path to see the copied files.<\/p>\n<pre># cp -rf \/mnt\/install\/netboot\/* \/srv\/tftp\/\r\n# ls \/srv\/tftp\/\r\n<\/pre>\n<div id=\"attachment_27255\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27255\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Copy-and-Verify-TFTP-Files.png\" alt=\"Copy and Verify TFTP Files\" width=\"621\" height=\"74\" aria-describedby=\"caption-attachment-27255\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27255\" class=\"wp-caption-text\">Copy and Verify TFTP Files<\/p>\n<\/div>\n<h3>Step 3: Prepare Local Installation Source Files<\/h3>\n<p><strong>7.<\/strong>\u00a0The local network installation sources for Ubuntu server will be provided via HTTP protocol. First, install, start and enable Apache web server by issuing the following commands.<\/p>\n<pre># apt install apache2\r\n# systemctl start apache2\r\n# systemctl status apache2\r\n# systemctl enable apache2<\/pre>\n<p><strong>8.<\/strong>\u00a0Then, copy the content of the mounted\u00a0<strong>Ubuntu DVD<\/strong>\u00a0to Apache web server web root path by executing the below commands. List the content of Apache web root path to check if Ubuntu ISO mounted tree has been completely copied.<\/p>\n<pre># cp -rf \/mnt\/* \/var\/www\/html\/\r\n# ls \/var\/www\/html\/\r\n<\/pre>\n<p><strong>9.<\/strong>\u00a0Next, open HTTP port in firewall and navigate to your machine IP address via a browser (<code>http:\/\/192.168.1.14\/ubuntu<\/code>) in order to test if you can reach sources via HTTP protocol.<\/p>\n<pre># ufw allow http\r\n<\/pre>\n<div id=\"attachment_27256\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27256\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/List-HTTP-Web-Directory.png\" alt=\"Check HTTP Ubuntu Sources\" width=\"649\" height=\"576\" aria-describedby=\"caption-attachment-27256\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27256\" class=\"wp-caption-text\">Check HTTP Ubuntu Sources<\/p>\n<\/div>\n<h3>Step 4: Setup PXE Server Configuration File<\/h3>\n<p><strong>10.<\/strong>\u00a0In order to be able to pivot the rootfs via PXE and local sources, Ubuntu needs to be instructed via a preseed file. Create the following\u00a0<strong>local-sources.seed<\/strong>\u00a0file in your web server document root path with the following content.<\/p>\n<pre># nano \/var\/www\/html\/ubuntu\/preseed\/local-sources.seed\r\n<\/pre>\n<p>Add following line to\u00a0<strong>local-sources.seed<\/strong>\u00a0file.<\/p>\n<pre>d-i live-installer\/net-image string http:\/\/192.168.1.14\/ubuntu\/install\/filesystem.squashfs\r\n<\/pre>\n<p>Here, make sure you replace the IP address accordingly. It should be the IP address where web resources are located. In this guide the web sources, the PXE server and TFTP server are hosted on the same system. In a crowded network you might want to run PXE, TFTP and web services on separate machines in order to improve PXE network speed.<\/p>\n<p><strong>11.<\/strong>\u00a0A PXE Server reads and executes configuration files located in\u00a0<strong>pxelinux.cfg<\/strong>\u00a0TFTP root directory in this order: GUID files, MAC files and default file.<\/p>\n<p>The directory\u00a0<strong>pxelinux.cfg<\/strong>\u00a0is already created and populated with the required PXE configuration files because we\u2019ve earlier copied the netboot files from Ubuntu mounted ISO image.<\/p>\n<p>In order to add the above preseed statement file to Ubuntu installation label in PXE configuration file, open the following file for editing by issuing the below command.<\/p>\n<pre># nano \/srv\/tftp\/ubuntu-installer\/amd64\/boot-screens\/txt.cfg\r\n<\/pre>\n<p>In Ubuntu PXE\u00a0<strong>txt.cfg<\/strong>\u00a0configuration file replace the following line as illustrated in the below excerpt.<\/p>\n<pre>append auto=true url=http:\/\/192.168.1.14\/ubuntu\/preseed\/local-sources.seed vga=788 initrd=ubuntu-installer\/amd64\/initrd.gz --- quiet\r\n<\/pre>\n<p>The\u00a0<strong>\/srv\/tftp\/ubuntu-installer\/amd64\/boot-screens\/txt.cfg<\/strong>\u00a0file should have the following global content:<\/p>\n<pre>default install\r\nlabel install\r\n\tmenu label ^Install Ubuntu 16.04 with Local Sources\r\n\tmenu default\r\n\tkernel ubuntu-installer\/amd64\/linux\r\n\tappend auto=true url=http:\/\/192.168.1.14\/ubuntu\/preseed\/local-sources.seed vga=788 initrd=ubuntu-installer\/amd64\/initrd.gz --- quiet \r\nlabel cli\r\n\tmenu label ^Command-line install\r\n\tkernel ubuntu-installer\/amd64\/linux\r\n\tappend tasks=standard pkgsel\/language-pack-patterns= pkgsel\/install-language-support=false vga=788 initrd=ubuntu-installer\/amd64\/initrd.gz --- quiet\r\n<\/pre>\n<p><strong>12.<\/strong>\u00a0In case you want to add the preseed url statement to\u00a0<strong>Ubuntu Rescue<\/strong>\u00a0menu, open the below file and make sure you update the content as illustrated in the below example.<\/p>\n<pre># nano \/srv\/tftp\/ubuntu-installer\/amd64\/boot-screens\/rqtxt.cfg\r\n<\/pre>\n<p>Add the followng configuration to\u00a0<strong>rqtxt.cfg<\/strong>\u00a0file.<\/p>\n<pre>label rescue\r\n\tmenu label ^Rescue mode\r\n\tkernel ubuntu-installer\/amd64\/linux\r\n\tappend 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\r\n<\/pre>\n<p>The important line you should update is\u00a0<strong>url=http:\/\/192.168.1.14\/ubuntu\/preseed\/local-sources.seed<\/strong>\u00a0which specifies the URL address where the pressed file is located in your network.<\/p>\n<p><strong>13.<\/strong>\u00a0Finally, open Ubuntu pxe\u00a0<strong>menu.cfg<\/strong>\u00a0file and comment the first three lines in order to expand the PXE boot screen as illustrated in the below screenshot.<\/p>\n<pre># nano \/srv\/tftp\/ubuntu-installer\/amd64\/boot-screens\/menu.cfg\r\n<\/pre>\n<p>Comment these three following lines.<\/p>\n<pre>#menu hshift 13\r\n#menu width 49\r\n#menu margin 8\r\n<\/pre>\n<div id=\"attachment_27257\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27257\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/PXE-Menu-Configuration.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/PXE-Menu-Configuration.png 800w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/PXE-Menu-Configuration-768x576.png 768w\" alt=\"PXE Menu Configuration\" width=\"800\" height=\"600\" aria-describedby=\"caption-attachment-27257\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27257\" class=\"wp-caption-text\">PXE Menu Configuration<\/p>\n<\/div>\n<h3>Step 5: Open Firewall Ports in Ubuntu<\/h3>\n<p><strong>14.<\/strong>\u00a0Execute\u00a0<a href=\"https:\/\/www.tecmint.com\/20-netstat-commands-for-linux-network-management\/\" target=\"_blank\" rel=\"noopener\">netstat command<\/a>\u00a0with root privileges to identify dnsmasq, tftp and web open ports in listening state on your server as illustrated in the below excerpt.<\/p>\n<pre># netstat -tulpn\r\n<\/pre>\n<div id=\"attachment_27258\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27258\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Verify-Open-Ports.png\" sizes=\"auto, (max-width: 788px) 100vw, 788px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Verify-Open-Ports.png 788w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Verify-Open-Ports-768x359.png 768w\" alt=\"Verify Open Ports\" width=\"788\" height=\"368\" aria-describedby=\"caption-attachment-27258\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27258\" class=\"wp-caption-text\">Verify Open Ports<\/p>\n<\/div>\n<p><strong>15.<\/strong>\u00a0After you\u2019ve identified all required ports, issue the below commands to open the ports in\u00a0<a href=\"https:\/\/www.tecmint.com\/how-to-install-and-configure-ufw-firewall\/\" target=\"_blank\" rel=\"noopener\">ufw firewall<\/a>.<\/p>\n<pre># ufw allow 53\/tcp\r\n# ufw allow 53\/udp\r\n# ufw allow 67\/udp\r\n# ufw allow 69\/udp\r\n# ufw allow 4011\/udp\r\n<\/pre>\n<h3>Step 6: Install Ubuntu with Local Sources via PXE<\/h3>\n<p><strong>16.<\/strong>\u00a0To install Ubuntu server via PXE and use the local network installation sources, reboot your machine client, instruct the BIOS to boot from network and at the first PXE menu screen choose the first option as illustrated in the below images.<\/p>\n<div id=\"attachment_27259\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27259\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Select-Network-Boot.png\" alt=\"Select Network Boot\" width=\"640\" height=\"480\" aria-describedby=\"caption-attachment-27259\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27259\" class=\"wp-caption-text\">Select Network Boot<\/p>\n<\/div>\n<div id=\"attachment_27260\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27260\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Select-PXE-Boot-Option.png\" alt=\"Select PXE Boot Option\" width=\"712\" height=\"167\" aria-describedby=\"caption-attachment-27260\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27260\" class=\"wp-caption-text\">Select PXE Boot Option<\/p>\n<\/div>\n<div id=\"attachment_27261\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27261\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Ubuntu-Install-via-PXE.png\" alt=\"Install Ubuntu using PXE\" width=\"640\" height=\"480\" aria-describedby=\"caption-attachment-27261\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27261\" class=\"wp-caption-text\">Install Ubuntu using PXE<\/p>\n<\/div>\n<p><strong>17.<\/strong>\u00a0The installation procedure should be performed as usual. When the installer reaches the\u00a0<strong>Ubuntu archive mirror country<\/strong>\u00a0setup, use the up keyboard arrow to move to the first option, which says:\u00a0<strong>enter information manually<\/strong>.<\/p>\n<div id=\"attachment_27262\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27262\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Select-Ubuntu-Mirror-Archive.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Select-Ubuntu-Mirror-Archive.png 800w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Select-Ubuntu-Mirror-Archive-768x576.png 768w\" alt=\"Select Ubuntu Mirror Archive\" width=\"800\" height=\"600\" aria-describedby=\"caption-attachment-27262\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27262\" class=\"wp-caption-text\">Select Ubuntu Mirror Archive<\/p>\n<\/div>\n<p><strong>18.<\/strong>\u00a0Press\u00a0<strong>[enter]<\/strong>\u00a0key to update this option, delete the mirror string and add the IP address of the web server mirror sources and press enter to continue as illustrated in the below image.<\/p>\n<pre>http:\/\/192.168.1.14\r\n<\/pre>\n<div id=\"attachment_27263\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27263\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Enter-Ubuntu-Mirror-Archive-Hostname.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Enter-Ubuntu-Mirror-Archive-Hostname.png 800w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Enter-Ubuntu-Mirror-Archive-Hostname-768x576.png 768w\" alt=\"Enter Ubuntu Mirror Archive Hostname\" width=\"800\" height=\"600\" aria-describedby=\"caption-attachment-27263\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27263\" class=\"wp-caption-text\">Enter Ubuntu Mirror Archive Hostname<\/p>\n<\/div>\n<p><strong>19.<\/strong>\u00a0On the next screen, add your mirror archive directory as shown below and press enter key to continue with the installation process and usually.<\/p>\n<pre>\/ubuntu\r\n<\/pre>\n<div id=\"attachment_27264\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27264\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Select-Ubuntu-Mirror-Archive-Directory.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Select-Ubuntu-Mirror-Archive-Directory.png 800w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Select-Ubuntu-Mirror-Archive-Directory-768x576.png 768w\" alt=\"Select Ubuntu Mirror Archive Directory\" width=\"800\" height=\"600\" aria-describedby=\"caption-attachment-27264\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27264\" class=\"wp-caption-text\">Select Ubuntu Mirror Archive Directory<\/p>\n<\/div>\n<p><strong>20.<\/strong>\u00a0In case you want to see information about what packages are downloaded from your network local mirror, press\u00a0<code>[CTRL+ALT+F2]<\/code>\u00a0keys in order to change machine virtual console and issue the following command.<\/p>\n<pre># tail \u2013f \/var\/log\/syslog\r\n<\/pre>\n<div id=\"attachment_27265\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27265\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Check-Network-Mirror-Logs.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Check-Network-Mirror-Logs.png 800w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Check-Network-Mirror-Logs-768x576.png 768w\" alt=\"Check Network Mirror Logs\" width=\"800\" height=\"600\" aria-describedby=\"caption-attachment-27265\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27265\" class=\"wp-caption-text\">Check Network Mirror Logs<\/p>\n<\/div>\n<p><strong>21.<\/strong>\u00a0After the installation of the Ubuntu server finishes, login to the newly installed system and run the following command with root privileges in order to update the repositories packages from local network sources to official Ubuntu mirrors.<\/p>\n<p>The mirrors needs to be changed in order to update the system using the internet repositories.<\/p>\n<pre>$ sudo sed \u2013i.bak \u2018s\/192.168.1.14\/archive.ubuntu.com\/g\u2019 \/etc\/apt\/sources.list\r\n<\/pre>\n<div id=\"attachment_27266\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27266\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Change-Ubuntu-Network-Sources.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Change-Ubuntu-Network-Sources.png 800w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Change-Ubuntu-Network-Sources-768x576.png 768w\" alt=\"Change Ubuntu Network Sources\" width=\"800\" height=\"600\" aria-describedby=\"caption-attachment-27266\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27266\" class=\"wp-caption-text\">Change Ubuntu Network Sources<\/p>\n<\/div>\n<p>Assure you replace the IP address according to the IP address of your own web local sources.<\/p>\n<div id=\"attachment_27267\" class=\"wp-caption aligncenter\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27267\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Official-Ubuntu-Network-Sources.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Official-Ubuntu-Network-Sources.png 800w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2017\/09\/Official-Ubuntu-Network-Sources-768x576.png 768w\" alt=\"Official Ubuntu Network Sources\" width=\"800\" height=\"600\" aria-describedby=\"caption-attachment-27267\" data-lazy-loaded=\"true\" \/><\/p>\n<p id=\"caption-attachment-27267\" class=\"wp-caption-text\">Official Ubuntu Network Sources<\/p>\n<\/div>\n<p>That\u2019s all! You can now update your Ubuntu server system and install all required software. Installing Ubuntu via PXE and a local network source mirror can improve the installation speed and can save internet bandwidth and costs in case of deploying a large number of servers in a short period of time at your premises.<\/p>\n<p><a href=\"https:\/\/www.tecmint.com\/install-ubuntu-via-pxe-server-using-local-dvd-sources\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PXE\u00a0or\u00a0Preboot eXecution Environment\u00a0is a server-client mechanism which instructs a client machine to boot form network. In this guide we\u2019ll show how to install\u00a0Ubuntu Server\u00a0via a\u00a0PXE\u00a0server with local\u00a0HTTP\u00a0sources mirrored from Ubuntu server ISO image via Apache web server. The PXE server used in this tutorial is\u00a0Dnsmasq Server. Requirements: Ubuntu Server 16.04 or 17.04 Installation A network &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/03\/29\/how-to-install-ubuntu-via-pxe-server-using-local-dvd-sources\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;How to Install Ubuntu via PXE Server Using Local DVD Sources&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12896","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/12896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/comments?post=12896"}],"version-history":[{"count":1,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/12896\/revisions"}],"predecessor-version":[{"id":12897,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/12896\/revisions\/12897"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/media?parent=12896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/categories?post=12896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/tags?post=12896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}