使用光盘iso实现Linux操作系统的自动安装部署

简介: 前边写了一篇使用 PXE 的方式批量安装操作系统,不是任何时候任何地方都有环境来通过 PXE 方式来进行安装。如果此时需要通过光盘安装,默认的情况下是通过交互式方式进行安装,其实也可以通过 kickstart 的方式来实现自动化安装部署。

前边写了一篇使用 PXE 的方式批量安装操作系统,不是任何时候任何地方都有环境来通过 PXE 方式来进行安装。如果此时需要通过光盘安装,默认的情况下是通过交互式方式进行安装,其实也可以通过 kickstart 的方式来实现自动化安装部署。光盘通过 ks.cfg 进行安装的实现方式比较简单,下边简单的进行总结。

一、实现原理

光盘通过读取 ks.cfg 文件来实现安装操作系统,ks.cfg 配置文件放在光盘的根目录即可,然后修改 isolinux/isolinux.cfg 文件,设置内核参数,指定 ks.cfg 文件的位置即可。由于原始 iso 镜像文件是只读的,不能直接在 iso 光盘目录文件内进行修改,需要拷贝到一个临时目录,修改完后在封装为 iso 镜像文件。

二、拷贝镜像临时目录

mkdir /mnt/cdrom
mount -o loop CentOS-6.8-x86_64-minimal.iso /mnt/cdrom
cp -ar /mnt/cdrom/ /root/iso    # 原来root下没有iso目录,拷贝过来重命名为iso

三、生成 ks.cfg 文件

生成 ks.cfg 文件的方式大概有2种,一是可以通过图形工具 system-config-kickstart 来定制生成指定的 ks.cfg 文件,二是对于熟悉 kickstart 语法的可以直接编写 ks.cfg 配置文件。本次实验用的 ks.cfg 配置比较简单,是通过工具生成的,下边给出本次的 ks.cfg 文件。

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password
rootpw --iscrypted $1$p6oEoqGo$UDHZdzw56Rl6Rt5oi1A0Q1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
#reboot
# System timezone
timezone --isUtc Asia/Shanghai
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --ondisk=sda --size=200
part swap --asprimary --fstype="swap" --ondisk=sda --size=4096
part / --asprimary --fstype="ext4" --grow --ondisk=sda --size=1

拷贝到光盘镜像根目录:

/bin/cp ks.cfg /root/iso/

四、修改启动项菜单内核参数

修改菜单项配置文件 isolinux/isolinux.cfg:

default vesamenu.c32
#prompt 1
timeout 1    # 超时自动选择菜单时间设置,设置为1时,即一闪而过,设置3秒为好。

修改内核参数,指定 ks.cfg 位置:

label linux
  menu label ^Install CentOS 6.8 x64 System.    # 自定义了菜单
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/ks.cfg     # 添加了ks文件的位置:光盘的根目录

五、封装iso镜像文件

cd /root/iso/    # 进入镜像制作目录

如果没有 mkisofs 命令,执行安装:

yum install mkisofs -y

执行封装镜像的命令:

mkisofs -o /root/CentOS6.8_x64.iso \
    -V centos6 -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    -no-emul-boot -boot-load-size 4 \
    -boot-info-table -R -J -T -v .

校验并写入 md5 值(可选):

implantisomd5 /root/CentOS6.8_x64.iso

通过光盘实现自动化安装已经完成制作,接下来测试可以通过虚拟机,导入 iso 镜像来做测试。

 

相关文章
|
12天前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
33 5
Linux系统之安装OneNav个人书签管理器
|
1天前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
8 0
Vanilla OS:下一代安全 Linux 发行版
|
5天前
|
边缘计算 人工智能 运维
Linux操作系统:开源力量的崛起与影响###
一场技术革命的回顾 回溯至1991年,当Linus Torvalds宣布Linux操作系统的诞生时,世界或许并未意识到这一举措将如何深刻地改变技术领域的面貌。本文旨在探讨Linux操作系统的发展历程、核心特性、以及它如何引领了一场开源运动,重塑了软件行业的生态。从最初的个人爱好项目成长为全球最广泛采用的服务器操作系统之一,Linux的故事是技术创新与社区精神共同推动下的辉煌篇章。 ###
|
4天前
|
人工智能 安全 Linux
|
6天前
|
物联网 Linux 5G
Linux操作系统的演变与未来趋势####
本文深入探讨了Linux操作系统的发展历程,从最初的一个学生项目到如今全球最流行的开源操作系统之一。文章将分析Linux的核心优势、关键特性以及它在云计算、物联网和嵌入式系统中的应用前景。通过具体案例展示Linux如何推动技术创新,并预测其在未来技术生态中的角色。本文旨在为读者提供一个全面而深入的理解,帮助他们认识到Linux在现代计算环境中的重要性及其未来的潜力。 ####
|
6天前
|
人工智能 安全 物联网
Linux操作系统的演变与未来:从开源精神到万物互联的基石###
本文是关于Linux操作系统的演变、现状与未来的深度探索。Linux,这一基于Unix的开源操作系统,自1991年由林纳斯·托瓦兹(Linus Torvalds)学生时代创造以来,已经彻底改变了我们的数字世界。文章首先追溯了Linux的起源,解析其作为开源项目的独特之处;随后,详细阐述了Linux如何从一个小众项目成长为全球最广泛采用的操作系统之一,特别是在服务器、云计算及嵌入式系统领域的主导地位。此外,文章还探讨了Linux在推动技术创新、促进协作开发模式以及保障信息安全方面的作用,最后展望了Linux在未来技术趋势中的角色,包括物联网、人工智能和量子计算等前沿领域的潜在影响。 ###
|
8天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
29 2
|
9天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
22 3
|
10天前
|
运维 物联网 Linux
Linux操作系统的演变与未来趋势####
本文通过探讨Linux操作系统的历史沿革、当前主流版本的特点,以及其在服务器、云计算和物联网等新兴领域的应用,旨在揭示Linux在现代计算环境中的重要性。此外,文章还将分析Linux面临的挑战与机遇,预测其未来的发展趋势。希望通过这篇文章,读者能够更好地理解Linux的价值,并对其未来充满期待。 ####
|
10天前
|
存储 Linux Shell
深入理解Linux操作系统的启动过程
【10月更文挑战第21天】本文将深入浅出地介绍Linux操作系统的启动过程,包括BIOS、引导加载程序、内核初始化和系统服务启动等环节。通过阅读本文,您将了解到Linux启动过程中的关键步骤和相关概念,以及如何优化启动速度。