开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于Ubuntu操作系统下的Docker 环境部署
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
0 0
【问题解决】VMware安装ubuntu操作系统出现分辨率的问题
【问题解决】VMware安装ubuntu操作系统出现分辨率的问题
0 0
VMware虚拟机配置Linux Ubuntu操作系统
本文介绍基于VMware Workstation Pro虚拟机软件,配置Linux Ubuntu操作系统环境的方法~
0 0
查看linux操作系统版本:Ubuntu?Centos?还是其他?
查看linux操作系统版本:Ubuntu?Centos?还是其他?
0 0
Linux基础命令——Ubuntu操作系统
Ubuntu操作系统是属于Linux操作系统中的一种,它是免费、稳定又可以拥有绚丽界面的一个操作系统
0 0
Ubuntu操作系统配置阿里云镜像方法二
Ubuntu操作系统配置阿里云镜像方法二
0 0
Ubuntu操作系统配置阿里云镜像方法一
Ubuntu操作系统配置阿里云镜像方法一
0 0
【Linux 操作系统】Ubuntu 配置 ftp freemind adb(二)
【Linux 操作系统】Ubuntu 配置 ftp freemind adb(二)
0 0
【Linux 操作系统】Ubuntu 配置 ftp freemind adb(一)
【Linux 操作系统】Ubuntu 配置 ftp freemind adb(一)
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Mesos,数据中心操作系统的核心
立即下载
Matrix 集群操作系统
立即下载
Matrix集群操作系统
立即下载