Chinaunix首页 | 论坛 | 博客
  • 博客访问: 446159
  • 博文数量: 104
  • 博客积分: 3016
  • 博客等级: 中校
  • 技术积分: 1992
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-24 11:37
文章分类

全部博文(104)

文章存档

2009年(44)

2008年(60)

我的朋友

分类: LINUX

2008-07-15 03:41:10

参考文章:http://space.itpub.net/?uid-312079-action-viewspace-itemid-245856
内容基本上都是以上文章的,只根据实际操作做了简单修改,还加入了一些说明

好文章:

基于网络的 Red Hat 无人值守安装

环境:
1、Vmware Server 1.0.6
2、客体操作系统,也就是提供远程安装服务的服务器端为RHEL 5.0,IP为192.168.1.100,同时也提供DHCP,NFS,TFTP服务,提供centos5.0给客户端机器安装

一、配置DHCP服务
1、安装dhcp
# rpm -ivh dhcp-3.0.5-3.el5.i386.rpm
2、修改dhcpd.conf
# vi /etc/dhcpd.conf
修改或添加内容为以下:
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
 
class "pxeclients"{
    match if substring(option vendor-class-identifier,0,9) = "PXEClient";
    filename "centos5/pxelinux.0";
    next-server 192.168.1.100;
    }
subnet 192.168.1.0 netmask 255.255.255.0 {
    option routers 192.168.1.1;
    option subnet-mask 255.255.255.0;
    # option nis-domain "";
    # option domain-name "";
    # option domain-name-servers 202.96.134.133;
    option time-offset -18000; # Eastern Standard Time
    range dynamic-bootp 192.168.1.130 192.168.1.140;
    default-lease-time 21600;
    max-lease-time 43200;
 
host oracle1 {
    hardware ethernet 00:0C:29:79:43:0F;
    fixed-address 192.168.1.132;
    }
}

相关说明
1、filename "centos5/pxelinux.0"
本例中pxelinux.0文件的位置为/tftpboot/centos5/pxelinux.0,所以此处需要根据实际情况进行相应修改
2、next-server 192.168.1.100;
此处为提供DHCP服务的服务器的IP,本例中为192.168.1.100
3、option routers 192.168.1.1;
此处为网关的IP地址
4、range dynamic-bootp 192.168.1.130 192.168.1.140;
分配给客户端的IP地址范围,本例中为130-140号段
5、host oracle1 {
    hardware ethernet 00:0C:29:79:43:0F;
    fixed-address 192.168.1.132;
    }
此处为静态分配IP,当DHCP服务器检测到客户端的MAC地址为00:0C:29:79:43:0F时,服务器就分配192.168.1.132给它,并将他的主机名设置为oracle1
此处设置并非必须

二、配置TFTP
1、安装
# rpm -ivh tftp-0.42-3.1.i386.rpm
# rpm -ivh tftp-server-0.42-3.1.i386.rpm
2、启动tftp服务
# chkconfig tftp on
# service xinetd restart

三、配置NFS
# mkdir /export
# mkdir /export/ks
# vi /etc/exports
添加以下内容:
/export *(ro,sync)
/export/ks *(rw,sync)
# service portmap start
# service nfs start

四、启动文件配置
# mkdir /tftpboot/centos5
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/centos5/
# mkdir /tftpboot/centos5/pxelinux.cfg
# mount -o loop /export/centos5.iso /mnt/cdrom
# cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/centos5/pxelinux.cfg/default
# cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot/centos5/
# cp /mnt/cdrom/images/pxeboot/vmlinuz /tftpboot/centos5/

# vi /tftpboot/centos5/pxelinux.cfg/default
修改为以下内容,其中nfs服务器IP地址192.168.1.100需根据实际情况作修改:

default local
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label local
localboot 0
label linux install
  kernel vmlinuz
  append initrd=initrd.img
label linux text
  kernel vmlinuz
  append initrd=initrd.img text
label linux ks
  kernel vmlinuz
  append ks initrd=initrd.img
label memtest86
  kernel memtest
  append -
label linux autoinstall
kernel vmlinuz
append ks=nfs:192.168.1.100:/export/ks/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=16384 nofb


# cp /mnt/cdrom/isolinux/*.msg /tftpboot/centos5/

# cp /mnt/cdrom/isolinux/splash.lss /tftpboot/centos5

splash.lss文件为要求输入运行方式(boot:)的命令菜单上的图形
# vi /tftpboot/centos5/boot.msg
在Use行前添加一行,此行目的是提示操作人员应如何输入命令来进行自动安装或升级,内容为
-  To auto install or upgrade , type: ^O0blinux autoinstall ^O07.
# service xinetd restart
# service nfs restart
# service dhcpd restart

好了,现在可以新建一个虚拟机,然后将启动方式设置为网络启动,可以看到客户端获取IP地址,加载相关文件,现在可以实现远程开启安装过程,但还不是自动安装,因为系统启动时没有加载到ks.cfg的配置,明天再继续试验。

还是没有成功,贴一些资料:


