存档

文章标签 ‘kickstart’

U盘全自动安装linux系统|无人值守快速安装linux

2011年2月22日 没有评论

8分钟安装centos系统,你信吗?

前言:
一杯茶的时间,服务器上的centos系统就安装完成了,而且是按照你的意愿定制安装,这里U盘

安装系统,比光驱安装,节省了不少安装时间,比网络安装节约了一台服务器资源,而且是一劳永逸

,方便保管。

背景:
公司每次有新服务器上架,都要亲自前往机房安装系统,并且是带安装盘和光驱过去安装,显得比较

累赘。这里介绍U盘来自动完成这些事情。

安装前的准备:
1.8G或者16G的u盘一个,(8 G的可以做单个系统版本,16G的可以做多个系统选择安装)
2.Windows版的syslinux.exe(当然可以直接用linux系统自带的syslinux,不过linux的syslinux做引

导处理有点麻烦,所以改用windows版的syslinux.exe.麻烦在哪里?执行完syslinux -s /dev/sda1

后还要来个dd 操作)
3.Centos5.x 系统DVD版ISO文件(32位和64位的ISO文件)
4.Windows.linux 系统平台,用来分区,复制ISO文件和写入mbr等操作

U盘安装的优点:
1.携带方便。选择u盘有电话卡那么大的,直接挂钥匙串上。
2.保存的时间比较长,dvd盘放置一段时间就脏了,影响安装质量。
3.安装速度快。我测试的安装时间在8分钟左右。比光驱快很多。
4.相对于网络安装,配置简单,不需要其他介质。(nfs,dhcp,tftp)

u盘安装达到的效果:
1.自动安装centos5.x 32位版本
2.自动安装centos5.x 64位版本
3.手动选择安装选项来安装centos 5.x 32位版本
4.手动选择安装选项来安装centos 5.x 64位版本

U盘安装命名规则:
U盘插在服务器上应该被认成时sdb,(服务器一块硬盘的情况下,自己的硬盘是sda),在U盘上分3

个区,sdb1 sdb2 sdb3

32位系统的 vmlinuz initrd.img 文件分别命名为 vm32 init32.img
64位系统的 vmlinuz initrd.img 文件分别命名为 vm64 init64.img

U盘分区方案:
分区名 分区大小 分区类型

Linux系统上操作

1.上传ISO文件,(32位和64位的centos)到/mnt/iso1 /mnt/iso2

2.挂接这个镜像文件,以便我们可以使用镜像文件里的目录

3.检验U盘是否被成功识别

4.创建分区。

创建 /dev/sdb1和/dev/sdb2和sdb3三个分区。
其中/dev/sdb1给200M的空间,/dev/sdb2.i给5G,/dev/sdb3给5G,
为什么要分这么多区,这里对/dev/sdb1 操作的时候不会影响到镜像文件,/dev/sdb2 放32位的

centos ,/dev/sdb3放64位的centos。

5.创建文件系统。

这里创建之后,不要忘记有个操作。使用partprobe命令重新读取分区表

6.挂载新分区

7.复制文件操作
复制isolinux

复制ISO文件

复制anaconda,这个文件作为ks的模板,然后在这基础上修改。

查看修改过的自动应答文件。(这里我以32位的centos系统举例)

注意:
这里是32位的系统,手动配置版的cfg文件。64位版的呢,只需要将harddrive –partition=sdb2 –

-dir=/
改为harddrive –partition=sdb3 –dir=/ 即可

(请确定你所键入来源分区和子目录信息的正确性)。
具体kickstart文件介绍,请看http://54im.com/index.php/linux/linux-kickstart-man.html

手动安装centos版本的cfg文件,这里是因为我实验过程中,没法定义U盘的ISO位置,这里我选择假

的自动应答文件,来实现定义镜像位置。

注意:
这里是32位的配置,64位的手动安装centos版配置只需要将harddrive –partition=sdb2 –dir=/
改为harddrive –partition=sdb3 –dir=/ 即可

8.定义syslinux.cfg文件
文件名 /mnt/usb1/syslinux/isolinux.cfg改为/mnt/usb1/syslinux/syslinux.cfg

