Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1424136
  • 博文数量: 122
  • 博客积分: 340
  • 博客等级: 一等列兵
  • 技术积分: 2967
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-01 11:50
个人简介

说点什么呢

文章分类

全部博文(122)

文章存档

2018年(2)

2017年(1)

2015年(2)

2014年(30)

2013年(81)

2011年(5)

2009年(1)

分类: LINUX

2013-12-06 14:26:27

linux 无人值守安装

(整理日期:2010-1-15)

作用:

1、 可以解决大批量的快速安装问题;

2、 解决要安装的机器上没有光驱或没有相应的安装光盘的问题;

3、 可以解决远程安装操作系统的问题;

先决条件:

1、 待安装的机器需要在一个网络之中;

2、 待安装的机器的网卡需要支持PXE引导模式;

3、 需要有DHCP服务器和tftp服务器;

4、 要有linux安装光盘的镜像文件或安装文件;

实施步骤:

1、 安装DHCP服务器,具体的方法是:

1) rpm –ihv dhcp-3.0.1-12_EL.i386.rpm

然后修改和设置配置文件:

cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample   /etc/dhcpd.conf

# vi /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {

# --- default gateway

        option routers                  192.168.0.1;

        option subnet-mask              255.255.255.0;

        option nis-domain               "domain.org";

        option domain-name              "domain.org";

        option domain-name-servers      192.168.1.1;

        option time-offset              -18000; # Eastern Standard Time

next-server 192.168.0.1;

filename "/pxelinux.0";

#       option ntp-servers              192.168.1.1;

#       option netbios-name-servers     192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless

# -- you understand Netbios very well

#       option netbios-node-type 2;

        range dynamic-bootp 192.168.0.128 192.168.0.254;

        default-lease-time 21600;

        max-lease-time 43200;

        # we want the nameserver to appear at a fixed address

        host ns {

                next-server marvin.redhat.com;

                hardware ethernet 12:34:56:78:AB:CD;

                fixed-address 207.175.42.254;

        }

}

上面的记录可以根据需要修改,但是红色部分是需要添加的,其中:

next-server:用来指定tftp服务器的地址

filename "/pxelinux.0"; 指定通过PXE启动时所需要引导文件。

2. 当在待安装的机器所在的网络中有现成的windows系统组成的DHCP服务器时,也可以直接用这个DHCP服务器,操作方法是:

在“作用域选项”-》“配置选项”-》选中066  067066“启动服务器主机名”输入TFTP服务器的名字或IP地址,而在067的“启动文件名”中填上启动的文件名/pxelinux.0 实际测试时就是用这种办法的。

3. 安装配置TFTP服务器

a.直接通过rpm 包安装,rpm ihv tftp-0.39-1.i386.rpm  rpm tftp-server-0.39-1.i386.rpm 

# vi /etc/xinted.d/tftp

disable =yes 修改成 disable=no 

然后重启xinted 服务 service xinted restart。然后在根目录下会建立一个/tftpboot目录。

b. /usr/lib/syslinux/pxelinux.0 文件拷到/tftpboot下面,这里用来支持网络启动的文件。

# cp /usr/lib/syslinux/pxelinux.0 /tftpboot

c. /tftpboot下面建立一个pxelinux.cfg目录,并将redhat第一张光盘下的isolinux/isolinux.cfg 拷贝到/tftpboot/pxelinux.cfg/default文件

# cp /iso/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

 修改/tftpboot/pxelinux.cfg/default文件

default linux

prompt 1

timeout 600

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

F7 snake.msg

F8 list.msg

label linux

  kernel vmlinuz

  append initrd=initrd.img ramdisk_size=8192

label text

  kernel vmlinuz

  append initrd=initrd.img text ramdisk_size=8192

label expert

  kernel vmlinuz

  append expert initrd=initrd.img ramdisk_size=8192

label ks

  kernel vmlinuz

  append ks initrd=initrd.img ramdisk_size=8192

label lowres

  kernel vmlinuz

  append initrd=initrd.img lowres ramdisk_size=8192

label local

  localboot 1

label memtest86

  kernel memtest

  append -

label autoinstall

   kernel vmlinuz

   append ks=nfs:192.168.1.4:/jongo/os/ks.cfg ksdevice=eth0 initrd=initrda.img ramdisk_size=8192

其它的根据需要修改,但是需要注意的是红色部是需要添加的。

将第一张光盘上的images/pxeboot下的initrd.imginitrd.img拷贝到/tftpboot目录下面,用于网络引导系统

# cp /iso/images/pxeboot/initrd.img /tftpboot

# cp /iso/images/pxeboot/vmlinuz /tftpboot

将第一张光盘下的isolinux/下面的文件都拷贝到/tftpboot目录下

# cp /iso/isolinux/* /tftpboot

4. 配置nfs服务