ks.cfg 文件由三个部份皆组成:

  • command 区段—此部份包含了必要安装选项
  • packages 区段—列出欲安装套件
  • %pre and %post 区段
  • command 区段■lang(必要):安装时所使用的语言
    例如:安装过程中选用中文语言,lang zh_TW.Big5
    ■langsupport (必要):指定系统使用的语言。假如你安装一至多国语系,你必需使用默认选项去指定默认语言。语法为:
    例如:langsupport –default en_US.UTF-8 zh_TW.Big5 en_US.UTF-8
    ■键盘(必要):设置系统键盘的种类。语法为:keyboard us
    ■鼠标(必要):设置鼠标。语法为:
    mouse- -device=ttvS0(鼠标识别装置位置)- - emulthree(仿真三个按键)generics/2(定义鼠标种类)
    ■timezone(必要) 设置系统时区。
    timezone Asia/Taipei (指定你的时区位置)
    ■设置系统键盘的种类。语法为:keyboard us
    ■鼠标(必要):设置鼠标。语法为:
    mouse- -device=ttvS0(鼠标识别装置位置)- - emulthree(仿真三个按键)generics/2(定义鼠标种类)
    ■xconfig(非必要):在安装过程中手动设置X,假如你不想安装X,你不应该使用此选项。命令的格式为:
    ■xconfig- - card(显示卡类别)- - videoram(指定显示卡记忆容量)- - hsync(指定屏幕水平扫描频率)- -

    vsync(指定屏幕垂直扫描频率)- - resolution(指定屏幕分辨率) - - depth(指定X 窗口系统彩度)- -

    startxonboot (假如你想在系统开机时激活X 时使用)- - defaultdesktop gnome(或kde)(指定默认桌面)。
    ■install (非必要):告知系统安装一个新的安装。这是默认模式,因此一个新的安装不需再选用这个命令。接着您必需指定安装方式,可以是cdrom、harddrive、nfs 或url。
    ■cdrom
    ■harddrive—partition=your partition –dir=/your directory path
    – partition = 来源分区
    – dir = Red Hat 子目录
    (请确定你所键入来源分区和子目录信息的正确性)。
    ■nfs – server—your server –dir=/your directory path
    – server = 指定安装来源服务器
    – dir = Red Hat 子目录
    (请确定你所键入来源分区和子目录信息的正确性)。
    ■url – url server/dir
    使用HTTP 进行安装
    ■url – url ftp://your username:password@your server/dir
    使用FTP 进行安装
    ■rootpw (必要) 设置一组系统root 密码。
    rootpw - - iscrypted (表示密码已被加密) password
    ■firewall(非必要) 提供安全性等级来保护系统。
    ■authconfig (必要) 设置系统认证选项。命令格式:
    - -enablemd5 (使用md5 编码使用者密码)
    - -enableshadow (使用shadow 密码)
    ■bootloader (必要) 指定开机管理程序的位置和传递任何kernel 选项。默认开机管理程序为GRUB,但是你也能选择LILO 开机管理程序来取代GRUB。命令格式为:
    - - location=mbr (指定开机管理程序的位置)
    - -append=(指定要传递的核心参数)。
    - -useLilo (使用LILO 为开机管理程序)。
    ■clearpart (非必要)告知系统移除系统上的分区。你可以使用clearpart 移除Linux 分区以及移除所有的分区,或者你也能指定你想要移除分区的磁碟机。命令格式为:
    – linux (移除所有Linux 分区)
    - - all (移除系统上所有的分区)
    – drives = (指定要移除分区的磁盘驱动器)
    ■Part (必要) 安装时是必要的,升级时请忽略。使用这个命令你能为系统建立分区。

  • package 区段安装一个新的系统,你必需选择你想安装的套件。选择欲安装的套件是使用%packages 命令。套件可分为单一套件或者是套件组。你能在第一片Red Hat安装光盘下的/base/comps.xml 寻找群组套件清单。通常,只需列出套件组不需要列出单一套件。注意!默认之下core 和base 群组是被选取的,所以也不需要在 %packages 这个区段下去指定它们。

    如同利用ksconfig 所产生出来的ks.cfg %packages 区段中套件组是一行指定一个,以@节号开头,后面加上一格空白接下来是完整群组名称就如同comps.xml 文件所指定。如果个别单一套件并列出该单一套件名,不加上额外的字符。

    套件组是一行指定一个,以@节号开头,后面加上一格空白接下来是完整群组名称就如同comps.xml 文件所指定。如果是个别单一套件则列出该单一套件名,前面不需加上额外的字符。

    %package 有三个选项可以设置:

    ◆- -resolvedeps
    决解自动相依性问题及安装套件。建意选项,在安装中由于没使用自动决解相依性,若有相依性问题可能会造成中止安装并且做提示响应。
    ◆- -ignoredeps
    你选择安装套某套件但乎略它的相依性,可能造成此套件无法运作,尤其是此套件需要其它相依的套件。
    ◆—ignoremissing
    标示忽视安装遗失套件及群组并且也不做提示响应。

  • %pre and %post 区段%pre 区段内可填入在开始安装操作系统需要先执行的工作。%post 命令传递到系统上执行必须在Kickstart 安装完成后。能有效的执行命令去安装其它的软件或者设置系统信息。

阅读(1113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~