Ubuntu12.04lts的pxe安装及拾遗.docx

上传人:暗伤 文档编号:88462487 上传时间:2023-04-26 格式:DOCX 页数:15 大小:110.45KB
返回 下载 相关 举报
Ubuntu12.04lts的pxe安装及拾遗.docx_第1页
第1页 / 共15页
Ubuntu12.04lts的pxe安装及拾遗.docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《Ubuntu12.04lts的pxe安装及拾遗.docx》由会员分享,可在线阅读,更多相关《Ubuntu12.04lts的pxe安装及拾遗.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、最好的沉淀。Ubuntu12.04 pxe 安装及完全拾遗1一、试验环境1二、文件夹结构1Web 服务器目录1Pxe 启动文件夹中文件准备1三、服务端搭建:2Windows 版2Linux 版3配置文件准备5四、安装过程截图:7五、常见问题:8安装软件包问题8安装过程中提示包找不到8提示源中的packages 文件不正确9自定义要安装的软件包提示找不到9Pxe 启动后提示源中的版本不会9自定义添加用户提示弱口令问题9提示the dhcp server is slow912.04 lts 安装完后 kickstart 不能自动配置 IP 地址9六、高级用法10安装过程中出现问题的排查10启动菜单

2、问题10多机自动批量安装问题13七、自动修改源等问题14Ubuntu12.04 pxe安装及完全拾遗一、试验环境环境:ubuntu12.04 LTS 32bit iso 文件,vmware,wamp server,tftpd Apt-get dhcp安装 Ubuntu 12.04 server lts 的旧电脑一台做服务器。Vmware workstation 虚拟机.之前的一篇关于pxe+kickstart 安装ubuntu server 的文章:http:/bbs.linuxtone.org/thread-10957-1-1.html最新的资料在 svn 上,请自行检出。二、文件夹结构We

3、b 服务器目录光盘中的所有文件拷贝到 web 服务器的 ubuntu32 虚拟目录中Pxe 启动文件夹中文件准备将光盘 installnetbootubuntu-installeri386 下的所有文件拷贝到 pxe 服务器的根文件夹中- 9 -三、服务端搭建:Windows 版:Tftpd 及 DHCP 服务Dhcp 这样设置是因为如果 dns 和路由正确的话会连接到 internet 上的源去安装,但是不填又会提示错误,所以使用错误的dns 和路由地址。Apache拷贝光盘所有文件到 apache 虚拟目录下,这里用的是 ubuntu32,注意目录带“/”和不带“/” 的区别,这里是带/和

4、不带/的虚拟目录都创建了。Linux 版:安装于 ubuntu server 12.04 lts 版本之上安装服务Apt-get install dhcp3-server apache2DHCP 服务器Dhcp 配置文件 /etc/dhcp/dhcpd.conf: ddns-update-style none;option domain-name example.org;option domain-name-servers ns1.example.org, ns2.example.org;default-lease-time 600;max-lease-time 7200; log-facil

5、ity local7;allow booting; allow bootp;subnet 192.168.1.0 netmask 255.255.255.0 filename pxelinux.0;#注意加上这个启动文件。range 192.168.1.241 192.168.1.244;option subnet-mask 255.255.255.0;option routers 192.168.1.2;option domain-name-servers 192.168.1.2;default-lease-time 86400;max-lease-time 86400;host ubunt

6、-test #固定分配IP 地址给指定的mac。hardware ethernet 00:0c:29:50:D7:01;fixed-address 192.168.1.241;host ubunt243 hardware ethernet 00:0c:29:01:7e:f0; fixed-address 192.168.1.243;配置好后运行:#service isc-dhcp-server restart 来重启服务运行 netstat -anp | grep :69udp00 0.0.0.0:690.0.0.0:*这个表示服务已经在运行中#tail f /var/log/syslog |

