分类: LINUX
2008-11-23 17:33:25
经常玩linux,难免会搞到系统乱得一踏湖涂,以至于不忍心再修复,用kickstart重新安装,现在的pc机有20分钟就已经搞定
了,而且全自动,装出一个和原来完全一样的新系统。
在文章最下方列出了一个使用kickstart自动安装linux系统的ks.cfg配置文件样本。
在/root目录下,大家都会看到一个anaconda-ks.cfg文件,这是第一次安装linux时自动生成的kickstart配置文件,其中记录了
系统安装过程中涉及到的所有过程、配置细节。
第一步:#cp /root/anaconda-ks.cfg ks.cfg
第二步:#vi ks.cfg
自动生成的这个配置文件是不能直接使用的,我们需要人工修改几处地方。
(1) 实现无须人工干涉的kickstart自动安装的一个前提条件是有一处集中的安装文件数据源,也就是要先把三张安装盘中的安
装文件拷到另一台机器上,并使用nfs,ftp,http中的一种方式进行共享。
假设我们有另外一台linux服务器(192.168.10.14),我们在其根目录下建/data/install目录。
#mkdir /data
#mkdir /data/install
顺序插入三张安装盘,并拷贝每张盘上的RedHat目录到/data/install目录下,最终三张光盘上的安装文件集中在了
/data/install/RedHat目录中。
(2)使用nfs,ftp,http三种方式中的一种共享/data/install目录。
(3)重新回到ks.cfg文件,第一行说明该文件是由anaconda产生;第二行开始进入正式配置内容。第二行是"install",表明开始
安装linux系统。
(4)在第二行"install"后,手工插入一行“安装文件路径”:
http方式为:
url --url
ftp方式为:
url --url ftp://username:passwd@192.168.10.14/data/install
nfs方式为:
nfs --server=192.168.10.14 --dir=/data/install
当然还有一种从本地硬盘安装的方式,需要事先把安装文件全部用上面提到的方法拷到硬盘的某一个分区,或是第二块硬盘上。
如果是放在同一块硬盘的某一分区中,则ks.cfg 文件中关于硬盘分区的段落也要做相应改变,本例中是直接把hda的所有分区删
掉,然后按需分配生成和个新的分区。我以放在第二块硬盘上的情况为例,简单说明一下,这种情况无须调整ks.cfg的硬盘分区
段落。我们假设/data/install目录放在了/dev/hdb1的硬盘分区上,则在第二行"install"后插入下面一行:
harddrive --partition=hdb1 --dir=/data/install
本例是以http方式做的说明。
(5)接下来分别是安装语言、支持的语言、键盘、鼠标的配置,每个配置占一行,保持原状即可。
(6)在鼠标配置行下插入一个新行:
text
同时删除下面的"xconfig ....."这一行中的"--startxonboot",如果没有这一项则不必做改动。先插一行,再删一项的目的就
是让安装在文本模式中进行。
(7)xconfig这一行直接反映你在安装时对X窗口所做的配置,而network这一行是你在安装时设置的网络配置,如果是进行的
kickstat网络安装,则这一项必须正确填写。因为我的机器和存放安装文件的服务器在两个局域网中,所以配置了网关
172.16.80.1
(8)下面介绍硬盘分区:
clearpart --all --drives=hda
该行的作用是删除hda硬盘上的所有分区,如果想保留其它的windows分区,则可以写成:
clearpart --linux --drives=hda
下面介绍如何创建其它分区,先介绍删掉所有hda分区的情况:
part /boot --fstype ext3 --size=99 --ondisk=hda
新建/boot分区,格式为ext3,大小为99M,在hda硬盘中创建。
接下来又创建了/,swap分区,可以根据需要再创建其它分区,格式相似。
另外一种情况是想使用已经存在的linux分区,可以像下面这样进行分区:
part /boot --fstype ext3 --onpart hda1
part / --fstype ext3 --onpart hda2
part swap --size=500 --ondisk=hda
注:这种情况,我试了几次,也未能成功,报相同的错误,说是无法为/boot分区找到hda1,目前我还没找到原因。
第三步:制作网络安装启动盘
把第一张光盘放入光驱,然后放一张软盘在软驱中,运行命令:
#dd if=/mnt/cdrom/images/bootdisk.img of=/dev/fd0
注:这里是以rhEL版本做的说明,如果rh9的话就要换做bootnet.img了
第四步:拷贝ks.cfg到软盘启动盘中,在光驱中放入第一张光盘,重启系统
出现光盘安装界面后,键入:linux ks=floppy , 并插入软盘
结束。
ks.cfg配置文件如下:
# Kickstart file automatically generated by anaconda.
install
url --url
lang en_US.UTF-8
langsupport --default zh_CN.GB18030 zh_CN.GB18030 en_US.UTF-8
keyboard us
mouse generic3ps/2 --device psaux
text
xconfig --card "ATI Mach64 3D Rage IIC" --videoram 4096 --hsync 30-61 --vsync 50-75 --resolution 1024x768
--depth 24 --defaultdesktop gnome
network --device eth0 --bootproto static --ip 172.16.80.120 --netmask 255.255.255.0 --gateway 172.16.80.1
--nameserver 172.16.80.1 --hostname linuxas
rootpw --iscrypted $1$jUwqrlKn$mT8UyFizjlPcz7HFJDWG40
firewall --disabled
authconfig --enableshadow --enablemd5
timezone --utc Asia/Shanghai
bootloader --location=mbr
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --drives=hda
part /boot --fstype ext3 --size=99 --ondisk=hda
part / --fstype ext3 --size=3444 --ondisk=hda
part swap --size=500 --ondisk=hda
%packages
@ base-x
@ web-server
@ smb-server
@ printing
@ text-internet
@ server-cfg
@ dialup
@ admin-tools
@ chinese-support
@ gnome-desktop
@ graphical-internet
@ compat-arch-support
kernel
grub
%post