分享
 
 
 

用kickstart远程安装Linux系统

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

前言:原有系统是RH Linux 9.0,现想把它远程安装成RH AS3,安装过程中不需要任何交互式操作。使用kickstart结合WEB和DHCP可以做到这一点。kickstart的原理大概这样:使用要安装的内核镜像引导后,内核会读取指定位置的ks配置文件(ks.cfg),在安装过程中所需要的各项系统配置(键盘,鼠标,语言,分区等),都从这个配置文件里获取。我在这里使用HTTP方式进行安装,所以要先在网络中配置一台WEB服务器,用于下载安装文件;再配置一台DHCP服务器,因为在系统安装之初,它需要先通过DHCP方式申请一个IP地址,使自己能联到网络中,才能从HTTP服务器上下载文件。

1.在网络中配置一台http服务器,例如Apache;以及一台DHCP服务器。

2.将RH AS3的安装文件上传到web服务器的发布目录里,包含四个文件:

rhel-3-U3-i386-as-disc1.iso rhel-3-U3-i386-as-disc3.iso

rhel-3-U3-i386-as-disc2.iso rhel-3-U3-i386-as-disc4.iso

3.在发布目录里建好目录结构,包括:$web/disc1 $web/disc2 $web/disc3 $web/disc4 $web/RedHat $web/RedHat/base $web/RedHat/RPMS其中$web代表WEB发布目录。

4.将这4个镜像文件mount到本地文件系统:

mount -o loop -o ro rhel-3-U3-i386-as-disc1.iso disc1

mount -o loop -o ro rhel-3-U3-i386-as-disc2.iso disc2

mount -o loop -o ro rhel-3-U3-i386-as-disc3.iso disc3

mount -o loop -o ro rhel-3-U3-i386-as-disc4.iso disc4

5.进入新建的RedHat/base目录,把第一张盘里的base目录里的内容链接过来:

cd RedHat/base

