首页 > 编程知识 正文

shell脚本命令(shell脚本压缩文件)

时间:2023-05-06 06:09:54 阅读:73139 作者:3947

# KS文件和语法分析

[TOC]

## 1ks说明

### 1.1ks文件的说明

使用kickstart时,安装人员只需预先定义kickstart自动响应配置文件ks.cfg (通常存储在安装服务器上),并告知安装人员该配置文件的位置,安装过程中安装人员将自行安装

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

方法1 :

每次安装Centos计算机时,Centos安装程序都会创建名为anaconda-ks.cfg的kickstart配置文件(位于/root/anaconda-ks.cfg中),并记录实际的安装配置

方法2 :

Centos以图形方式提供了kickstart配置工具。 在任何已安装的Linux系统上运行此工具,可以轻松创建自己的kickstart配置式。

方法3 :

阅读kickstart配置文件文档。 任何文本编辑器都可以创建您自己的kickstart配置文件。

官方链接:

3359 access.red hat.com/documentation/zh-cn/red _ hat _ enterprise _ Linux/7/html/installation _ gu guide /

### 1.3kickstart文件语法检查

` ` ` sh

yum install pykickstart

kvalidator/var/www/html/ks _ config/centos-7-ks.CFG

``````

请记住,此验证工具是有限的。 Kickstart文件可能会变得复杂。ksvalidator保证语法正确,此文件不包含过时选项,但不保证安装成功。 无法验证Kickstart文件的%pre、%post和%packages部分。

##1.4生成根密码

1 ) python法

` ` ` python

python-c '导入脚本; 打印(crypt.crypt ) (123456 ) )

$6$ mm/gpjhus……afct 3q 0清新猫9d90

``````

2 ) grub-crypt法

``````

grub-crypt

Password:

Retype password:

$6$ NPM 35 t……pbu rya/ffdbdegvnurwpwi。

``````

## 2ks.cfg详细信息

由### 2.1ks文件构成

1 .指令段

系统布局(如键盘类型、语言和安装方法)具有必需的选项和选项。 如果缺少任何必需选项,安装过程中将中断,并提示用户选择此选项

2 .包段

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

``````

@groupname :指定要安装的软件包组

package_name :指定要安装的软件包

-package_name :指定不安装的软件包

``````

3 .脚本段(可选)

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

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

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

1 )开始部分

` ` ` sh

# kickstartconfiguratorforcentos7bynoahluo

安装

``````

通知安装程序是全新安装,而不是升级upgrade。

2 )设置源部分

` ` ` sh

URL-- URL=' http://10.0.0.7/centos-6.7/'

url --url ftp://:@/

NFS-- server=NFS server.example.com-- dir=/tmp /安装树

``````

通过FTP、HTTP或NFS从远程服务器的安装树进行安装。 一个就可以了

3 )模式语言键盘等

` ` ` sh

文本以文本模式安装。

lang en_US.UTF-8设置安装过程中使用的语言和系统的默认语言。

keyboard us设置系统的键盘类型。

zerombr清除mbr引导信息。

``````

4 )引导加载器系统启动配置

` ` ` sh

引导加载器--l

ocation=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

```

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。