RHEL5.8系统安装及Kickstart

实验环境:RHEL5.8 32Bit

RHEL5.8系统安装及Kickstart详解

·anaconda

在系统的安装过程当中,有一个重要的程序给我们提供了系统安装过程的配置界面,这个程序叫做anaconda,anaconda主要分为两个配置阶段,第二个配置阶段的配置文件叫做stage2.img,这个文件是一个完整的文件系统,在这个文件系统当中主要配置了anaconda程序,和它所依赖的所有的运行环境和文件,该文件位于images目录当中,anaconda提供的配置界面也有两种方式:

1,纯文本界面

2,GUI界面

·Kickstart

anaconda需要我们去配置很多的信息,为了完成自动化安装操作系统,anaconda给我们提供了一个能够自动读取的配置文件叫做kickstart,kickstart当中保存了我们在使用anaconda配置过程当中所有可以实现的配置过程,因此anaconda在启动安装过程的时候,如果能够读取到kickstart文件,就能够实现完全的自动化安装我们的操作系统,事实上我们每一次安装完成一个操作系统的时候,在每一个系统的管理员用户的家目录下就会生成一个叫做anaconda-ks.cfg的文件:


该文件中保存了我们在安装系统的过程当中所选择的配置信息,该文件可以作为我们自定义kickstart文件的样板文件,kickstart文件主要分成了三个部分:

1,命令段(命令部分)

该段中所定义的内容就是我们所配置的选项,比如键盘类型、管理员密码等等,这些所有配置的内容都需要使用一个命令来指定,因此我们称这部分内容为命令段,比如:

->install命令

表示安装操作系统而不是升级操作系统

->cdrom命令

表示通过光盘安装操作系统,而不是硬盘

->key --skip命令

表示我们在安装操作系统的过程当中跳过输入序列号的步骤

->lang命令

表示我们选择的语言类型

->keyboard命令

表示我们选择的键盘类型

以上的这些内容我们统称为命令段的组成部分。

kickstart的文件中的命令段的命令有两种类型:

1,必备的命令

->keyboard指定键盘类型

keyboard us表示使用美式键盘

->lang指定语言

使用locale -a命令可以显示我们系统上所支持的所有的语言类型:

->timezone指定时区

用法:timezone [--utc(表示使用utc时间)] <时区>

使用timeconfig命令可以查看本机所支持的所有时区:

->rootpw指定管理员密码

用法:rootpw [--iscrypted(表示对密码进行加密)] <password>

->auth/authconfig指定认证方式

我们系统上默认的认证方式是通过/etc/passwd和/etc/shadow两个文件来认证的,这种方式的命令用法是:

auth --useshadow/--enableshadow

->bootloader表示装载引导加载器

指定bootloader如何进行安装,安装在哪块磁盘上,安装在什么位置当中,--location选项就是用来指定安装位置的,如果不指定--location选项,那么默认就是安装在MBR当中的,如果我们使用的bootloader是grub的时候,要加密码的话就得使用--password选项,bootloader命令通常不需要跟选项,要跟也是跟--location选项。

2,可选命令

->autopart表示自动分区

->ignoredisk --drives=...表示忽略掉某块磁盘

--only use选项表示白名单,表示仅去使用某块硬盘

->autostep表示对大多数选项都可以自动跳过,而选择一个默认的可选项

->clearpart用来指定分区的清除方式以及是否初始化标记

标记指的是分区表的类型

--all选项表示移除所有分区

--linux选项清除所有的linux分区,该选项是最保险的做法,如果我们的计算机上此前安装过linux系统,那么使用该选项就可以将此前linux所在的分区清除

--none选项表示不清除任何分区,即使用空闲空间来安装我们的linux系统

--initlabel

该选项表示如果我们的系统此前没有分区表,那么就使用该选项为我们的系统初始化一个分区表,对于一个完全全新的系统来讲,我们就应该使用该选项,该命令的默认选项是--none

->driverdisk该命令用于驱动磁盘

我们也可以在ks文件中指定驱动磁盘,如果想要在ks文件中指定驱动程序,那么得使用driverdisk --source=...命令,这样做有一个好处,那就是我们驱动磁盘的镜像文件可以直接放到网络上的服务器当中,如果磁盘文件是在硬盘的某个分区上,那么就直接指定硬盘的分区即可,用法:

driverdisk <partition> [--type=<fstype>]

->firewall表示是否启用防火墙

--enabled选项表示启用防火墙

