博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置ks.cfg实现自动安装过程
阅读量:5844 次
发布时间:2019-06-18

本文共 2551 字,大约阅读时间需要 8 分钟。

Linux安装详解-配置ks.cfg实现自动安装过程

linux安装大致可以分为2个阶段

第一阶段:anaconda

第二阶段:installinstall阶段系统会按照anaconda阶段设定的参数自动安装,这里主要说的是anaconda阶段,此阶段是linux的预安装环境,提供linux安装选项的一个接口,可以将它比作是window中的PE环境

anaconda有两种模式:交互式和非交互式

交互式就和普通安装一样,按照提示选择选项一步步的安装

非交互式则通过读取kickstart文件的配置,进行自动安装,这和window中的无人值守安装差不多的,这个文件即是ks.cfg文件(相当于window中的wi2k3.sif应答文件)

而在安装linux过程中,获取ks.cfg文件的方式有多种,如直接在cdrom中获取,常见的形式还有http,ftp,nfs等方式

格式有三种:

cdrom和硬盘

ks=cdrom:/dir/ks.cfg(硬盘的话把cdrom换成hd即可,下面的类似)

http和ftp

ks=

NFS

ks=nfs:domain.com:/dir/ks.cfg

三种格式主要区分在于后面的斜杠,这里要注意区分

在使用ks.cfg之前,需要先引导启动环境

引导方式有很多,cdrom,usb,PXE等。

在引导进入anaconda后,即可通过读取ks.cfg来进行系统的自动安装

这里开始说说kickstart文件的大致内容

ks.cfg文件组成大致分为3段

1.命令段:

键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项

2.软件包段:

%packages

@groupname:指定安装的包组

package_name:指定安装的包

-package_name:指定不安装的包

在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。

3.脚本段(可选):

%pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)

%post:后安装脚本(基本支持所有命令)

而具体的ks.cfg文件的配置,我们只需要在已经安装好的linux的root家目录找到anaconda_ks.cfg(这个ks文件就是在安装linux后,根据用户的安装选项自动生成的)

下面的是一个样例

(系统是CentOS-6.2-i386-minimal,所以配置样例比较精简)

.# Kickstart file automatically generated by anaconda.

.#version=DEVEL

install #表示是安装,而不是升级

text #文本方式安装

cdrom #安装方式,如果是网络安装的话可以写成 url ––url ftp://192.168.1.254/dir 或者 nfs --server=192.168.0.241 --dir=/centosinstall

key –skip #这个是另外添加的,如果是RedHat的系统,会要求输入key,这里配置为跳过,如果不配置安装时会停在那里要求用户输入key

lang en_US.UTF-8 #语言

keyboard us #键盘样式

network --onboot no --device eth0 --noipv4 --noipv6 #网络配置 配置具体参数样例:network –onboot yes --bootproto=static --ip=192.168.1.1 --netmask=255.255.255.0 其他网关,DNS等格式和ifcfg-ethx的方式一样

rootpw --iscrypted $6$PEJ49S7OkrNra3UM #管理员密码,是加密过的 要是使用不加密的方式则这样写:rootpw 123456

firewall --service=ssh #开启防火墙,并打开ssh端口

authconfig --enableshadow --passalgo=sha512 #用户认证和密码加密方式

selinux --enforcing #强制打开selinux

timezone --utc Etc/GMT+8 #时区设置

zerombr yes #清空磁盘的mbr

bootloader --location=mbr --driveorder=sda #引导程序相关参数

.# 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 –initlabel #初始化磁盘

part / --fstype=ext4 --size=18000 #开始分区

part swap --grow --size=1024
repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100

reboot

%packages --nobase #安装的软件包,这里由于我安装的是最小mini版,所以只安装了核心软件包组

@core

%post #后安装脚本(这里是另外添加的,原来文件中没有)

id lustlost &>; /dev/null || useradd lustlost #检查是否有lustlost用户,如果没有则添加
echo 123456 | passwd –stdin lustlost #配置密码

cat >> /etc/yum.repos.d/base.repo << eof

[base]
name=baseserver
baseurl=
gpgcheck=0
enable=1
eof #这里在安装系统成功后执行脚本自动配置一个yum源,其他脚本可以按照需要定义

%end

转载地址:http://yqqcx.baihongyu.com/

你可能感兴趣的文章
Elasticsearch或查询
查看>>
分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控
查看>>
HBase编程 API入门系列之工具Bytes类(7)
查看>>
WP7开发第一课:WP7项目组织结构&简单登陆例子(其二)
查看>>
Maven 简单配置gpg
查看>>
波特率原理【转】
查看>>
Virtual Machine虚拟机原理
查看>>
20篇教你得到酷炫效果的JQuery教程
查看>>
DotNET企业架构应用实践-架构师成长之路-如何成为优秀架构师
查看>>
【日常小记】linux中强大且常用命令:find、grep【转】
查看>>
再看知名应用背后的第三方开源项目【转】
查看>>
C#实现php的hash_hmac函数
查看>>
Beam编程系列之Python SDK Quickstart(官网的推荐步骤)
查看>>
使用最大似然法来求解线性模型(3)-求解似然函数
查看>>
git学习——Git 基础要点【转】
查看>>
理解 JavaScript 闭包
查看>>
Oracle之:Function :dateToNumber()
查看>>
sun.misc.Unsafe的理解
查看>>
Hadoop-No.6之文件在HDFS中的位置
查看>>
Linux内核中的中断栈与内核栈的补充说明【转】
查看>>