使用kickstart和anaconda自动化安装centos系统

这篇具有很好参考价值的文章主要介绍了使用kickstart和anaconda自动化安装centos系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用kickstart和anaconda自动化安装centos系统

使用kickstart和anaconda自动化安装centos系统

anaconda 介绍

kickstart 介绍

实验过程

前提

1.已经安装好至少两台centos系统
2.需要实现自动安装的系统的光盘镜像
3.已安装的系统之间可以通讯(比如处于VMware中的NAT网络的同一个网段)

1.搭建httpd服务来提供系统安装源

  • 以后需要给某台主机安装系统就直接通过网络从此服务器得到安装的系统和安装方式(ks.cfg提供安装指导)

  • 本次实验使用centos7作为安装源服务器

  • 该系统地址:172.20.3.82;使用VMware桥接网络

  • 安装httpd

rpm -q httpd
yum install httpd
systemctl enable httpd
systemctl start httpd
systemctl status httpd
curl 172.20.3.82   # 返回html文本则httpd服务已经ok
  • httpd默认服务文件夹
    /var/www/html

  • 在默认服务文件夹下新建一个文件夹来放安装源,分别创建属于centos6/7/8的文件夹
    mkdir -p /var/www/html/centos/{6,7,8}/os/x86_64

  • 挂载需要安装的光盘镜像到目录
    centos6:mount /dev/sr0 /var/www/html/centos/6/os/x86_64
    centos7:mount /misc/cd /var/www/html/centos/7/os/x86_64
    centos8:mount /misc/cd /var/www/html/centos/8/os/x86_64

  • 实验使用如下镜像
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ddrf0Kdp-1691195491148)(png/2019-11-12-16-02-11.png)]

  • 在httpd默认服务目录新建文件夹存放kickstart文件
    mkdir -p /var/www/html/centos/ksdir

2.使用相应的工具生成kickstart文件

  • centos6
    • 在centos6可以使用system-config-kickstart工具在图形界面下完成配置并保存为ks.cfg文件

    • Basic Configuration:基本设置,包括默认安装语言,键盘类型,时区和root密码设置等。
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s5rWESkD-1691195491149)(png/2019-11-12-16-25-49.png)]

    • Installation Method:安装方式,本次使用全新安装,通过http安装;http服务器
      就是第一步中的centos7,地址为:172.20.3.82;httpd服务的默认服务文件夹为
      /var/www/html,此处HTTP Directory:/centos/6/os/x86_64就指明了位于默认服务文件夹
      的安装源,需要安装不同的版本就更改路径的相应版本号(/centos/6/os/x86_64---->安装centos6;/centos/7/os/x86_64---->安装centos7等)
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acSYjTzW-1691195491149)(png/2019-11-12-16-32-34.png)]

    • Boot Loader Options:引导加载器选项,此次安装使用默认设置,也不加密GRUB
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nSqdXsjd-1691195491149)(png/2019-11-12-16-36-31.png)]

    • Partition Information:分区信息:1.清除需要安装系统的主机硬盘的MBR;2.清除所有分区;3.初始化磁盘标签
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mlw6m0iC-1691195491150)(png/2019-11-12-16-39-30.png)]

    • Network Configuration:网络设置
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uG6ng2UB-1691195491150)(png/2019-11-12-16-42-52.png)]

    • Authentication:认证相关设置–默认
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tyRnN3wv-1691195491150)(png/2019-11-12-16-47-20.png)]

    • Firewall Configuration:防火墙和selinux设置,都禁用
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pyp75xSA-1691195491151)(png/2019-11-12-16-44-10.png)]

    • Display Configuration:显示设置–使用默认设置

    • Package Selection:需要安装的包选择
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KTIAYNSE-1691195491151)(png/2019-11-12-16-48-14.png)]

    • Pre-Installation Script:定义系统安装前运行的脚本,此脚本出错可能会导致kickstart安装失败,一定不要有%pre字眼出现在该脚本中,此次就不定义该脚本了
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ieK1O7ZK-1691195491151)(png/2019-11-12-16-49-28.png)]

    • Post-Installation Script:定义系统安装完成后运行的脚本,此处新增一个用户,并改密码
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KCmGiyhr-1691195491151)(png/2019-11-12-16-51-12.png)]

    • 保存为ks.cfg
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9eHYg39T-1691195491151)(png/2019-11-12-17-01-26.png)]

    • mv /root/Desktop/ks.cfg /root/Desktop/ks6.cfg

    • 生成的ks6.cfg 文件如下:

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://172.20.3.82/centos/6/os/x86_64"
# Root password
rootpw --iscrypted $1$5xUPBe9B$xxjgPTHBELXz3gFnh1CnG1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info

