ubuntu部署dnsmasq实现kickstart自动安装操作系统

简介:

参考资料
1、http://gm100861.blog.51cto.com/1930562/934661


更新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表示eth0是需要监听的网卡,若希望为本机各块网卡连接的网络提供服务,则注释掉这行,即默认各网卡都提供dhcp、dns、tftp服务。


vim /etc/sysconfig/iptables

放行udp 53 67 69 、tcp 53这些

复制安装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启动的,一份就够了


ubuntuserver自动安装中可能会提示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这两行才行(个人观点)



本文转自 朱科强 51CTO博客,原文链接:http://blog.51cto.com/zhukeqiang/1384755,如需转载请自行联系原作者

相关文章
|
7月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1520 1
|
6月前
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
787 5
|
6月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
658 18
|
7月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
421 18
|
7月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
530 15
|
7月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
699 14
|
7月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
795 7
|
8月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
369 13
|
7月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
1309 6
|
8月前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 22.04.1上安装MySQL 8.0及设置root密码的注意事项
这些是在Ubuntu 22.04.1 系统上安装MySQL 8.0 及设置root密码过程中必须考虑的关键点。正确的遵循这些步骤可确保MySQL的安装过程既顺利又安全。
1602 20