将存放安装文件和ks.cnf文件的目录共享出去。例如这里:

# vi /etc/exports 增加:

/jongo/os       *(ro,no_root_squash,sync)

重启nfs服务

# service portmap restart

# service nfs restart

可以在其它机器上试图挂接一下,看看是否共享成功了

5. 建立和配置ks.cnf文件

在安装好的系统的/root下面有一个anaconda-ks.cfg,可以将这个文件拷成/jongo/os/ks.cnf

# cp /root/anaconda-ks.cfg /jongo/os/ks.cnf 

然后对这个文件进行修改,修改成需要的。

也可以用system-config-kickstart工具来建立这个文件。方法是安装system-config-kickstart-2.5.16-2.noarch.rpm 软件包,然后在图形化的界面上运行system-config-kickstart命令,根据提示,来建立ks.cnf文件。以下本次实施时的

ks.cnf文件内容:

#Generated by Kickstart Configurator

#platform=x86, AMD64, or Intel EM64T

#System  language

lang en_US   #设置系统语言

#Language modules to install

langsupport zh_CN --default=en_US  #系统支持的语言

#System keyboard

keyboard us

#System mouse

mouse

#Sytem timezone

timezone --utc Asia/Shanghai  #时区

#Root password

rootpw bwyy1679   #root用户的密码也可以:

rootpw --iscrypted $1$B1FMlwDt$DQmaWnE/arngF0UltW5ZX1 这时候密码是密文的形式。

#Reboot after installation  #安装好,重启系统

reboot

#Install OS instead of upgrade #方法是全新安装

install

#Use NFS installation Media   #安装介质获取的方法

nfs --server=192.168.1.4  --dir=/jongo/os/as4

#System bootloader configuration

bootloader --location=mbr

#Clear the Master Boot Record

zerombr yes

#Partition clearing information

clearpart --all –initlabel     #清去磁盘所有的分区,如果是新盘,一定要添加确良initlabe 选项,否则在安装时会有提示信息的

#Disk partitioning information #磁盘分区信息,单位是兆

part /boot --fstype ext3 --size 100

part / --fstype ext3 --size 5000

part /home --fstype ext3 --size 500

part /var --fstype ext3 --size 500

part /tmp --fstype ext3 --size 1000

part /usr --fstype ext3 --size 5000

part /usr/local --fstype ext3 --size 5000

part /opt --fstype ext3 --size 100

part swap --size 600

#System authorization infomation

auth  --useshadow  --enablemd5

#Network information    #配置网卡设置

network --bootproto=static --ip=192.168.1.13 --netmask=255.255.255.0 --gateway=192.168.1.1 --nameserver=192.168.1.8 --device=eth0

#Firewall configuration  #防火墙设置

firewall --enabled --trust=eth0 --http --ftp --ssh --telnet --smtp

#XWindows configuration information

xconfig --depth=24 --resolution=800x600 --defaultdesktop=GNOME --startxonboot

#Package install information

%packages –resolvedeps  #要安装的软件包

@ base-x

@ gnome-desktop

@ kde-desktop

@ editors

@ engineering-and-scientific

@ graphical-internet

@ text-internet

@ office

@ sound-and-video

@ graphics

@ server-cfg

@ web-server

@ mail-server

@ smb-server

@ dns-server

@ ftp-server

@ sql-server

@ news-server

@ development-tools

@ kernel-development

@ x-software-development

@ gnome-software-development

@ kde-software-development

@ admin-tools

@ system-tools

%post   #安装后以后执行的脚本或命令。如:

/usr/sbin/useradd test

6. 创建安装介质的目录层次结构

a) 将安装光盘的第一张中的RELEASE-NOTES*文件都拷贝到nfs的共享路径下,如:

# cp /iso/ RELEASE-NOTES /jongo/os/as4

b) 在 /jongo/os/as4下建立RedHat目录

# mkdir RedHat

然后将第一张光盘下的RedHat 下的文件都拷贝到这个目录下:

# cp au /iso/RedHat/* /jongo/os/as4/RedHat/

同时将2~4张光盘下的 RedHat/RPMS下的文件都拷贝到/jongo/os/as4/RedHat/RPMS下面。如

# cp au /iso/RedHat/RPMS/* /jongo/os/as4/RedHat/RPMS/

然后将每张光盘下的/RedHat/RPMS/TRANS.TBL文件内容都合并到/jongo/os/as4/RedHat/RPMS/TRANS.TBL里面,如:

# cat /iso/RedHat/RPMS/TRANS.TBL >>/jongo/os/as4/RedHat/RPMS/TRANS.TBL

7. 实施安装

将待安装的机器的启动方式设置成网卡PXE启动模式第一顺序,然后重新开启待安装机器。安装后需要将启动顺序修改回来,以勉重复安装系统。

8. 关于PXELINUX参考文档

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