linux ks脚本,kickstar-KS文件和语法解析

# KS文件和语法解析

[TOC]

## 1ks说明

### 1.1ks文件说明

使用kickstart,只需事先定义好一个Kickstart自动应答配置文件ks.cfg(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了在安装过程中多次的人机交互,从而实现无人值守的自动化安装。

### 1.2生成kickstart配置文件的三种方法:

* 方法1:

每安装好一台Centos机器,Centos安装程序都会创建一个kickstart配置文件,名字叫anaconda-ks.cfg位于/root/anaconda-ks.cfg ,记录真实安装配置。

* 方法2:

Centos提供了一个图形化的kickstart配置工具。在任何一个安装好的Linux系统上运行该工具,就可以很容易地创建你自己的kickstart配置文件。

* 方法3:

阅读kickstart配置文件的手册。用任何一个文本编辑器都可以创建你自己的kickstart配置文件。

官方链接:

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/installation_guide/sect-kickstart-howto

### 1.3kickstart文件语法检查

```sh

yum install pykickstart

ksvalidator /var/www/html/ks_config/CentOS-7-ks.cfg

```

请记住这个验证工具有其局限性。Kickstart 文件可能会很复杂;ksvalidator 可保证其语法正确,且该文件不包含淘汰的选项,但它无法保证安装会成功。它也不会尝试验证 Kickstart 文件的 %pre、%post 和 %packages 部分。

### 1.4root密码生成

1)python法

```python

python -c 'import crypt; print(crypt.crypt("123456"))'

$6$mM/gpJHUs......AFcT3Q0CMJCqWk9d90

```

2)grub-crypt法

```

grub-crypt

Password:

Retype password:

$6$npM35T......PburyA/FFDbdeGvnUrWpWi.

```

## 2ks.cfg详解

### 2.1ks文件组成

1. 命令段

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

2. 软件包段

以%packages开头,以%end结束,在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。

```

@groupname:指定安装的包组

package_name:指定安装的包

-package_name:指定不安装的包

```

3. 脚本段(可选)

以%post开头,以%end结束,在安装完系统之后执行的相关Linux命令、脚本

以%pre开头,以%end结束,在安装完系统之前执行的相关Linux命令、脚本

### 2.关键字含义说明

1)开始部分

```sh

# Kickstart Configurator for CentOS 7 by NOAH LUO

install

```

告知安装程序,这是一次全新安装,而不是升级upgrade。

2)安装源部分

```sh

url --url="http://10.0.0.7/CentOS-6.7/"

url --url ftp://:@/

nfs --server=nfsserver.example.com --dir=/tmp/install-tree

```

通过FTP或HTTP或NFS从远程服务器上的安装树中安装。任选一即可

3)模式语言键盘等

```sh

text使用文本模式安装。

lang en_US.UTF-8设置在安装过程中使用的语言以及系统的缺省语言。

keyboard us设置系统键盘类型。

zerombr清除mbr引导信息。

```

4)bootloader系统引导配置

```sh

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

--location指定引导记录被写入的位置.有效的值如下:mbr(缺省),partition,none。

--driveorder指定在BIOS引导顺序中居首的驱动器。

--append=指定内核参数.要指定多个参数,使用空格分隔它们。

```

5)network网络配置[客户机]

```sh

network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS7 --activate

或者

network --bootproto=static --device=eth0 --ip=10.0.0.201 --netmask=255.255.255.0 --gateway=10.0.0.201 --nameserver=10.0.0.202 --activate

network --hostname=CentOS7

static方法要求在kickstart文件里输入所有的网络信息。

请注意所有配置信息都必须在一行上指定,或写两个newwork,不能使用反斜线来换行。

--ip=被安装的机器的IP地址.

--gatewayIP地址格式的默认网关.

--netmask安装的系统的子网掩码.

--hostname安装的系统的主机名.

--onboot是否在引导时启用该设备.

--noipv6禁用此设备的IPv6.

--nameserver配置dns解析.

```

6)时区认证等

```sh

timezone --utc Asia/Shanghai

authconfig --enableshadow --passalgo=sha512

rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSA.....wJbAjVI5D6/

```

