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=http://domain.com/dir/ks.cfg

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=http://192.168.1.254/yum

gpgcheck=0

enable=1

eof #这里在安装系统成功后执行脚本自动配置一个yum源,其他脚本可以按照需要定义

%end

如果觉得使用样本的方式手工写配置文件比较麻烦,也可以使用图形化工具来制作ks.cfg文件

在linux中用yum安装system-config-kickstart就行了(图形化依赖于x-window),选项也有些限制(比如分区不能使用lvm),这里就不再演示了。

转载地址:http://lustlost.blog.51cto.com/2600869/910705/

linux ks脚本,linux安装详解-配置ks.cfg实现自动安装过程相关推荐

  1. linux添加cfg,Linux安装详解-配置ks.cfg实现自动安装过程

    Linux安装详解-配置ks.cfg实现自动安装过程 之前发过一篇关于通过PXE实现Linux批量无人值守自动安装的文章(可以参考),不过写的只是具体的配置和操作,对于原理部分没有说明,最近通过一段时 ...

  2. Linux下载cfg命令,Linux安装详解-配置ks.cfg实现自动安装过程

    之前发过一篇关于通过PXE实现Linux批量无人值守自动安装的文章(可以参考http://www.linuxidc.com/Linux/2011-08/39949.htm),不过写的只是具体的配置和操 ...

  3. Linux编写脚本nsum求和,详解Linux Shell脚本编写技巧,附实例说明

    原标题:详解Linux Shell脚本编写技巧,附实例说明 Linux Shell是一个很难的知识板块.虽然大家都认真学,基本的语法很都掌握,但有需求时,很难直接上手编程,要么写了很久,要么写不好!对 ...

  4. linux exec 脚本之家,详解Shell脚本中调用另一个Shell脚本的三种方式

    主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 ...

  5. 1060显卡支持dx12吗_P106矿卡魔改驱动修改及安装详解(含修改INF文件安装最新驱动,双独立显卡使用等)...

    20190323从小黑屋放出来后更新:据说NVIDIA已经把这个漏洞堵上了:不仅新版驱动已经不能把P106改DirectX支持(即GTX1060)了:官网上下载的老版驱动也不可以了(应该是官方偷偷做了 ...

  6. linux下weblogic版本,Linux下weblogic10.3.6(jar)版本安装详解

    一.安装前的准备 安装weblogic是需要JDK环境的,虽然weblogic有自带的JDK,但是我一般是自己选择JDK进行安装,如果你要自行安装,可以参考我的另一篇博客 https://www.cn ...

  7. Linux卸载安装bind,Bind编译安装详解

    Bind编译安装详解 Bind是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广 ...

  8. Linux下boost库的编译、安装详解

    1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...

  9. linux防火墙ddos,Linux iptables防火墙详解 + 配置抗DDOS***策略实战

    Linux iptables防火墙详解 + 配置抗DDOS***策略实战 Linux 内核中很早就实现了网络防火墙功能,在不同的Linux内核版本中,使用了不同的软件实现防火墙功能. 在2.0内核中, ...

最新文章

  1. chrome 硬件渲染(GPU Accelerated Compositing in Chrome)
  2. IOS定位核心与地图
  3. ASP.NET中实现Flash与.NET的紧密集成(转,没看,有空研究一下)
  4. 第41课 蜗牛与葡萄树 《小学生C++趣味编程》
  5. win10系统更新在哪_一键关闭win10系统更新,一款不错的小工具
  6. 佳能发售曝光对应的「IXY DIGITAL 3000 IS」
  7. 爱,可以如此悲壮!(转)
  8. 《异构信息网络挖掘: 原理和方法》—— 1.3 本书的内容组织
  9. 7-5 抓老鼠啊~亏了还是赚了? (20 分)
  10. Java SE作业:判断一个字符串是否是视频文件
  11. matlab发动机建模,基于MATLAB/SIMULINK的航空发动机建模与仿真研究
  12. Intel FPGA的JESD204B例程的搭建
  13. UWB定位原理详细介绍
  14. 免费的顶级域名要在哪申请?
  15. 卡刷android版本不一致,你好,请问一下,关于跨安卓版本刷机的问题
  16. gurobi求解目标规划问题案例
  17. 如何在Mac电脑中使用键盘移动操作鼠标焦点?如何在Mac中打开辅助键盘?
  18. 俞渝手撕李国庆:他是同性恋,李回应:变态精神病患者!大量细节惊呆网友...
  19. keypair java_Java KeyPairGenerator genKeyPair()用法及代码示例
  20. 中国数据标注公司排名前十强有哪些?

热门文章

  1. mysql errcode 2_mysql安装出现Errcode: 2 - No such file or directory错误的解决办法
  2. python同花顺程序化交易接口能查询数据吗?
  3. 点击按钮切换背景图片
  4. 超高频RFID标签无源传感的发展和特点
  5. 在什么情况下要向美国专利商标局申请临时专利?
  6. SpringBoot整合Redis客户端
  7. 高中人教版地理教案一-Leo老师
  8. 尚品汇 - 项目个人笔记总汇(更新中...)
  9. conemu shell_告别CMD.windows终端神器conemu设置
  10. jsp 使用了impot还是导不出_javaweb09-JSP