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的工作目录文件存放位置

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

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

  1. # cat isolinux/isolinux.cfg
  2. default vesamenu.c32 提供图形菜单风格
  3. #prompt 1
  4. timeout 600 菜单选择超时时间
  5.  
  6. display boot.msg
  7.  
  8. menu background splash.jpg 背景图片
  9. menu title Welcome to CentOS 6.9! 菜单上方提示信息
  10. menu color border 0 #ffffffff #00000000
  11. menu color sel 7 #ffffffff #ff000000
  12. menu color title 0 #ffffffff #00000000
  13. menu color tabmsg 0 #ffffffff #00000000
  14. menu color unsel 0 #ffffffff #00000000
  15. menu color hotsel 0 #ff000000 #ffffffff
  16. menu color hotkey 7 #ffffffff #ff000000
  17. menu color scrollbar 0 #ffffffff #00000000
  18.  
  19. label linux 一条菜单
  20. menu label ^Install or upgrade an existing system
  21. menu default 默认选择
  22. kernel vmlinuz
  23. append initrd=initrd.img 向内核传递参数

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

1、安装前配置阶段

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

2、安装阶段

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

3、图形模式首次启动

  • iptables
  • selinux
  • core dump

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文件。

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

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

2、按需配置

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

  1. [root@centos7 data]# cat ks.cfg
  2. #platform=x86, AMD64, or Intel EM64T
  3. #version=DEVEL
  4. # Install OS instead of upgrade
  5. install
  6. # Keyboard layouts
  7. keyboard 'us'
  8. # Root password
  9. rootpw --iscrypted $1$.4cA9H18$yFklftvKKTJ78OmWBqAPz1
  10. # System language
  11. lang en_US
  12. # System authorization information
  13. auth --useshadow --passalgo=sha512
  14. # Use CDROM installation media
  15. cdrom
  16. # Use text mode install
  17. text
  18. # SELinux configuration
  19. selinux --disabled
  20. # Do not configure the X Window System
  21. skipx
  22.  
  23. # Firewall configuration
  24. firewall --disabled
  25. # Network information
  26. 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
  27. # Reboot after installation
  28. reboot
  29. # System timezone
  30. timezone Asia/Shanghai
  31. # System bootloader configuration
  32. bootloader --append="net.ifnames=0" --location=mbr
  33. # Clear the Master Boot Record
  34. zerombr
  35. # Partition clearing information
  36. clearpart --all --initlabel
  37. # Disk partitioning information
  38. part /boot --fstype="xfs" --size=200
  39. part swap --fstype="swap" --size=2048
  40. part / --fstype="xfs" --grow --size=1 #表示根分区使用剩余全部空间
  41.  
  42. %packages
    @^minimal
    @core
  43. @base
  44.  
  45. %end

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

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

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

  1. # Partition clearing information
  2. clearpart --all --initlabel
  3. autopart

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

1、准备安装文件

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

2、编辑配置文件

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

3、制作ISO文件

  1. [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 的系统上

版权声明:本文为L-dongf原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/L-dongf/p/9081496.html