L-dongf

一、anaconda

anaconda负责安装系统向导,默认为GUI界面,如果我们使用ks自动应答安装的话建议使用TUI界面来安装

在安装启动界面我们可以按esc键来自己手动指定安装启动选项

anaconda选项:

1)linux askmethod 在稍后的安装中手动选择安装源

本地光盘、硬盘、NFS、FTP、HTTP

2)linux dd 加载驱动盘

3)linux ks=xxx   指定安装ks文件

  • DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE
  • Hard drive: ks=hd:device:/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:host:/path/to/KICKSTART_FILE

4)linux nonet 不启用网络

5)linux noprobe 不装载其他的硬件设备

6)linux rescue 进入救援模式

7)linux 正常安装

8)local 从硬盘启动

9)linux text 以字符界面安装

10)linux ip={DHCP | 192.168.0.1} netmask=255.255.255.0 gateway=192.168.0.1 dns=114.114.114.114 ks=http://192.168.0.1/ks.cfg 设置IP并从网络获取ks文件

11)linux ip={DHCP | 192.168.0.1} netmask=255.255.255.0 gateway=192.168.0.1 dns=114.114.114.114 repo=http://192.168.0.1  设置IP地址并指定从repo源安装

  • ip=IPADDR
  • netmask=MASK
  • gateway=GW
  • dns=DNS_SERVER_IP
  • ifname=NAME:MAC_ADDR

12)linux vnc vncpassword="PASSWORD" 使用vnc调用安装界面

在光盘下的isolinux/文件夹为anaconda的工作目录文件存放位置

# ls -1 isolinux/
boot.cat  模拟mbr文件
boot.msg  
grub.conf grub的配置文件
initrd.img  ramdisk文件
isolinux.bin  grub的第二阶段
isolinux.cfg  配置文件(启动菜单定制文件)
memtest  内存测试文件
splash.jpg  背景图片
TRANS.TBL
vesamenu.c32  光盘启动的图形界面菜单风格
vmlinuz  内核文件

启动菜单的配置文件isolinux/isolinux.cfg

# cat isolinux/isolinux.cfg 
default vesamenu.c32 提供图形菜单风格
#prompt 1
timeout 600 菜单选择超时时间

display boot.msg

menu background splash.jpg  背景图片
menu title Welcome to CentOS 6.9!  菜单上方提示信息
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux  一条菜单
  menu label ^Install or upgrade an existing system
  menu default 默认选择
  kernel vmlinuz
  append initrd=initrd.img  向内核传递参数

anaconda工作过程

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

1、安装前配置阶段

  • 安装过程使用的语言
  • 键盘类型
  • 安装目标存储设备
  • 设定主机名
  • 配置网络接口
  • 时区
  • 管理员密码
  • 设定分区方式及MBR的安装位置
  • 创建一个普通用户
  • 选定要安装的程序包

2、安装阶段

  • 在目标磁盘创建分区,执行格式化操作等
  • 将选定的程序包安装至目标位置
  • 安装bootloader和initramfs

3、图形模式首次启动

  • iptables
  • selinux
  • core dump

二、kickstart自动应答文件

kickstart为anaconda安装系统过程中自动应答已配置好的选项,实现无人值守安装系统。

ks文件格式:三部分

命令段

---必须指定---

  • keyboard
  • lang
  • timezone
  • rootpw
    • authconfig --enableshadow
  • bootloader --location=mbr --password=******
  • driverdisk 指定驱动盘
  • firewall --enable --ssh,--disabled
  • firstboot --disbaled
  • halt 完成后关机
  • reboot 完成后重启
  • text|graphical(default) 文本|图像
  • key --skip 跳过安装号码,适用于rhel版本 

---可选命令---

  • clearpart --all,--linux,--none(default) --initlabel(初始化分区标记)
  • autopart 自动分区
  • ignoredisk --drives=drive1,drive2忽略硬盘
  • autostep 跳过可选项,付默认值
  • part or partition /boot --fstype ext4 --size=200

软件包选择段:%package

脚本段

预安装脚本%pre

后安装脚本%post

我们了解了ks文件的格式之后来创建一个ks文件吧,创建的方式有俩种,我们可以直接参考 /root/anaconda-ks.cfg  来编辑,然后使用ksvalidator命令来检查是否有语法错误,但是这样不是很方便;第二种方法就是使用system-config-kickstart 图形界面工具生成ks文件。

示例:使用 system-config-kickstart 来创建ks文件(CentOS7.x)

1、配置yum源、安装软件并启动,需要安装图形界面

root@centos7 ~]# cat /etc/yum.repos.d/cdrom.repo
[development]  #为了让system-config-kickstart读取软件包
name=cdrom_base
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1
[root@centos7 ~]# yum install system-config-kickstart
[root@centos7 ~]# system-config-kickstart &

2、按需配置

ks.cfg配置文件,以上步骤生成

[root@centos7 data]# cat ks.cfg 
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$.4cA9H18$yFklftvKKTJ78OmWBqAPz1
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use CDROM installation media
cdrom
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=static --device=eth0 --gateway=192.168.0.1 --ip=192.168.0.222 --nameserver=114.114.114.114 --netmask=255.255.255.0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --append="net.ifnames=0" --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=200
part swap --fstype="swap" --size=2048
part / --fstype="xfs" --grow --size=1 #表示根分区使用剩余全部空间

%packages
@^minimal
@core @base %end

ks文件中LVM逻辑卷分区格式

part /boot --fstype xfs --size=200 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup myvg --pesize=4096 pv.2
logvol / --fstype xfs --name=lv_root --vgname=myvg --size=10240 --grow
logvol swap --fstype swap --name=lv_swap --vgname=myvg --size=1024 --grow --maxsize=2048

ks文件中使用系统自动分区格式

# Partition clearing information
clearpart --all --initlabel 
autopart

三、制作自动应答光盘

我们现在已经有一个ks文件了,接下来需要把ks文件加入到光盘文件中来实现自动安装

1、准备安装文件

[root@centos7 ~]# mkdir -p /data/myiso
[root@centos7 ~]# cp -r /media/cdrom/ /data/myiso/
[root@centos7 ~]# cp /data/ks_7_mini.cfg /data/myiso/cdrom/ksdir/

2、编辑配置文件

[root@centos7 ~]# vim /data/myiso/cdrom/isolinux/isolinux.cfg #增加一个label
label linux
  menu label ^Ks_Install CentOS 7_mini
  kernel vmlinuz
  append initrd=initrd.img text ks=cdrom:/ksdir/ks_7_mini.cfg

3、制作ISO文件

[root@centos7 ~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS_7.5_x86_64" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /data/CentOS-7.5-x86_64.iso /data/myiso/cdrom

mkisofs命令

  • -o 指定映像文件的名称
  • -b 指定在制作可开机光盘时所需的开机映像文件
  • -c 制作可开机光盘时,会将开机映像文件中的 no-eltorito-catalog 全部内容作成一个文件
  • -no-emul-boot 非模拟模式启动
  • -boot-load-size 4 设置载入部分的数量
  • -boot-info-table 在启动的图像中现实信息
  • -R 或 -rock 使用 Rock RidgeExtensions
  • -J 或 -joliet 使用 Joliet 格式的目录与文件名称
  • -v 或 -verbose 执行时显示详细的信息
  • -T 或 -translation-table 建立文件名的转换表,适用于不支持 Rock RidgeExtensions 的系统上

四、PXE安装系统

五、cobbler详解

分类:

Linux

技术点:

相关文章: