PXE+kickstart自动安装ubuntu14.04
本文参考了诸多文章,先感谢这些文章的作者。
使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp)。
实验环境:
1. vmware 12
2.网段 10.0.0.0/8, PXE服务器IP:10.0.0.100
一、安装dhcp服务
可以选择安装isc-dhcp-Server 或者 dnsmasq(这个在openstack中使用较多,而且它也包含tftp服务,配置也非常方便,我因为已经安装dhcp和tftp就懒得换了)。
我选择安装了isc-dhcp-Server: apt-get install isc-dhcp-Server -y
vim /etc/default/isc-dhcp-server
INTERFACES="eth0" # 或者你要指定的网络接口名字。
vim /etc/dhcp/dhcpd.conf
在文件末尾添加:
subnet 10.0.0.0 netmask 255.0.0.0 {
range 10.0.0.101 10.0.0.200;
option subnet-mask 255.0.0.0;
option routers 10.0.0.100;
option broadcast-address 10.255.255.255;
filename "pxelinux.0";
next-server 10.0.0.100;
}
子网,掩码可以根据自己的需要设置
filename "pxelinux.0";
next-server 10.0.0.100; 指定pxe启动文件名和ip地址,next-server也是指tftp服务器IP。
配置完重启服务:
service isc-dhcp-server restart
二、安装tftp服务
apt-get install tftpd-hpa -y
安装完就OK了,使用默认的即可,记得tftp的目录是 /var/lib/tftpboot/ 哦,后面要用到!
三、安装apache2
apt-get install apache2 -y
也是安装完就可以了,http根目录是 /var/www/html/ 。
将下载好的ubuntu-14.04.5-server-amd64.iso放到某个目录。比如 ~ 目录,然后如下操作;
cd ~
mkdir /var/www/html/ubuntu
mount ubuntu-14.04.5-server-amd64.iso /var/www/html/ubuntu 或者 mount ubuntu-14.04.5-server-amd64.iso /media 然后 cp -r * /media/* /var/www/html/ubuntu
cp -r /var/www/html/ubuntu/install/netboot/* /var/lib/tftpboot/
cp /var/www/html/ubuntu/preseed/ubuntu-server.seed /var/www/html/
然后 vim /var/www/html/ubuntu-server.seed
在文件末尾添加:
d-i live-installer/net-image string http://10.0.0.100/ubuntu/install/filesystem.squashfs
d-i pkgsel/include string openssh-server
1、因为在ubuntu12.10版本以后,安装一些包会依赖于预配置的文件系统,这就是导致使用kickstart方式无法成功安装的原因。
2、自动安装ssh服务。
四、安装kickstart
kickstart需要GUI界面,我因为是安装的server,所以需要安装桌面(如果是desktop版本就不需要),如下安装;
apt-get install ubuntu-desktop system-config-kickstart -y
安装完之后,重启一下进入桌面,直接startx在虚拟机里卡桌面。
kickstart界面操作很简单,实验过一遍就知道主要还是ks.cfg。如果vm的界面较小,需要远程的话,可以安装xrdp, vnc4server, 然后vim ~/.xsession 输入:xfc4-session
这里就不多说了,搜索一下就很多远程ubuntu的文章。
在界面操作完之后保存ks.cfg到/var/www/html/
ks.cfg 内容如下:
#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T #System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone --utc Asia/Shanghai
#Root password
rootpw --disabled
#Initial user
user trait --fullname "trait" --iscrypted --password $$Umx1cgrj$..pRArN7AP66XBosYbU4N1
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url http://10.0.0.100/ubuntu
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part / --fstype ext4 --size --asprimary --ondisk sda
part swap --size --ondisk sda
#System authorization infomation
auth --useshadow --enablemd5
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx
%post
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted" > /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty universe" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates universe" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates multiverse" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
然后修改一下 vim /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg:
default install
label install
menu label ^Install
menu default
kernel ubuntu-installer/amd64/linux
append ks=http://10.0.0.100/ks.cfg preseed/url=http://10.0.0.100/ubuntu-server.seed netcfg/get_nameservers=10.60.235.100 vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
label cli
menu label ^Command-line install
kernel ubuntu-installer/amd64/linux
append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
ok,现在可以创建一个空的虚拟机来验证安装了。
PXE+kickstart自动安装ubuntu14.04的更多相关文章
- linux系统PXE+Kickstart自动安装系统
一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...
- centos7/rhel7下配置PXE+Kickstart自动安装linux系统
应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率. DHCP + TFTP + Syslinux + FTP + Kickstar ...
- CentOS 7.2 下 PXE+kickstart 自动安装系统
一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ...
- PXE+Kickstart 自动安装CentOS系统
PXE (preboot execcute environment) 依赖服务 dhcp tftp file server (yum repository) 准备TFTP服务器 如何配置TFTP服务 ...
- PXE+Kickstart 批量安装CentOS 7
安装之前 将需要安装 CentOS 的服务器与 PXE 服务器通过网络设备连接:PXE 服务器安装 CentOS,并且关闭firewalld.selinux,设置静态IP地址,本例设为10.0.0.1 ...
- PXE+Kickstart 全自动安装部署CentOS7.4
一.简介 1.什么是PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过 ...
- win8.1硬盘安装ubuntu14.04双系统
在网上找了很多方法都失败了,原因是大多数方法都是用mbr方式安装的,如grub4dos,easybcd.以至于连自己都怀疑win8能不能用硬盘安装,差点就去买个u盘来安装了,就在打算放弃的时候在ubu ...
- Win7下通过easyBCD引导安装Ubuntu14.04
Ubuntu14.04作为目前最新版本的ubuntu系统,相信很多人都想在自己的电脑上安装一下,然而系统的安装方法各式各样,u盘法.grub引导法等等,这里我将介绍在win7系统下用easyBCD软件 ...
- Linux,在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统
本文介绍如何在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统. 花了一天的时间终于安装上了Ubuntu14.04,过程坎坷,是血泪史,开始报“cannot ...
随机推荐
- ubuntu下使用golang、qml与ubuntu sdk开发桌面应用
ubuntu下使用golang.qml与ubuntu sdk开发桌面应用 (简单示例) 找了很长时间go的gui库,试了gtk,准备试qt的时候发现了这个qml库,试了下很好用. 准备工作 1.Go ...
- Emacs助力PowerShell
Emacs助力PowerShell 阅读目录 1 下载安装Emacs windows版本 2 下载el文件和配置Emacs加载PowerShell 3 体验用Emacs来执行和编辑PowerShell ...
- ibatis实战之一对多关联
在实际开发中,我们常常遇到关联数据的情况,如User对象拥有若干Book对象 每个Book对象描述了归属于一个User信息,这种情况下,我们应该如何处理? 通过单独的Statement操作固然可以实现 ...
- 基于 WebSocket 构建跨浏览器的实时应用
Socket.IO – 基于 WebSocket 构建跨浏览器的实时应用 Socket.IO 是一个功能非常强大的框架,能够帮助你构建基于 WebSocket 的跨浏览器的实时应用.支持主流浏览器,多 ...
- eclipse plugin 导出插件包
当我们的插件在完成一个阶段性开发的时候,我们要发布一个1.0的版本.这个时候会碰到一个问题.如何把我们的插件打成包?有多种途径,下面具体讨论一下. 首先从插件完成到被他人(或者我们自己)使用有两个步骤 ...
- synchronized和volatile的使用
synchronized和volatile的使用 一步一步掌握线程机制(三)---synchronized和volatile的使用 现在开始进入线程编程中最重要的话题---数据同步,它是线程编程的核心 ...
- iOS 开发问题集锦(二)
办公机器原来是别人在用,Xcode也是用别人的账号下载的.昨天想升级Xcode的时候,发现没有密码,为了不打扰别人,也为了方便自己之后升级,于是乎把旧版本直接卸载掉,重新下载了全新的4.6版. 下载完 ...
- 为Exchange 2007 SCC 启用 SCR 副本-供需要的人使用!
SCC 已经部署完整,接下来我们必须防范本地站点如果出现了完全的损坏怎么办? Exchange 2007 SP1 提供了另外一种高可用的方式,就是基于我们的SCR 模型,SCR 模型是基于SCC 本地 ...
- zookeeper删除kafka元数据
问题:卸载kafka前未删除kafka topic,重新安装kafka后,生成跟之前topic名字相同的topic时报错,显示topic已存在 [root@d96 ~]# kafka-topics - ...
- ASP.NET Zero--8.一个例子(1)菜单添加
以一个商品分类管理功能来编写,代码尽量简单易懂.从一个实体开始,一直到权限控制,由浅到深一步步对功能进行完善. 1.打开语言文件 [..\MyCompanyName.AbpZeroTemplate.C ...