Ubuntu部署Dnsmasq实现Kickstart自动安装操作系统

2022-06-30 20:01:15 浏览数 (1)

参考资料 1、http://www.linuxidc.com/Linux/2012-07/65748.htm

更新apt-get源,安装所需软件 sudo apt-get install syslinux dnsmasq apache2

配置dnsmasq sudo vim /etc/dnsmasq.conf 将以下项目前面的#去掉 bogus-priv filterwin2k interface=eth0 dhcp-range=192.168.44.100,192.168.44.120,12h dhcp-boot=pxelinux.0 enable-tftp tftp-root=/var/ftpd dhcp-authoritative

上面interface后面的eth0表示监听这块网卡,若希望所有网卡联通的网络中都被服务,则注释掉这行

复制安装CentOS6所需文件 sudo mkdir -p /var/www/centos6 /mnt/cd /var/ftpd/pxelinux.cfg sudo mount -o loop -t auto ~/iso/CentOS-6.2-x86_64-bin-DVD1.iso /mnt/cd sudo cp -rv /mnt/cd/* /var/www/centos6 sudo cp -rv /mnt/cd/isolinux/* /var/ftpd sudo cp /usr/lib/syslinux/pxelinux.0 /var/ftpd sudo mv /var/ftpd/isolinux.cfg /var/ftpd/pxelinux.cfg/default 要部署Ubuntuserver12,也是把镜像挂好,复制全部文件到http目录,比如/var/www/ubuntuserver12,不过下面的步骤不用做了,下面的isolinux是制作pxe启动的,一份就够了

ubuntu server自动安装中可能会提示http://192.168.44.249/ubuntuserver12/dists/precise/restricted/binary-amd64/Packages was corrupt.这是一个bug 解决方法是直接touch一个空文件 sudo touch /var/www/ubuntu/dists/precise/restricted/binary-amd64/Packages 其中precise是ubuntu12.04.4版本代号如果是其他版本,就换成相应的代号

创建centos6 ks.cfg sudo vim /var/www/centos6/ks.cfg # centos6/ks.cfg firewall --disabled install url --url http://192.168.44.249/centos6 text firstboot --disable rootpw admaster auth --useshadow --enablemd5 lang en_US keyboard us selinux --disabled logging --level=info reboot timezone --isUtc Asia/Shanghai network --bootproto=dhcp --device=eth0 --onboot=on zerombr bootloader --location=mbr clearpart --all --initlabel part swap --fstype="swap" --size=4096 part /boot --fstype="ext4" --size=200 part / --fstype="ext4" --size=1 --grow %packages openssh-server openssh vim

创建ubuntu ks.cfg sudo vim /var/www/ubuntuserver12/ks.cfg # ubuntuser kickstart file install url --url http://192.168.44.249/ubuntuserver12

preseed passwd/root-login boolean true lang en_US langsupport --default en_US.UTF-8 en_US.UTF-8

keyboard us mouse timezone Asia/Shanghai

rootpw --disabled user john --fullname "john chu" --password admaster reboot text

bootloader --location=mbr zerombr yes clearpart --all --initlabel partman-lvm/device_remove_lvm boolean true

partman-md/device_remove_md boolean true

part / --fstype ext4 --size 1 --grow --asprimary

# 不设置swap时安装过程中会提示要不要重新添加swap分区 part swap --size 4096

auth  --useshadow  --enablemd5 network --bootproto=dhcp --device=eth0 firewall --disabled skipx

%packages @ Base openssh-server openssh-client vim gcc make

修改pxe启动菜单 sudo vim /var/ftpd/pxelinux.cfg/default append ks=http://192.168.44.249/centos6/ks.cfg initrd=initrd.img

有其他系统就自行添加一下,注意把内核与initrd定位准确就可以

重启dnsmasq sudo service dnsmasq restart

如果是安装ubuntu,有两点不同:1是ks文件略有不同;2是pxe启动后的引导菜单default文件,必须使用centos风格的,否则会找不到内核与初始化环境。ubuntu自带的default文件要和txt.cfg文件融合一下,然后注释掉ui和include这两行才行(个人观点)

0 人点赞