--trust=--ssh...等等表示哪些服务可以通过防火墙

--disabled选项表示禁用防火墙

->firstboot表示我们安装系统时第一次启动的配置界面

--enabled选项表示启动该界面

--disabled选项表示禁用该界面

->halt表示系统安装完成之后关机

->graphical表示安装系统的界面是图形化的

->text表示安装系统的界面是文本形式的

如果不指定以上两个命令的话,默认是图形化安装的。

->install表示安装系统

install cdrom表示通过光盘安装系统

install harddrive表示通过硬盘安装系统,需要指定硬盘所在的分区,用法:

harddrive --partition=hdb2

install url --url=...表示通过网络安装,我们的安装文件在网络上的服务器当中

->interactive表示交互模式

->iscsi表示我们的安装内容需要配置在iscsi设备上面

->key表示系统的安装过程需要我们提供密钥

--skip选项表示无需提供密钥

->logvol(logical volume)表示指定逻辑卷

我们可以指定如何划分分区以及如何指定逻辑卷

用法:logvol 挂载点 --fstype ext3 -name(逻辑卷名)=... --vgname(卷组名)=... --size(逻辑卷的大小)=...

逻辑卷也得指定挂载点

->part/partition表示创建分区

用法:part 挂载点 --fstype ext3 --size=...

创建方法:指定分区、指定挂载点以及指定创建的设备

part pv.<id> --size=...表示创建物理卷

pv的id号可以自定义,只要两个pv的id号不同即可,pv的id只是为了让ks文件去区分不同的pv

part raid.<id>表示创建raid设备

--size选项表示指定大小

--grow选项表示自动扩展到所有可用空间

--maxsize选项表示最大空间是多少

--ondisk选项表示在哪个磁盘上创建

--fstype选项表示文件系统的类型

--start选项表示从哪个柱面开始创建分区

--end选项表示从哪个柱面结束

--label选项表示分区的卷标

->volgroup表示创建卷组

用法:volgroup 卷组名

--pesize选项表示PE的大小,卷组名后面再跟上将哪些物理卷创建为卷组的信息

命令格式:volgroup vol0 --pesize=... pv.100000

PE的单位是K而不是M。

->mediacheck

该命令用于检查光盘介质,光盘介质一般没有必要检查

->network表示配置网络属性

该命令也可以在系统安装界面的boot提示符下去配置

--bootproto=...选项用来确定我们的引导协议

--device表示地址配置到哪一块网卡上

->poweroff表示系统安装完成之后关机

->raid表示用来配置raid设备

->reboot表示系统安装完成之后重启计算机

->repo表示定义yum仓库

->selinux

--disabled选项表示直接禁用selinux,如果使用该选项,那么在我们想启用selinux的时候,就得重新启动操作系统

--permissive建议使用该选项来禁用selinux,因为使用该选项来禁用seliniux,如果我们将来将启用selinux的时候,可以很容易的启用起来

->skipx表示是否跳过图形界面配置

如果跳过就无法使用图形功能

->upgrate

安装system-config-kicckstart工具之后,我们就可以使用ksvalidator命令,该命令可以帮助我们来检查ks文件中是否有语法错误:

安装完成该工具之后我们还可以使用该工具来打开一个图形界面,来配置我们的kickstart文件,配置完成后一保存就是我们的kickstart文件:

2,软件包选择段

%packages使用该字符引导的信息我们就称它为软件包选择段,这一部分的信息中保存了,我们的系统在安装的过程当中所选择安装的每一个软件包的包组或软件包的名字。

3,脚本段

脚本段没有生成任何信息,一般来说就算我们定义了脚本段的内容,也不会显示出来,因为脚本段都是一些事关系统配置的信息,系统在安装完成之后还可以执行一些脚本,这些执行的脚本我们称之为脚本段,脚本段的内容是可选的,就算没有任何脚本信息也没有关系,如果有的话脚本段可以被分为两部分:

->预安装脚本段%pre

在系统安装之前就要执行的脚本

->后安装脚本段%post

系统安装完成之后所要执行的脚本,对我们而言最常用的是后安装脚本段,因为在系统真正被安装完成之前,很多命令都是不可用的,那个时候所使用的环境,就是stage2当中的文件系统,很多命令都不存在,所以这个时候在我们的系统当中可以正常执行的脚本,在系统安装之前未必可以执行,所以系统安装之前的脚本写起来是很困难的,是受限制的。