# System timezone
timezone  Africa/Abidjan
# Network information
network  --bootproto=static --device=eth0 --gateway=172.20.3.1 --ip=172.20.3.112 --nameserver=144.144.144.144 --netmask=255.255.255.0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
part / --fstype="ext4" --size=10240
part /boot --fstype="ext4" --size=1024
part /data --fstype="ext4" --noformat --size=10240

%post
useradd stevenux 
echo 123456 | passwd --stdin stevenux
%end
  • centos7
    • 在centos7可以使用新安装的系统root家目录的anaconda-ks.cfg文件作为参考来制作自己的ks.cfg文件
    • anaconda-ks.cfg
#version=DEVEL
# X Window System configuration information
xconfig  --startxonboot
# License agreement
eula --agreed
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# System services
services --enabled="chronyd"
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

ignoredisk --only-use=sda
# Network information
network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
network  --hostname=centos7.magedu.steve

# Root password
rootpw --iscrypted $6$eVvngMuBXKQoRxLX$d81c7rQwWgxqpAQqdhNQkATgrEZ3dcOJZHdq0BFWUJKoIQqqyEbt6TNInJcDqpzdKVjt04ugeELJ4iPB16f7a/
# System timezone
timezone Asia/Shanghai --isUtc
user --groups=wheel --name=steve --password=$6$ZlPoWuI/1P9uqNnj$iAjc6KxTms0.snDrgyQvwZTasCeRQHl3aD67Mi0A58kkeW.MXMFAZNIwOSYF/7ii5aso1F5p0EWz4WQhJyfy21 --iscrypted --uid=100
0 --gecos="steve" --gid=1000
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part swap --fstype="swap" --ondisk=sda --size=3072
part / --fstype="xfs" --ondisk=sda --size=102400
part /boot --fstype="xfs" --ondisk=sda --size=1024
part /data --fstype="xfs" --ondisk=sda --size=51200

%packages
@^gnome-desktop-environment
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@security-tools
@smart-card
@system-admin-tools
@x11
chrony

%end

%addon com_redhat_kdump --disable --reserve-mb=auto
%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
  • 复制一份来更改:cp anaconda-ks.cfg ks7.cfg
  • 更改后的ks7.cfg如下:
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$q5kgkOfe$9uxwxHzrapS5h4J.9XJ8c1
# Use network installation
url --url="http://172.20.3.82/centos/7/os/x86_64"
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# 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=ens33 --gateway=172.20.3.1 --ip=172.20.3.111 --nameserver=144.144.144.144 --netmask=255.255.255.0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext3" --size=1024
part / --fstype="xfs" --size=10240
part /data --fstype="xfs" --size=10240

%post
useradd stevenux
echo 123456 | passwd --stdin stevenux
%end
  • centos8
    • 在centos8亦可以使用新安装的系统root家目录的anaconda-ks.cfg文件作为参考来制作自己的ks.cfg文件
    • 复制一份来更改:cp anaconda-ks.cfg ks8.cfg
    • 更改后的ks8.cfg文件内容
#version=RHEL8
ignoredisk --only-use=sda
# Partition clearing information
zerombr
text
reboot

clearpart --all --initlabel

firewall --disabled
selinux --disabled

# Use graphical install