设置时区上海,设置认证方式,设置密码,密码非明文,用前文生成密码的方式生成

7)分区相关

```sh

clearpart --all --initlabel

--all 从系统中清除所有分区,--initlable 初始化磁盘标签

part /boot --fstype xfs --size 1024

part swap --size 1024

part / --fstype xfs --size 1 --grow

磁盘分区。

--fstype为分区设置文件系统类型.有效的类型为ext2,ext3,swap, xfs和vfat。

--asprimary强迫把分区分配为主分区,否则提示分区失败。

--size以MB为单位的分区最小值.在此处指定一个整数值,如500.不加MB。

--grow告诉分区使用所有可用空间(若有),或使用设置的最大值。

```

8)其他信息

```sh

firstboot --disable

selinux --disabled

firewall --disabled

logging --level=info

reboot

firstboot负责协助配置redhat一些重要的信息。

selinux关闭selinux。

firewall关闭防火墙。

logging设置日志级别。

reboot设定安装完成后重启,也可以选择halt关机。

```

9)包选装

```sh

%packages

@^minimal

@compat-libraries

@debugging

@development

tree

nmap

sysstat

lrzsz

dos2unix

telnet

wget

vim

bash-completion

%end

```

10)安装完成后操作

```sh

%post

systemctl disable postfix.service

%end

```

可以调用优化脚本,对装完后的服务器进行初始优化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux打印服务叹号,linux中如何通过echo输出!(叹号)? -bash: !: event not found

需求描述:今天在做通过echo结合passwd给用户改密码的过程中,出现无法修改的错误.错误如下:[roottestvm ~]# useradd mytest[roottestvm ~]# echo "mytest!" | passwd --stdin mytest-bash: !": event not found错误分析:经过查找该命令发现叹号!在linux中有特殊…

linux磁盘资源,liunxCPU和内存,磁盘等资源,

liunxCPU和内存,磁盘等资源,1.Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多…

linux降低线程优先级,Linux线程优先级,行为不正常

在下面的代码片段中,我创建了6个线程。各有不同的优先级。全局优先级数组中提到了优先级。我正在根据线索索引在每个线程内连续增加全局变量。如果线程优先级更高,我期待计数更高。但我的输出不遵循优先概念pl。请参阅下面显示的输出顺序。我在Ubuntu 16…

linux非阻塞等待线程,linux – 即使异步I / O操作挂起,只有线程处理io_service正在等待...