一旦我们将我们所应该使用的指令,要安装的额外的软件包,以及要执行的脚本写入了kickstart文件,那么我们在系统的安装过程启动界面当中,就可以让我们的系统去装载kickstart文件了,kickstart文件在我们安装系统的过程中放在哪个路径下,我们应该事先规划好,而后在安装系统的过程当中直接使用ks=...,来告诉我们的安装过程到什么地方去装载kickstart文件即可。

系统再启动安装的时候,我们可以在系统的安装启动界面下输入linux askmethod命令,这个命令可以使得系统向我们询问操作系统的安装方法,是通过本地光盘安装还是通过网络安装等等,在系统的安装界面的boot提示符下输入linux dd命令,就可以实现装载额外的驱动程序,输入之后系统会提示我们去装载对应设备上的驱动程序,以上的这些命令在我们的每一个安装提示符下都具备。

在系统的安装界面下,linux这个命令后面可以跟上许多的命令,这些命令都是anaconda可以接收的选项或者命令,也就意味着,我们可以将这些命令写入anaconda的配置文件当中,如果不想写入anaconda的配置文件中,也可以直接跟在linux命令后面,大多数都可以跟在linux命令的后面,askmethod是一个命令行的选项,askmethod一般而言是不会写入kickstart文件当中去的,因为它们两个并不完全等同,在kickstart文件当中它叫做kickstart命令,它们两个不过彼此之间有重叠的部分而已。

系统在安装的过程当中,安装界面的boot提示符可以使用的命令有:

1,askmethod

2,dd=...(设备)

表示用来加载额外的驱动盘

3,ip

该命令用来指定ip地址,如果想让系统自己获取动态ip地址的话,就是用ip=‘dhcp‘即可

4,netmask

该命令用来指定子网掩码

用法:netmask=...

5,gateway

该命令用来指定网关

用法:gateway=...

6,dns

该命令用于指定dns的服务器地址,可以指定多个地址,不同的地址使用逗号隔开

7,ks

该命令用来指定获取kickstart文件的位置

ks=http://<server>/<path>表示到web服务器上获取kickstart文件

ks=nfs:<server>:/<path>表示到nfs服务器上获取kickstart文件

ks=floppy:/<path>表示到软盘上获取kickstart文件

ks=hd:<device>:/<file>表示到硬盘上的某个分区上获取kickstart文件

例如ks=hd:sda3:/mydir/ks.cfg,后面的文件路径和我们的文件系统没有关系,因为此时我们的文件系统还没有被挂载,我们是直接访问硬盘上的目录,如果硬盘上没有该目录,那就表示该文件在我们的根分区下,相对于硬盘而言该目录就是根。

ks=file:/<file>表示到我们的initrd文件当中获取kickstart文件,我们可以将kickstart文件打包至我们的initrd文件当中

ks=cdrom:/<path>表示从光盘上获取我们的kickstart文件

ksdevice=<device>:

我们在获取kickstart文件的时候,有时候会通过网络获取,ksdevice表示我们是通过哪个网卡来获取设备来获取ks文件的,例如ksdevice=eth1表示我们是通过eth1这个网卡来获取ks文件的,如果我们的计算机上有多快网卡的话。

8,mediacheck

该命令表示进行光盘检查,这个过程我们可以跳过

mediacheck=no表示不做光盘检查

9,method

该命令表示安装系统的过程当中使用什么方式

10,nonet

该命令表示不启用网络功能

11,noprobe

该命令表示不探测硬件信息,不装载特殊的硬件设备,有时候我们在安装操作系统的时候,如果我们的计算机上有一些比较特殊的硬件存在,我们的系统可能会和这些特殊硬件不兼容,这样有可能会导致我们的安装过程崩溃,因此为了避免这种情况的出现,我们可以使用该命令,使得我们的系统不装载其他额外的特殊的硬件设备的驱动程序。

12,nousb

该命令不使用usb设备

13,rescue

该命令表示进入紧急救援模式

以上这些所有的命令都得跟在linux命令后面

我们可以在系统安装界面的boot提示符下配置ip地址,也可以在kickstart文件当中配置ip地址,事实上在装载ks文件之前,boot提示符下的命令都是生效的,一旦ks文件装载完成之后,ks文件中的配置就会生效,所以boot提示符后的命令和ks文件中的命令的生效阶段是不一样的。


时间: 2024-11-05 19:28:19

RHEL5.8系统安装及Kickstart的相关文章