ln -s ../../disc1/RedHat/base/* .

6.进入RedHat/RPMS目录,把所有盘里面的RPM文件链接过来:

cd RedHat/RPMS

ln -s ../../disc1/RedHat/RPMS/* .

ln -s ../../disc2/RedHat/RPMS/* .

ln -s ../../disc3/RedHat/RPMS/* .

ln -s ../../disc4/RedHat/RPMS/* .

上述过程可以写成脚本如下(在WEB服务器上安装文件存放的目录里执行):

--------------------------------------------------------

mkdir -p RedHat

cd RedHat

mkdir -p base; mkdir -p RPMS

cd ..

mkdir -p disc{1,2,3,4}

mount -o loop -o ro rhel-3-U3-i386-as-disc1.iso disc1

mount -o loop -o ro rhel-3-U3-i386-as-disc2.iso disc2

mount -o loop -o ro rhel-3-U3-i386-as-disc3.iso disc3

mount -o loop -o ro rhel-3-U3-i386-as-disc4.iso disc4

cd RedHat/base

ln -s ../../disc1/RedHat/base/* .

cd ../RPMS

ln -s ../../disc1/RedHat/RPMS/* .

ln -s ../../disc2/RedHat/RPMS/* .

ln -s ../../disc3/RedHat/RPMS/* .

ln -s ../../disc4/RedHat/RPMS/* .

7.创建ks.cfg配置文件,该文件决定安装或升级过程中的选项,ks.cfg文件可以放在web发布目录下,内容如下:

lang en_US

langsupport zh_CN en_US --default=en_US

keyboard us

mouse

timezone Asia/Shanghai

rootpw 1234

reboot

#upgrade

install

url --url http://192.168.14.202/rhas

#harddrive --partition=sdb1 --dir=rhas

#nfs --server=192.168.14.227 --dir=/home/pyh/rhas

text

bootloader --location=mbr

zerombr yes

clearpart --drives sda --initlabel

part / --fstype ext3 --size 3072 --asprimary --ondisk sda

part swap --size 256 --asprimary --ondisk sda

part /tmp --fstype ext2 --size 256 --ondisk sda

part /home --fstype ext3 --size 1 --grow --ondisk sda

auth --useshadow --enablemd5

#network --bootproto=dhcp --device=eth0

network --device=eth0 --bootproto=static --ip=192.168.14.144 --netmask=255.255.254.0 --gateway=192.168.14.15 --nameserver=202.96.128.68 --hostname=test05.188.com

firewall --disabled

skipx

%packages --resolvedeps

@ development-tools

@ kernel-development

@ admin-tools

@ system-tools

%post

/sbin/chkconfig --level 345 sshd on

/sbin/chkconfig --level 0123456 kudzu off

/sbin/chkconfig --level 0123456 cups off

/sbin/chkconfig --level 0123456 autofs off

/sbin/chkconfig --level 0123456 sendmail off

/sbin/chkconfig --level 0123456 atd off

/sbin/chkconfig --level 0123456 iptables off

/sbin/chkconfig --level 0123456 xinetd off

/sbin/chkconfig --level 0123456 portmap off

/sbin/chkconfig --level 0123456 pcmcia off

/sbin/chkconfig --level 0123456 gpm off

/sbin/chkconfig --level 0123456 rhnsd off

/sbin/chkconfig --level 0123456 isdn off

/sbin/chkconfig --level 0123456 nfslock off

/sbin/chkconfig --level 0123456 rawdevices off

/sbin/chkconfig --level 0123456 keytable off

/sbin/chkconfig --level 0123456 apmd off

/sbin/chkconfig --level 0123456 anacron off

/sbin/chkconfig --level 0123456 xfs off

/sbin/chkconfig --level 0123456 netfs off

/sbin/chkconfig --level 0123456 ip6tables off

/sbin/chkconfig --level 0123456 arptables_jf off

/sbin/chkconfig --level 0123456 microcode_ctl off

/sbin/chkconfig --level 0123456 irqbalance off

/sbin/chkconfig --level 0123456 mdmonitor off

/sbin/chkconfig --level 0123456 hpoj off

/sbin/chkconfig --level 0123456 sgi_fam off

/sbin/chkconfig --level 0123456 audit off

/sbin/chkconfig --level 0123456 firstboot off

/sbin/chkconfig --level 0123456 vsftpd off

解释:上述配置文件里,第一小节是kickstart命令,它决定安装过程中的选项。值得说明的是,本人在这里将安装方式设置为install,即重新安装一个新系统。如果不选择install,而选择upgrade,就会在原来系统基础上进行升级,原来的分区和文件系统,及安装的软件包都不会变。kickstart命令没有先后顺序。第二小节(%packages)是选择欲在新系统中安装的软件包。第三小节(%post)定制在系统安装完成后,执行的一些命令,这里的意思是在系统安装完成后,关闭所有服务,只开SSH服务。

关于kickstart每个命令的详细解释请参看:http://www.hk.redhat.com/docs/manuals/linux/RHL-9-Manual-CN/custom-guide/s1-kickstart2-options.html

8.在RH AS3第一个iso文件里的images目录下,有一个boot.iso文件,将它再展开,获得新系统的内核镜像文件,它们是vmlinuz和initrd.img,将他们拷贝到要安装系统的/boot目录下,重命名为:vmlinuz-as3,initrd-as3

9.在要安装的机器上,编辑/etc/grub.conf文件,加入内容如下:

title Upgrade to AS3

kernel /vmlinuz-as3 ro ks=http://192.168.14.202/rhas/ks.cfg

initrd /initrd-as3

ks=http://192.168.14.202/rhas/ks.cfg 这行决定配置文件的路径。

在这个文件里更改默认的启动顺序(例如default=1),将新内核启动选择为默认。

10.重启计算机,过20分钟后,一个新系统就诞生了,你可以通过SSH连上去进行操作。

补充:如果选择NFS方式或本地硬盘的方式进行安装或升级,原理跟上述是一样的,不过读取安装文件的方式有些不同。另外,这两种方式可以直接读取iso文件,而不必象上面那样把iso文件展开。

1)如果选择NFS方式安装,先要配置NFS服务器,将安装镜像文件(iso文件)放在NFS服务器上,然后在要安装的机器上,mount上这些文件。ks.cfg文件里对应的语句是:nfs --server=192.168.14.227 --dir=/home/pyh/rhas 前者是服务器IP地址,后者是安装文件目录。 /etc/grub.conf文件里对应的是:ks=nfs:192.168.14.227:/home/pyh/rhas/ks.cfg 指定ks配置文件的路径。

2)如果选择本地硬盘安装,那么ks.cfg里对应的地方改成:harddrive --partition=sdb1 --dir=rhas,前者是存放安装文件的分区,后者是目录,该分区的文件系统必须是vfat或ext2格式。grub.conf文件对应的地方改成:ks=hd:sda1/ks.cfg sda1是我的/boot分区,就是说将ks.cfg配置文件放在/boot目录下。如果选择硬盘安装,那么安装文件最好放在系统中的其他物理磁盘上。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有