这是一个错误.我已经能够通过在task_io_service :: do_poll_one的非关键部分添加延迟来复制它.以下是booost/asio/detail/impl/task_io_service.ipp中修改后的task_io_service :: do_poll_one()的片段.添加的唯一行是sleep.std::size_t task_io_service::do_poll_one(mutex::sc…

linux创建文件内容三行,shell之创建文件及内容的方法示例

shell之创建文件夹:[rootvbox-nginx shell_command]# vi ./mkdir.sh#!/bin/shparentDir"/media/sf_Project/self/smarty-frame/application/$1"fileName$2dirAndName$parentDir/$fileNameif [ ! -d "$dirAndName" ];thenmkdir $dirAndNameecho …

linux设备模型的主要功能,Linux设备模型(3)

Linux设备模型(3)_Uevent作者:蜗蜗 发布于:2014-3-10 20:39分类:统一设备模型1. Uevent的功能Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到…

lua_path环境变量设置linux,ubuntu16.04安装lua环境

1.官网下载源码 https://www.lua.org/download.htmlcurl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gztar zxf lua-5.3.5.tar.gzcd lua-5.3.5make linux test2.安装中报错lua.c:82:31: fatal error: readline/readline.h: 没有那个文件或目录compilation terminated.: recip…

动态度量 linux,动态可信度量.ppt

动态可信度量提纲 静态可信度量根 动态可信度量根 Flicker: Minimal TCB Code Execution 静态可信度量的问题 2006年,德国Dresden大学的研究者发现现有的静态可信度量根存在着如下缺陷: 引导装载程序(Bootloader)中存在bug Dartmouth的Bear project的可信…

linux svn 面板,Linux下SVN服务器搭建(CentOS+Subversion)

安装(centos下yum即可方便的完成安装)# yum install subversion测试安装是否成功:# svnserve --version 回车显示版本说明安装成功建立版本库# mkdir /svndata 创建svn数据目录(目录可自行制定)# svnadmin create /svndata/kumingkuming就是版本库的名字&#xff0c…

华为手机怎么下载linux命令,在linux命令

REMOTE_DIR为将根证书上传到弹性云服务器的文件目录。 Windows操作系统下,请使用远程连接工具上传根证书。 连接数据库实例。 方式一:通过Linux命令连接实例 ./mongo --host--port-u-p--authentic目录。 Windows操作系统下,请使用远程连接工具…

edHat linux光盘引导,[原]个性化Linux发行版光盘之补充——XZ(LZMA算法)

红帽(Red Hat)从Enterprise Server 6.2 开始,启动镜像文件initrd.img 开始改用xz 工具进行压缩,这与以往版本是有区别的。一、启动镜像initrd.img 文件类RedHat 系统从vmlinuz 核心引导后,会读取initrd.img 启动镜像。该文件中包含驱动模块等…

c语言用指针变量输入数组的长度,C语言之数组的基础练习题(指针变量做函数参数)...

1、交换两个变量的值:#include void swap(int *a,int *b){int tmp;tmp*a;*a*b;*btmp;}void main(){int x,y;int *p_x,*p_y;printf("请输入两个数:\n");scanf("%d",&x);scanf("%d",&y);p_x&x;p_y&y;swap(p…

c语言 p *p,C语言之指针*p++和*(p++)区别

在C语言的指针运算中,经常会碰到以下用法:*p、*p、(*p)、*(p),在解决问题前,先了解一下基础:1、 * 号和 符号属于同级运算,且优先运算顺序是从右到左。2、a 表示:在当前一整句代码中&#xff0…

皮尔洛和c罗讲什么语言,皮尔洛:如果我跟C罗是队友 我可能能成历史助攻王

皮尔洛:欧冠夺冠热门不包含皇马腾讯体育11月2日讯 近日皮尔洛在接受媒体采访时表示,本赛季欧冠的争夺将会十分激烈,除了尤文外,有四支球队也是欧冠桂冠有利的争夺者,但并不包括卫冕冠军皇马。另外皮尔洛还表示&#xf…

两条直线求交点c语言,C§ 3.3.1两条直线的交点坐标(5页)-原创力文档

3.1两条直线的交点坐标学习目标1.掌握判断两直线相交的方法;会求两直线交点坐标;2.体会判断两直线相交中的数形结合思想.学习过程一、课前准备:(预习教材P112~ P114,找出疑惑之处)1.经过点,且…

C语言一维数组实现杨辉三角,一维数组实现杨辉三角

杨辉三角Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 43411 Accepted Submission(s): 18254Problem Description还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以…

c语言读取nc文件格式,nc文件资料地读取与处理.doc

标准文案.nc?文件的查看和处理2013-08-04 12:45阅读:2,168最近在学习冰后回弹模型( http://www.atmosp.physics.utoronto.ca/~peltier/data.php),里面给出的数据为nc(netcdf)格式的,读取是个问题,在言深深的帮助下,成…

android 界面跳转封装,【Android】Fragment跳转系列

一、同一个Activity下Fragment之间相互跳转(含带参数)Fragment1跳转到Fragment2中1.封装一个方法这样封装是方便一个Activity下有多个Fragment来回跳转public interface RegisterTrigger {void triggerView(Fragment fragment);}2.当前Activity继承RegisterTriggerpublic class…

android 调用系统短信接口开发,聚合数据Android SDK 短信api接口验证演示示例

1.到libs聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.2.下载聚合数据SDK,将开发包里的smscaptcha_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:3…

扇区 修复 linux,linux – 如何使用hdparm来修复挂起的扇区?

SMART正在说明我服务器硬盘上的一个待处理扇区.我已经阅读了许多文章,建议使用hdparm“轻松”强制磁盘重新定位坏扇区,但我找不到正确的方法来使用它.我的“smartctl”中的一些信息:Error 95 occurred at disk power-on lifetime: 20184 hours (841 days 0 hours)W…