repo --name="AppStream" --baseurl=http://172.20.3.82/centos/8/os/x86_64/AppStream
# Use CDROM installation media
# cdrom # url --url http://
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# Network information
# network  --bootproto=static --device=ens160 --gateway=172.20.3.1 --ip=172.20.3.113 --nameserver=144.144.144.144 --netmask=255.255.255.0 --onboot=on 
network  --bootproto=dhcp --device=ens160 --ipv6=auto --activate
network  --hostname=centos8.localdomain
# Root password
rootpw --iscrypted $6$JrooqXF37Q2lI4si$05OlIYoqLH8uV/1CqvCJUReL5POu9XL5Z2olZ7FtiQYVi1zKCZgDqbBTc.gLnT7trUBX55xGS6MX8bKx0VLKv1
# X Window System configuration information
# xconfig  --startxonboot
# Run the Setup Agent on first boot

firstboot --enable
# Do not configure the X window system
skipx
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
user --name=steve --password=$6$NsKlQVGMrkJgfJtr$1CZdKd0XAokuHgutLdDI9SVVw3wit0L55OLiQDdwd9bQw2b4ElQYUDGp0tl.GUl2y9oaa4GSfmewktOu8m5my1 --iscrypted --gecos="steve"
# Disk partitioning information
part / --fstype="xfs" --ondisk=sda    --size=10240
part /data --fstype="xfs" --ondisk=sda --size=10240
part swap --fstype="swap" --ondisk=sda --size=2048
part /boot --fstype="ext4" --ondisk=sda   --size=1024

%packages
@^minimal-environment
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

%post
useradd stevenux
echo 123456 | passwd --stdin stevenux
%end

  • 注意:本次三个系统都使用网络安装,在指定安装源时centos8的语法与centos7和centos6的不同,原因是centos8更改了一些软件包的组织方式
centos6:url --url="http://172.20.3.82/centos/6/os/x86_64"
centos7:url --url="http://172.20.3.82/centos/7/os/x86_64"
centos8:repo --name="AppStream" --baseurl=http://172.20.3.82/centos/8/os/x86_64/AppStream

3.完成kickstart文件配置和安装源服务器搭建后,就可以在不同的主机测试自动安装了

  • 例如安装centos7

1.在VMware中新建一个安装centos7的虚拟机,可以配置成下图的样子:其中光盘使用CentOS-7-x86_64-DVD-1804.iso;VMnet0为桥接网络(与安装源服务器同网段)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vW1tYkg4-1691195491152)(png/2019-11-12-17-26-30.png)]
2.挂载的centos7镜像CentOS-7-x86_64-DVD-1804.iso,用来引导安装
3.开机在VMware出现进度条是按一下Esc键进入选择硬件启动页面,选择光盘启动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fR2edb9A-1691195491152)(png/2019-11-12-17-30-19.png)]
4.光盘引导界面类似下面的图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JXCB7ZgX-1691195491152)(png/2019-11-12-17-32-20.png)]
5.进入光盘引导界面后按Esc键可以进入另一个字符界面,用来接收引导参数,以决定以怎样的安装方式进行系统安装(字符还是图形界面安装等),也可以指定从安装源服务器读取kickstart文件(ks.cfg),按照该文件的定义来进行自动安装,本次实验就在该字符界面指定ks文件在远程安装源服务器的地址,让其自动安装。
6.按Esc键后进入这个界面:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nr0S2Xef-1691195491153)(png/2019-11-12-17-44-07.png)]
7.指定ks文件路径:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jf1DMGak-1691195491153)(png/2019-11-12-17-45-26.png)]文章来源地址https://www.toymoban.com/news/detail-634011.html

  • 上面红框中的linux参数在光盘下/isolinux/isolinux.cfg文件中定义,表示如下意思:
label linux
  menu label ^Install CentOS 7    # 表示安装centos7
  kernel vmlinuz                  # 内核为vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet      # 内核参数指定

