批量安装ubuntu系统

更新时间:2023-07-25 08:09:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

批量安装ubuntu系统

最近有批量安装操作系统需求,之前在测试环境中使用过如Cobbler,FAI,Kickstart,比较之后,采用PXE+Kickstart+Dnsmasq+Ubuntu10.04(64位)这个方案

镜像类型

1.desktop镜像也称作livecd,可以试用ubuntu而不改变计算机中的任何内容并可以安装的镜像

2.Alternate镜像,采用文本安装界面的镜像,有更多高级安装选项

3.DVD镜像,带有附加语言包及更多软件包的镜像

4.mini镜像,用于网络安装的最小镜像,

5.server镜像,ubuntu号称唯一内置开源云的服务器操作系统

book,专门针对上网本进行优化的版本

7.Kubuntu(KDE桌面环境)Xubuntu(Xfce桌面环境)Lubuntu(LXDE桌面环境)Mythbuntu(媒体中心版)

复制代码

如上的镜像简单的说明了ubuntu存在的镜像类型,当然还有很多的衍生版本,在这里只是想说明下,如上的批量安装方案只支持Alternate镜像 中心服务器

在中心服务器(ubuntu10.04+64,Ip,eth0:192.168.5.27,eth1:10.12.7.109)上构建Server环境,eth0为构建单独的局域网环境新建的,eth1负责外网访问需求。 (1)基本概念

PXE

PXE是一种操作系统的引导方式。进行PXE安装的必要条件是在要安装的计算机中必须包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE Client

PXE(Pre-boot Execution Environment)协议可以使计算机通过网络启动。此协议分为Client端和Server端,而PXE Client则在网卡的ROM中

当计算机引导时,BIOS把PXE Client调入内存中执行,然后由PXE Client将放置在远端的文件通过网络下载到本地运行。运行PXE协议需要设置DHCP服务器和TFTP服务器

DHCP服务器会给PXE Client(将要安装系统的主机)分配一个IP地址,由于是给PXE Client分配IP地址,所以在配置DHCP服务器时需要增加相应的PXE设置

此外,在PXE Client的ROM中,已经存在了TFTP Client,那么它就可以通过TFTP协议到TFTP Server上下载所需的文件了

复制代码

Kickstart

KickStart是一种无人职守安装方式,通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;

在其他机器的安装过程中当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,

当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,就需要简单的手工参与了。 复制代码

Tftp TFTP是一个传输文件的简单协议,它基于UDP协议而实现。此协议设计的时候是进行小文件传输的 因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据

复制代码

Dnsmasq Dnsmasq提供DNS缓存和DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度

作为DHCP 服务器,dnsmasq可以为局域网电脑提供内网ip地址和路由。DNS和DHCP两个功能可以同时或分别单独实现

dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络

在这里主要使用它和hostname的相关性,在批量安装系统时,根据ip设置系统对应的hostname 复制代码

(2) 构建环境

apt-get install apache2

apt-get install system-config-kickstart

apt-get install tftpd-hpatftp-hpa

apt-get install dhcp3-server

apt-get install dnsmasq

复制代码

1.kickstart

在命令行中键入system-config-kickstart,根据出现的界面配置相关信息,最后保存为ks.cfg,如下是我在实验环境中使用的配置信息:

#Generated by Kickstart Configurator

#platform=AMD64 or Intel EM64T

#System language

langen_US

#Language modules to install

langsupportzh_CN --default=en_US

#System keyboard

keyboard us

#System mouse

mouse

#System timezone

timezone Asia/Shanghai

#Root password

rootpw --disabled

#Initial user

userubuntu --fullname"terrylc" --iscrypted --password $1$PX9BVIKt$3XsuJJtrDSlN4p8Q/TH3/1

#Reboot after installation

reboot

#Use text mode install

text

#Install OS instead of upgrade

install

#Use Web installation

url --url http://192.168.5.27/ubuntu

#System bootloader configuration

bootloader --location=mbr

#Clear the Master Boot Record

zerombr yes

#Partition clearing information

clearpart --all --initlabel

#Disk partitioning information

part /boot --fstype ext4 --size 256

part swap --size 4096

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

#System authorization infomation

auth --useshadow --enablemd5

#Network information

network --bootproto=dhcp --nameserver=192.168.5.27 --device=eth0

#Firewall configuration

firewall --disabled

#Do not configure the X Window System

skipx

%packages

@openssh-server

复制代码

创建目录mkdir -p /var/www/ubuntu,将上述的ks.cfg文件保存在/var/www/ubuntu中,

2. 镜像文件

从官网下载ubuntu的iso,

mkdir /ubuntu

mount -o loop ubuntu-10.04.3-server-amd64.iso /ubuntu

cp -r /ubuntu/* /var/www/ubuntu/

复制代码

3. Tftp

将iso文件中的install/netboot/下的所有文件与目录copy到/var/lib/tftpboot/ cp -r /ubuntu/install/netboot/* /var/lib/tftpboot/

chmod 755 /var/lib/tftpboot/* -R

复制代码

修改/var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/text.cfg

default install

label install

menu label ^Install

menu default

kernel ubuntu-installer/amd64/linux

append ks=http://192.168.5.27/ubuntu/ks.cfg vga=normal 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=falsevga=normal initrd=ubuntu-installer/amd64/initrd.gz -- quiet 复制代码

4.Dhcp

vim /etc/dhcp3/dhcpd.conf

添加如下信息:

subnet192.168.5.0netmask255.255.255.0 {

range 192.168.5.60192.168.5.69;

option routers 192.168.5.27;

option domain-name-servers 192.168.5.27;

default-lease-time 600;

max-lease-time 7200;

next-server 192.168.5.27;

filename "pxelinux.0";

}

复制代码

5.Dnsmasq

vim /etc/hosts

添加如下信息:

192.168.5.60 test1

192.168.5.61 test2

192.168.5.62 test3

192.168.5.63 test4

192.168.5.64 test5

192.168.5.65 test6

192.168.5.66 test7

192.168.5.67 test8

192.168.5.68 test9

192.168.5.69 test10

复制代码

6.重启相关服务

/etc/init.d/apache2 restart

/etc/init.d/tftpd-hpa restart

/etc/init.d/dhcp3-server restart

/etc/init.d/dnsmasq restart

复制代码

客户端

客户端启动的时候,BIOS中开启PXE引导选项,选择从网络启动即可进行无人安装系统。 问题

(1)提示“Debootstrap warning http://server/ubuntu/dists/lucid/restricted/binary-amd64/Packages was corrupt”

解决办法:

root@test:~# touch /var/www/ubuntu/dists/lucid/restricted/binary-amd64/Packages

(2)configuring net 要求输入"Name server address"

解决办法:

在dhcpd.conf中加入此参数option domain-name-servers

复制代码

本文来源:https://www.bwwdw.com/article/2zqm.html

Top