马哥笔记第十五天系统安装、kickstart、anaconda、dhcp、tftp、pxe

Linux系统安装: 安装前的配置阶段(既可交互式进行,亦可直接读取配置文件自动完成),自动配置文件就叫kickstart文件 建议单独分区:/home./usr.swap./var 不能单独分区:/proc, /sys, /etc, /bin, /sbin, /lib, /media, /mnt, /dev /boot:只能放在标准分区上不支持lvm设备类型. echo $$:特殊变量,获取最后进程的进程号 光盘安装系统时会模拟个MBR,在isolinux目录下会先启动isolinux.bin

Linux自学笔记——Centos系统安装

安装程序:anaconda bootloaderàkernel(initrd(rootfs))àanaconda anaconda的两种方式: tui:基于cureses的文本配置窗口: gui:图形界面: centos的安装过程启动流程: 以光盘启动安装为例: MBR:boot.cat stage2:isolinux/isolinux.bin 配置文件:isolinux/isolinux.cfg 每个对应的菜单选项: 加载内核:isolinux/vmlinuz 向内核传递参数:append 

RHEL5.5没有安装GCC导致一些软件无法编译安装

由于Gcc的依赖关系太过复杂,用rpm的方式来安装gcc的话太过于麻烦,所以以下用yum的方式来让他自动解决安装的依赖关系 注意:由于/etc/yum.repos.d/有一个rhel-debuginfo.repo的文件(这里不解释),直接给他备份一下,然后新建一个以".repo结尾"的文件!!! 下面来操作一下 1)挂载RHEL5的系统安装光盘 [[email protected]~]# mount /dev/cdrom /mnt 2)备份rhel-debuginfo.repo ,并新

Linux Basics

计算机体系结构: 运算器 控制器 存储器,内存,编址 输出设备 输入设备 POST:BIOS 自举 程序:指令+数据 RAM: ROM: 硬件架构: ARM x86 x64 安腾 alpha UltraSparc Power M68000, M68K PowerPC OS: Windows Linux Unix HP-UX Solaris AIX SCO UNIX Unixware OS/2 内核功能: 进程管理 内存管理 文件系统 网络功能 硬件驱动 安全机制 批处理系统 jobs1$$$$$

Linux basic (2)

编程能力: 脚本编程 grep, sed(流编辑器), awk sed基本用法: sed: Stream EDitor 行编辑器 (全屏编辑器: vi) sed: 模式空间 默认不编辑原文件,仅对模式空间中的数据做处理:而后,处理结束后,将模式空间打印至屏幕: sed [options] 'AddressCommand' file ... -n: 静默模式,不再默认显示模式空间中的内容 -i: 直接修改原文件 -e SCRIPT -e SCRIPT:可以同时执行多个脚本 -f /PATH/TO/

20150830 Linux系统管理 --磁盘管理与系统管理

前部分内容为基础内容,后续培训内容包括 A  磁盘和文件系统管理:      B  RAID, LVM; btrfs;      C  程序包管理:rpm, yum(dnf)      D  Linux的网络管理;      E   进程和作业管理:htop, glances, tsar:      F   sed和awk:      G  Linux系统的开机启动流程:      H  内核基础知识,内核定制编译:      I    系统安装:kickstart, pxe 第一.磁盘和文件系

PXE网络无人值守装机

装的主机: 原理和概念: 1.1 什么是PXE  严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动.协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PX

LinuxDevOps两个月学习路线安排

01_01_面授班开场.mp401_02_面授班开场.mp401_03_操作系统基础.mp401_04_Linux操作系统基础.mp402_01_Linux操作系统及常用命令.mp402_02_Linux操作系统及常用命令.mp402_03_Linux根文件系统详解.avi02_04_Linux文件管理命令详解.avi03_01_Linux文件管理类命令详解.avi03_02_bash特性详解.avi03_03_bash特性详解.avi03_04_Linux用户及权限详解.avi04_01_Li

linux从小白到linux资深专家之路

为什么学Linux,理由如下:    Linux是免费:    Linux是开源的,你可以修改源代码:    Linux是开放的,有广泛的社区:    学习Linux可以更好的掌握计算机技术:    Linux是未来发展的趋势:    Linux有非常多的发行版本,你可以根据需要做出不同的选择:    Linux让你多了一个选择:    Linux是一种自由哲学,一种开源的信仰:    学好linux,可以装逼,最重要一点,技多不压身. 学习linux不要一下子就上来学架构之类的,一定要打好基础