注意:
说明(以32位系统为例)
label auto-32
kernel vm32
append ks=hd:sdb1:/32ks.cfg initrd=init32.img
这里是做了修改的,其作用是u盘引导到boot界面的时候,输入auto-32 会去读vm32(这个文件是从

ISO复制过来重命名的,vmlinuz)这个文件,然后硬盘方式(u盘也被认为是硬盘)引导系统,其所

需的centos镜像文件在u盘的第二个分区,并且使用kickstart自动安装,指定kickstart配置文件的

路径为/32ks.cfg,即u盘第一个分区的根目录下,然后镜像文件,是刚刚复制过来改过名字的

init32.img

  *.msg Linux启动菜单信息
  vmlinuz Linux内核
  *.img Linux镜像文件
  *.cfg Linux启动配置文件,类似于grub.conf。如果是光盘的话,该文件名是isolinux.cfg,如

果是U盘的话该文件名是syslinux.cfg。

vmlinuz文件该文件是Linux的内核,大小是1M多,不用手工去制作,安装什么版本就去什么版本

的安装光盘中的isolinux目录中找就行了,除非你要自定义内核。该文件可以改名,只要在配置文件

里指定就行了。如果是ISO镜像或光盘引导安装,该文件名的长度可以超过8个字符,最长多少我没有

测试,如果是U盘引导的话,该文件名的长度不能超过8个字符,否则引导启动载入内核时会提示找不

到内核文件。

  *.img文件该文件是Linux启动镜像,大小一般不超过8M,也不用手工去制作,到各版本的安装光

盘的isolinux目录中找就行了。该文件可以重命名,只要在配置文件里指定就行了。如果是ISO镜像

或光盘引导安装,该文件名的长度包括后缀.img可以超过12个字符,最长多少我没有测试,如果是U

盘引导的话,该文件名的长度包括后缀.img不能超过12个字符,否则引导启动载入镜像时会提示找不

到镜像文件

复制32位系统和64位系统的initrd.img和vmlinuz文件到/mnt/usb1/syslinux这里。并且名字叫做

init32.img init64.img vm32和vm64 这里名字是可以自己定义的。

我syslinux下面的文件列表。

9.最后修改boot.msg文件 这里定义选择安装方式界面!

10.windows上的操作。
拔出u盘,把它插在windows系统的机器上,然后执行命令 syslinux.exe -a -m i: 就开始写mbr和

生成文件ldlinux.sys文件。注意u盘在linux下分了3个区,在windows下只能识别被格式化成的dos的

那个分区(/dev/sdb1)。到这一步,前期的处理基本完成了

U盘无人值守安装linux系统

kickstart 语法详解

2011年2月21日 没有评论

kickstart 语法

我们探讨ks.cfg 的相关参数,这些参数笔者将依上述ks,cfg 出现的先后顺序来讨论,有些参数并不是一定要设置。完整的kickstart 参数意义可参考下列网址。

http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/s1-kickstart2-options.html

注:reboot命令应该设置在command区段中,它表示安装完成后重新引导系统。

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 子目录
(请确定你所键入来源分区和子目录信息的正确性)。
harddrive
    从本地驱动器的vfat或ext2格式的红帽安装树来安装.
    –biospart=,从BIOS分区来安装(如82).
    –partition=,从分区安装(如sdb2).
    –dir=,包含安装树的variant目录的目录.
      例如:harddrive –partition=hdb2 –dir=/tmp/install-tree

nfs – server—your server –dir=/your directory path

— server = 指定安装来源服务器
— dir = Red Hat 子目录
(请确定你所键入来源分区和子目录信息的正确性)。

url – url http://your 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 安装完成后。能有效的执行命令去安装其它的软件或者设置系统信息。

分类: linux, maintain 标签: ,

kickstart自动应答文件anaconda-ks.cfg详解

2011年2月18日 没有评论

公司最近要做一个U盘安装linux系统,这里贴下自动应答文件,希望能帮到其他同学们

分类: linux 标签: , ,