系统安装--无人职守
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统安装--无人职守相关的知识,希望对你有一定的参考价值。
CentOS 系统安装
无人职守安装是anaconda接受kickstart配置文件,代替了人的交互式设置实现了无人安装。
anaconda是什么?kickstart是什么?
你知道当你把光驱里加载iso系统,启动后为什么会出现如下这个界面吗?
图1
这就是系统安装程序anaconda提供的图形配置界面
anaconda是怎样横空出世的呢?
bootloader --> kernel(initrd(rootfs)) --> anaconda
开机后bootloader把内核加载到内存中,并以只读挂载临时根文件系统rootfs。接着anaconda成为运行在内核之上的第一个应用程序。
再细一点:你的光盘是如何启动了anaconda?
光盘的引导程序MBR:boot.cat 的stage1引出如下:
Stage2:isolinux/isolinux.bin 打印出图形安装界面
配置文件:isolinux/isolinux.cfg
每个对应的菜单选项在isolinux.cfg中有定义:
加载内核:isolinux/vmlinuz
向内核传递参数:append initrd=initrd.img
图3
装载根文件系统,并启动anaconda
注意:上述内容一般位于引导设备,例如可通过光盘、U盘或网络等;
后续的anacona及其安装用到的程序包等可以来自于程序包仓库,此仓库的位置可以为:
本地光盘
本地硬盘
ftp server
http server
nfs server
如果想手动指定安装仓库:按ESC boot: linux method 注:method是指安装方法
安装引导选项:
boot:
text:文本安装方式
method:手动指定使用的安装方法
与网络相关的引导选项:
ip=IPADDR
netmask=MASK
gateway=GW
dns=DNS_SERVER_IP
远程访问功能相关的引导选项:
vnc
vncpassword=‘PASSWORD‘
启动紧急救援模式:
rescue
装载额外驱动:
dd
总结:
anaconda安装前配置阶段分两类
交互式配置 即为手动安装
提供配置文件kickstart(自动配置)
安装阶段
首次启动
anaconda启动后,如果我们给它提供了kickstart文件,那么就可以自动安装。如果不提供我们可以选择label开启手动安装。
我们来了解下anaconda的工作过程:
安装前配置阶段
安装过程使用的语言;
键盘类型
安装目标存储设备
Basic Storage:本地磁盘
Special Storage: iSCSI
设定主机名
配置网络接口
时区
管理员密码
设定分区方式及MBR的安装位置;
创建一个普通用户;
选定要安装的程序包;
安装阶段
在目标磁盘创建分区并执行格式化;
将选定的程序包安装至目标位置;
安装bootloader;
首次启动
iptables
selinux
core dump
kickstart详解
anaconda从哪里读取kickstart?
安装引导选项:
ks:指明kickstart文件的位置;
DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE
Hard Drive: ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE
HTTP Server: ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE
FTP Server: ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE
HTTPS Server: ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE
俯瞰kickstart文件的格式
命令段:
指定各种安装前配置选项,如键盘类型等;
必备命令
可选命令
程序包段:
指明要安装程序包,以及包组,也包括不安装的程序包;
%packages 起始
@group_name
package
-package
%end 结束
脚本段:
%pre:安装前脚本 运行环境:运行安装介质上的微型Linux系统环境;运行的命令有限
%post:安装后脚本 运行环境:安装完成的系统;
let me逐条看看kickstart的含义
命令段中的必备命令:
1.authconfig:认证方式配置
authconfig --enableshadow --passalgo=sha512
2.bootloader:定义bootloader的安装位置及相关配置
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
3.keyboard:设置键盘类型
keyboard us
4.lang:语言类型
lang zh_CN.UTF-8
5.part:分区布局;
part /boot --fstype=ext4 --size=500
part pv.008002 --size=51200
补充:分区相关的其它指令
clearpart:清除分区
clearpart --none --drives=sda:清空磁盘分区;
volgroup:创建卷组
volgroup myvg --pesize=4096 pv.008002
logvol:创建逻辑卷
logvol /home --fstype=ext4 --name=lv_home --vgname=myvg --size=5120
6.rootpw:管理员密码
rootpw --iscrypted $6$4Yh15kMGDWOPtbbW$SGax4DsZwDAz4201.O97WvaqVJfHcISsSQEokZH054juNnoBmO/rmmA7H8ZsD08.fM.Z3B r/67Uffod1ZbE0s.
扩展:生成加密密码的方式:
~]# openssl passwd -1 -salt `openssl rand -hex 4`
7.timezone:时区
timezone Asia/Shanghai
可选命令:
install OR upgrade:安装或升级;
text:安装界面类型,text为tui,默认为GUI
network:配置网络接口
network --onboot yes --device eth0 --bootproto dhcp --noipv6
firewall:防火墙
firewall --disabled
selinux:SELinux
selinux --disabled
halt、poweroff或reboot:安装完成之后的行为;
repo:指明安装时使用的repository;
repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
url: 指明安装时使用的repository,但为url格式;
url --url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.7-x86_64/
定制kickstart文件:
# yum install system-config-kickstart
# system-config-kickstart
检查语法错误:
# ksvalidator
创建光盘镜像:
~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot/
本文出自 “学而思” 博客,请务必保留此出处http://7136230.blog.51cto.com/7126230/1757717
以上是关于系统安装--无人职守的主要内容,如果未能解决你的问题,请参考以下文章
project01 PXE 无人职守安装(kickstart|Cobbler)