7、grep dhcp 可以查看到tftp 服务器vi /etc/xinet.d/tftp内容如下:service tftpsocket_type= dgram protocol= udpwait= yesuser= rootserver= /usr/sbin/in.tftpdserver_args= -s /tftpboot#这个是 tftp 服务的主目录,文件都放在这里。这话不用再带u 参数了,否则会出错。disable= noper_source= 11cps= 100 2flags= IPv4# ps aux|grep tftp结果root47500.10.2122283696 pts/3

8、S+11:380:00 vim /etc/xinetd.d/tftp表示服务运行中apache将系统光盘中的所有文件拷贝到 apache 主目录的 ubuntu32 目录下。注意某些包要改名,这个可以在常见问题中找到。配置文件准备Pxe 启动文件准备:最简单的简单使用自动安装的话可以使用以下的方法:在 pxe 服务的根目录下的pxelinux.cfg 文件夹中新建default 文件,内容如下:default auto label autokernel vmlinuzappend ks=http:/192.168.1.195/ubuntu32/ks.cfg vga=normal initrd=

9、initrd.gz quiet -这个 ks.cfg 文件就是自动安装系统需要的配置文件。下面会详细介绍注:当然,tftpd 和dhcp 服务也可以在linux 下安装配置。Ks 文件配置根据 kickstart 官方的资料,现在的ks 文件内容配置如下:#example: ks.cfg#Generated by Kickstart Configurator #platform=x86#多网卡机器设置从那块网卡开始kickstart 安装ksdevice=eth0#System language lang en_US#Language modules to install langsuppor

10、t en_US#System keyboard 键盘布局keyboard us #System mouse mouse#System timezone 时区选择timezone -utc Asia/Chongqing #Root password root 密码使用rootpw -disabled#Initial user, username: darkz password: 新建用户 darkz,密码 1234567890 user darkz -fullname=darkz -password 1234567890#这里可以选择不加密密码,但是密码长度要大于 8 位,否则在安装过程中会提示

11、密码为弱口令而终止,需要人工干预#Reboot after installation 安装后重启reboot#Use text mode install 字符化安装text#Install OS instead of upgrade 全新安装还是升级install#Use Web installation 安装文件路径,这里是之前设置的 web 服务器的虚拟目录路径url -url http:/192.168.1.195/ubuntu32#System bootloader configuration 启动器设置,安装到mbr bootloader -location=mbr#Clear th

12、e Master Boot Record zerombr yes#Partition clearing information 清除磁盘分区设置clearpart -all -initlabel#Disk partitioning information 磁盘分区信息part /boot -fstype ext2 -size 150 part swap -recommendedpart / -fstype ext3 -size 1 -grow#System authorization infomation auth-useshadow-enablemd5#Network information

13、 网络配置:#network -hostname=ubuntu3 -bootproto=dhcp -device=eth0network-hostname=ubuntu3-bootproto=static-ip=192.168.1.243-netmask=255.255.255.0 -gateway=192.168.1.1 -nameserver=192.168.1.2 -device=eth0 #Firewall configurationfirewall -disabled#Do not configure the X Window System Skipx将此文件放置到web 服务器的u

14、buntu32 虚拟目录下。重启机器。Bios 中设置成网卡启动,就可以看到pxe 的启动安装了四、安装过程截图:截图在 vmware 下完成:Pxe 启动画面:安装过程安装 ubuntu12.04 完成时间:起始dhcp 获取 IP 时间为 May 29 14:01:46安装完后的post 脚本输出的时间为:Tue May 29 14:14:30 CST 2012共计 13 分钟,安装完成之后可以直接通过 ssh 连接到服务器,不用再去配置机器了. 安装完后,post 部分加的 apt-get update 并不会执行,连上服务器后手动执行下。五、常见问题:安装软件包问题如果 pxe 启动文

15、件不加 preseed 段的话有些包没安装的,带上 server 的 preseed 的话就和光盘安装系统一样的效果。安装过程中提示包找不到主要是 12.04 版本中有些包的名字的问题光盘中的所有文件拷贝出来后,将光盘 poolmainllinux 目录下的后缀为ude 的文件改为udeb,_i38.*活_i3.*文件改为_i386.*。查看 163 源中相同的文件名,这些文件名字这样猜测是因为是用光盘文件系统,文件名字长度有限制。如果不改的话,在安装过程中会提示某 些包有问题,这个也可以从apache 的日志中发现错误提示,文件名字的差别。提示源中的 packages 文件不正确源/dist

