root 发表于 2019-2-19 09:52:18

pxe安装ubuntu 及脚本

  

  环境:ubuntu 16.04 LTS server
ip地址:192.168.159.3
需要文件:ubuntu-server-16.04.2-LTS.ISO
目的:通过pxe安装方式实现自动安装
步骤:
一、修改文件打开数
主要在 /etc/security/limits.conf中添加如下参数

  * soft nofile 1048576
  * hard nofile 1048576
  root soft nofile 1048576
  root hard nofile 1048576
  * soft nproc 80480
  * hard nproc 80960
  root soft nproc 80480
  root hard nproc 80960

二、修改安装相应的主机tfpd、dhcp server、http server和dns 服务器
sudo apt-get install -y isc-dhcp-server tftpd-hpa tftp-hpa apache2 bind9
1、配置dhcp server   文件位置 /etc/dhcp/dhcpd.conf ,内容如下
  subnet 192.168.159.0 netmask 255.255.255.0 {
  range 192.168.159.4 192.168.159.100;
  option subnet-mask 255.255.255.0;
  option routers 192.168.159.2;
  option broadcast-address 192.168.159.255;
  default-lease-time 600;
  max-lease-time 7200;
  filename "pxelinux.0";
  next-Server 192.168.159.3;
  }

  2、配置DNS
在/etc/bind/named.conf.local 添加如下
  zone "ubuntu.com" {
        type master;
        file "/etc/bind/db.ubuntu";
  };
  添加新的文件 /etc/bind/db.ubuntu

  $TTL    604800
  @       IN      SOA   localhost. root.localhost. (
                                1         ; Serial
                           604800         ; Refresh
                          86400         ; Retry
                          2419200         ; Expire
                           604800 )       ; Negative Cache TTL
  ;
  @       IN      NS      localhost.
  *.archive.ubuntu.com.   IN      A 192.168.159.3

  
3.配置http server建议使用apache,原因是只要一个iso文件就全ok了,可以不依赖网络
(原先使用的nginx,总脚本中注销了nginx,如使用nginx的请注释掉apache的并参考总脚本,这里以apache为准)
apache配置,文件位置/etc/apache2/sites-available/000-default.conf,执行下面的脚本

  sudo sed -i 's?/var/www/html?/var/lib/tftpboot/Ubuntu/16.04/amd64/?g' /etc/apache2/sites-available/000-default.conf
  sudo sed -i 13i"\    " /etc/apache2/sites-available/000-default.conf
  sudo sed -i 14i"\      Options Indexes" /etc/apache2/sites-available/000-default.conf
  sudo sed -i 15i"\      AllowOverride All" /etc/apache2/sites-available/000-default.conf
  sudo sed -i 16i"\      Allow from all" /etc/apache2/sites-available/000-default.conf
  sudo sed -i 17i"\      Require all granted" /etc/apache2/sites-available/000-default.conf
  sudo sed -i 18i"\   " /etc/apache2/sites-available/000-default.conf

4、配置tftpd

  修改配置文件/etc/default/tftpd-hpa,执行如下脚本
  sudo bash -c "echo RUN_DAEMON=\"yes\" >> /etc/default/tftpd-hpa"
  sudo sed -i 's?/srv/tftp?/var/lib/tftpboot?g' /etc/default/tftpd-hpa
  sudo sed -i '2iTFTP_OPTIONS="-s -l"' /etc/default/tftpd-hpa

5、配置pxe相关,下载ubuntu最新的iso,这里以16.04.2为示例,复制相应的文件

  sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
  sudo mkdir -p /var/lib/tftpboot/Ubuntu/16.04/amd64/
  sudo mount -o loop ubuntu-16.04.2-server-amd64.iso /mnt
  sudo cp -av /mnt/* /var/lib/tftpboot/Ubuntu/16.04/amd64/

  sudo cp -av /var/lib/tftpboot/Ubuntu/16.04/amd64/install/netboot/ubuntu-installer/amd64/* /var/lib/tftpboot/
  sudo cp -f /var/lib/tftpboot/boot-screens/ldlinux.c32 /var/lib/tftpboot/


  添加pxe启动菜单
  sudo bash -c 'cat > /var/lib/tftpboot/pxelinux.cfg/default > /etc/security/limits.conf > /etc/dhcp/dhcpd.conf/etc/bind/named.conf.local/etc/bind/db.ubuntu/var/lib/tftpboot/Ubuntu/16.04/amd64/ks.cfg
页: [1]
查看完整版本: pxe安装ubuntu 及脚本