到了这里,关于使用kickstart和anaconda自动化安装centos系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用Figlet工具创建酷炫Linux Centos8服务器-登录欢迎界面-SHELL自动化编译安装代码

    因为我们需要生成需要的特定字符,所以需要在当前服务器中安装Figlet,默认没有安装包的,其实如果我们也只要在一台环境中安装,然后需要什么字符只要复制到需要的服务器中,并不需要所有都安装。同样的,我们也可以利用此生成的字符用到脚本运行的开始起头部分,

    2024年02月12日
    浏览(46)
  • .NET Core部署到linux(CentOS)最全解决方案,入魔篇(使用Docker+Jenkins实现持续集成、自动化部署)

    通过前面三篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus) 通过前面三篇文章的介绍,我们已经对.net core多方案部署到linux下有了非常全面的认识

    2024年02月02日
    浏览(35)
  • ansible自动化IT工具安装部署与使用验证

    目录 一、环境配置 1、关闭防火墙 2、免密登录配置 3、同步时区 二、服务端配置 1、安装软件 2、查看版本  3、实现远程控制huyang3  4、测试  结果验证: systemctl stop firewalld iptables -F setenforce0 【huyang3】ssh-keygen 【huyang3】ssh-copy-id 192.168.1.116 ntpdate huyang1 yum -y install ansible ansi

    2024年02月11日
    浏览(34)
  • GUI自动化测试工具Sikulix的安装和使用

    从程序内部控制对小白来说太难了,所以使用一下自动化测试的工具直接控制按钮达到我的目的 官网:http://www.sikulix.com/ 下载对应系统的.jar 需要使用java,没有的话安装一下 然后在sikulix的下载目录下执行 安装成功后就会弹出软件的窗口 上图左边是写程序的地方,右边是日

    2023年04月26日
    浏览(29)
  • Appium 2安装与使用java对Android进行自动化测试

    1.1、系统要求 当前Appium2.1服务器的要求: 支持macOS、Linux或Windows操作系统 Node.js版本要求^14.17.0 || ^16.13.0 | =18.0.0 NPM版本= 8 (NPM通常与Node.js捆绑在一起,但可以独立升级) 系统要求:http://appium.io/docs/en/2.1/intro/requirements/ 1.2、安装Appium2.1服务 下载nodejs:https://nodejs.org/zh-cn/download

    2024年02月12日
    浏览(46)
  • 不用编程超简单的自动化测试工具:Airtest安装使用入门篇

    很多刚入行或从其他行业转行做测试的同学,日复一日每天做点工已经点得疲惫和麻木,觉得做测试和在厂子里打螺丝没太大区别。也想着做一做自动化测试,奈何自己看着代码就头痛,当初就是因为不喜欢编程才选择的做测试。亦或者由于从其他行业转行过来的,隔行如隔

    2024年02月04日
    浏览(43)
  • Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

    基本于Python语言 和 Selenium框架,使用PyCharm 开发环境,详细介绍自动化测试环境的搭建 以及 基本的使用方法。 Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境,但在Windows系统上目前还需要自己安装,(当然如已经安装过了的话

    2024年02月03日
    浏览(50)
  • centos7:jenkins+nodejs前端自动化部署

    系统:centos7 nodejs版本:v16.18.1   npm版本:8.19.2 由于centos7最大只支持16.18.1版本,尽量让前端写代码时使用这个版本,linux系统如果要装高版本的node需要安装glibc库,很危险,尽量不要操作。 jenkins版本:推荐最新版,yum安装,不用docker安装,原因是npm命令在容器内无法有效执

    2024年02月03日
    浏览(41)
  • 自动化构建平台(一)Linux下搭建私有代码仓库Gitblit的安装和使用详解

    代码版本管理,git模式应该是目前最流行的代码管理软件。目前支持git的管理软件有很多。 Gitblit是一个小型的代码仓库管理软件,功能不是很多,优点是:小巧、CPU和内存占用比较少,对于小团队来说基本够用。Gitblit官网点击这里。 进入官网,如下图,根据对应的系统选择

    2024年03月12日
    浏览(51)
  • Debian/Ubuntu 安装 Chrome 和 Chrome Driver 并使用 selenium 自动化测试

    截至目前,Chrome 仍是最好用的浏览器,没有之一。Chrome 不仅是日常使用的利器,通过 Chrome Driver 驱动和 selenium 等工具包,在执行自动任务中也是一绝。相信大家对 selenium 在 Windows 的配置使用已经有所了解了,下面就让我们看看如何在 Linux 上配置使用 selenium 吧( 无图形化界

    2024年02月14日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包