16、s/lucid/restricted/binary-i386/Packages 文件不正确,是因为安装光盘中是不包括这个文件的,将 Packages.gz 中的Packages 文件解压放到此处即可。自定义要安装的软件包提示找不到查看该包在光盘的 pool/main/目录下相应的目录中是否存在,如果不存在是会导致安装失败的,那样就要等安装完更新了源之后再去安装了Pxe 启动后提示源中的版本不会注意 pxe 中的文件要是从安装光盘中提取的,如果是其他版本的文件,将会提示和源中的文件不一致自定义添加用户提示弱口令问题这个是由于密码在配置文件中是明文的,将其设置为较长的密码就可以通过了,比如 9位以

17、上提 示 the dhcp server is slow这个是 dhcp 服务器设置问题,之前是为了测试设置的值: default-lease-time 60;max-lease-time 720;后来改成:default-lease-time 600;max-lease-time 7200;重启 dhcp 服务,问题解决了12.04 lts 安装完后 kickstart 不能自动配置 IP 地址这个目前已经测试过,在 ubuntu server 10.04.4lts 中,这个 kickstart 中的网络及主机名配置是可以生效的,但是 ubuntu server 12.04 lts 中不能生

18、效,怀疑是个 bug在post 脚本中加入:#直接wget -O 到/etc/network/interfaces 是不行的。wget http:/192.168.1.195/ubuntu32/00-13-8f-a4-b3-53-net.cfg -O /root/interfaces cat /root/interfaces/etc/network/interfaces00-13-8f-a4-b3-53-net.cfg 这个文件中是网卡的配置信息。六、高级用法安装过程中出现问题的排查安装过程中如果有错误,可以按 alt+f4 切换到第四个终端,查看安装日志。基本上可以排查出现问题的原因启动菜单

19、问题因为用以上方法,直接启动后就会开始安装系统,有将现有服务器数据完全覆盖的危险, 而且由于默认是 pxe 安装,如果不停掉相关服务,系统就会不同的重新安装。所以加上启动菜单,默认是从硬盘启动,网络安装需要手动选择。一个简单 pxe 启动菜单配置如下:default boot-screens/vesamenu.c32 prompt 0timeout 600menu background boot-screens/splash.png menu title PXE boot menumenu hshift 13menu width 49menu margin 8menu color title*

20、 #FFF00FFF *menu color border * #ffffffff #00000000 none menu color sel* #ffffffff #76a1d0ff *menu color hotsel 1;7;37;40 #fff00fff #76a1d0ff * menu color tabmsg * #ffffffff #00000000 *menu vshift 12menu rows 10menu tabmsgrow 16menu timeoutrow 17menu tabmsg Press ENTER to boot or TAB to edit a menu

21、entry label network- 14 -menu label Network auto install kernel vmlinuzappendks=http:/192.168.1.195/ubuntu32/00-13-8f-a4-b3-53.cfg preseed/url=http:/192.168.1.195/ubuntu32/preseed/ubuntu-server.seedvga=normal initrd=initrd.gz quiet -label harddiskmenu defaultmenu label Boot from local hard disk loca

22、lboot 1这样的话就会显示网络安装和硬盘启动两个选项,默认是从硬盘启动或者如下的一个较复杂的启动菜单是:default boot-screens/vesamenu.c32 prompt 0timeout 600menu background boot-screens/splash.png menu title Ubuntu PXE boot menumenu hshift 13menu width 49menu margin 8MENU COLOR border30;44#40ffffff #a0000000 MENU COLOR title1;36;44 #9033ccff #a0000

