天天看点

Linux系统自动化安装基础

linux系统自动化安装基础

安装程序

centos系统安装

系统启动流程:

bootloader-->kernel(initramfs)-->rootfs-->/sbin/init

注意:安装过程中与启动过程中的文件不同

anaconda

系统安装程序

tui: 基于图形库curses的文本窗口

gui:图形窗口

安装程序启动过程

mbr: boot.cat

stage2: isolinux/isolinux.bin

配置文件: isolinux/isolinux.cfg

Linux系统自动化安装基础

每个对应的菜单选项:

加载内核: isolinuz/vmlinuz

向内核传递参数: append initrd=initrd.img ...

Linux系统自动化安装基础
Linux系统自动化安装基础

按esc键可以进入命令行模式,按tab键可以直接编辑内核参数

Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础

装载根文件系统,并启动anaconda

默认启动gui接口

若是显式指定使用tui接口: 向内核传递text参数即可

(1)按tab键,在后面增加text

Linux系统自动化安装基础

(2)按esc键: boot: linux text

Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础

注意:在自动化安装时建议使用text字符化界面安装,而手动安装建议使用图像化界面,因为字符化界面有些功能无法使用;内存小于512m则会自动启用字符化界面,而无法启用图形化界面

anaconda工作过程

anaconda安装系统分成三个阶段:

1)、安装前配置阶段

安装过程使用的语言

键盘类型

安装目标存储设备

basic storage:本地磁盘

特殊设备: iscsi

设定主机名

配置网络接口

时区

管理员密码

设定分区方式及mbr的安装位置

创建一个普通用户

选定要安装的程序包

2)、安装阶段

在目标磁盘创建分区,执行格式化操作等

将选定的程序包安装至目标位置

安装bootloader和initramfs

3)、首次启动(firstboot)

iptables

selinux

core dump

注意当系统安装完毕启动后,firstboot默认是关闭状态的,所以启动需要修改/etc/sysconfig/firstboot文件中的值为yes

Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础

注意:当我们再次退出此界面时,/etc/sysconfig/firstboot中的值又会修改为no

系统安装

启动安装过程一般应位于引导设备(boot.iso);后续的anaconda及其安装用到的程序包等可来自下面几种方式:

本地光盘

本地硬盘

ftp server: yum repository

http server: yum repostory

nfs server

如果想手动指定安装源:

boot: linux askmethod

Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础

之后就是正常的安装界面了,只是安装包是从对应媒介上获取的

anaconda的配置方式:

(1) 交互式配置方式

(2) 通过读取事先给定的配置文件自动完成配置;

按特定语法给出的配置选项;

kickstart文件(应答文件)

安装boot引导选项: boot:

text: 文本安装方式

askmethod: 手动指定使用的安装方法

与网络相关的引导选项:

ip=ipaddr

netmask=mask

gateway=gw

dns=dns_server_ip

ifname=name:mac_addr

Linux系统自动化安装基础

直接配置号ip地址等选项

与远程访问功能相关的引导选项:

vnc

vncpassword='password'

指明kickstart文件的位置: ks=

Linux系统自动化安装基础

dvd drive: ks=cdrom:/path/to/kickstart_file

hard drive: ks=hd

Linux系统自动化安装基础

/directory/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

nfs server:ks=nfs

Linux系统自动化安装基础

/path/to/kickstart_file

启动紧急救援模式:

rescue

官方文档:《installation guide》

kickstart文件的格式

命令段:指明各种安装前配置,如键盘类型等;

程序包段:指明要安装的程序包组或程序包,不安装的程序包等;

%packages

@group_name

package

-package

%end

脚本段:

%pre: 安装前脚本

运行环境:运行于安装介质上的微型linux环境

%post: 安装后脚本

运行环境:安装完成的系统

命令段中的命令:

必备命令

authconfig: 认证方式配置

authconfig --useshadow --passalgo=sha512

bootloader: bootloader的安装位置及相关配置

bootloader --location=mbr --driveorder=sda –

append="crashkernel=auto rhgb quiet"

keyboard: 设定键盘类型

lang: 语言类型

part: 创建分区

rootpw: 指明root的密码

timezone: 时区

Linux系统自动化安装基础

可选命令

install or upgrade

text: 文本安装界面

network

firewall

halt

poweroff

reboot

repo

user:安装完成后为系统创建新用户

url: 指明安装源

key –skip 跳过安装号码,适用于rhel版本

kickstart文件创建

创建kickstart文件的方式:

(1) 直接手动编辑;

依据某模板修改,比如anaconda-ks.cfg

Linux系统自动化安装基础

(2) 可使用创建工具: system-config-kickstart(图形化工具)

依据某模板修改并生成新配置;

Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础

注意:关闭防火墙,在正常情况下,自动化安装的确可以方便我们运维工作,但是也容易出现不可预期的情况,所以推荐半自动安装

检查ks文件的语法错误: ksvalidator

# ksvalidator /path/to/kickstart_file

制作引导光盘和u盘

创建引导光盘:

#cp /media/cdrom/isolinux/ /tmp/myiso/

注意:是复制拷贝/isolinux/整个目录而非只是内容

Linux系统自动化安装基础

#vim /tmp/myiso/isolinux/isolinux.cfg

initrd=initrd.img text ks=cdrom:/myks.cfg

Linux系统自动化安装基础

#cp /root/myks.cfg /tmp/myiso/

#cd /tmp

# mkisofs -r -j -t -v --no-emul-boot --boot-load-size 4 --boot-info-table -v "centos 6.8 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso myiso/

Linux系统自动化安装基础

注意:在刻录光盘引导式要注意myks目录的父目录下运行以上命令

运行完之后,我们就可以将生成的boot.iso运用刻录机或直接进行光盘引导启动即可

创建u盘启动盘

#dd if=/dev/sr0 of=/dev/sdb

继续阅读