23、000MENU COLOR sel7;37;40 #e0ffffff #20ffffff MENU COLOR unsel37;44#50ffffff #a0000000 MENU COLOR help37;40#c0ffffff #a0000000 MENU COLOR timeout_msg37;40#80ffffff #00000000MENU COLOR timeout1;37;40 #c0ffffff #00000000 MENU COLOR msg0737;40#90ffffff #a0000000MENU COLOR tabmsg31;40#30ffffff #00000000m

24、enu vshift 12menu rows 10menu tabmsgrow 16menu timeoutrow 17menu tabmsg Press ENTER to boot or TAB to edit a menu entrylabel networkmenu label Network install kernel vmlinuzappendks=http:/192.168.1.195/ubuntu32/00-13-8f-a4-b3-53.cfg preseed/url=http:/192.168.1.195/ubuntu32/preseed/ubuntu-server.seed

25、vga=normal initrd=initrd.gz quiet -label harddiskmenu defaultmenu label Boot from local hard disk localboot 1label memtestmenu label Memtest kernel memdiskappend initrd=MEMTEST.IMGlabel rebootmenu label Rebootcom32 boot-screens/reboot.c32label poweroffmenu label Power Offcomboot boot-screens/这个菜单添加一

26、些功能。其中 reboot.c32 和 文件从下载的 syslinux 压缩包中提取、memtest.bin 文件从下载的 memtest 压缩包中提取。放置在 pxe 的根文件夹,即pxelinux.cfg 文件夹的上层目录中。但是 memtest 怎么做成像ubuntu 光盘启动的那样,还不知道。Syslinux 下载地址:http:/www.kernel.org/pub/linux/utils/boot/syslinux/ Memtest 下载地址:http:/www.memtest.org/MEMTEST.IMG 文件从 memtest 的iso 版本中提取。Memdisk 从sysl

27、inux 包中提取。Pxe 文件夹的主要文件结构: Pxe 启动根目录initrd.gzlinuxmemdiskMEMTEST.IMGpxelinux.0reboot.c32vmlinuzboot-screensmenu.c32vesamenu.c32关于启动菜单的问题:Vmware 虚拟机通过,但是在一台旧的 PC 机上不能通过(intel undi pxe 2.0),显示为倒计时几秒后就不再倒计时了,不知道是不是主板 BIOS 的问题。用旧电脑测试的话 pxe 菜单有问题,期待大家测试后将结果告诉给我。我后来换了台电脑测试是可以的,估计是 BIOS 的问题?VirtualBox 虚拟机不能

28、pxe 启动。Pxe 菜单中文化的问题?中文显示乱码,无果,放弃大家可以参考下这里: 虚拟机上截图:多机自动批量安装问题Pxe 文件名不同,注意文件名的顺序获取的 ks 文件不同。注意每个 ks 文件中的主机名、ip 等不同思路,pxe 启动后加载的文件由动态页面生成。根据 mac 区分。1. 在pxe 启动阶段,就可以根据 mac 来区分不同的机器:其中2. 脚本问题问题:主机名问题、Ip 地址问题12.04 不能自己自动分配主机名和ip 地址了、这个可以用另外的办法:建立一个 hostname、mac、ip 的列表,通过脚本修改主机名、ip 信息相关脚本及文件,地址如下: 及参阅说明。如果

29、要更方便,可以考虑将此系统用 php+mysql 改写,每台机器的配置都可以完全自行定制, 更加高级。在本文快结束的时候,有网友说,ubuntu 自己的 mass 更好。木有怎么用过,期待有人测试、分享。同时也说 ubuntu 官方对 kickstart 的支持减弱了,从这个 12.04.lts 版本上也可以看出点来吧。七、 自动修改源等问题Post 脚本中添加wget http:/192.168.1.195/ubuntu32/sources.list -O /etc/apt/sources.list apt-get update这样就从架设的web 服务器的目录中更新了源了,源记得事先定义好。PS:至此,折腾结束了,这个折腾花了 2 周多的时间,可怜的那台破电脑被我装系统都撞了几十次了吧,最后还得当我的试验服务器。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