使用光盘iso实现Linux操作系统的自动安装部署
前边写了一篇使用 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 $$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=
part swap --asprimary --fstype="swap" --ondisk=sda --size=
part / --asprimary --fstype="ext4" --grow --ondisk=sda --size=
拷贝到光盘镜像根目录:
/bin/cp ks.cfg /root/iso/
四、修改启动项菜单内核参数
修改菜单项配置文件 isolinux/isolinux.cfg:
default vesamenu.c32
#prompt
timeout # 超时自动选择菜单时间设置,设置为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 \
-boot-info-table -R -J -T -v .
校验并写入 md5 值(可选):
implantisomd5 /root/CentOS6.8_x64.iso
通过光盘实现自动化安装已经完成制作,接下来测试可以通过虚拟机,导入 iso 镜像来做测试。
使用光盘iso实现Linux操作系统的自动安装部署的更多相关文章
- linux kickstart 自动安装
最近很多业务系统都是linux lnmp平台安装,反复的安装让人觉得很苦恼,仔细钻研了下kickstart .这里环境是red hat linux 5.8 32位,系统盘中的软件包里包含有kickst ...
- Linux系统批量化安装部署之Cobbler
说明: Cobbler服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统: eth0(第一块网卡,用于外网)IP地址段:192.168.2 ...
- Dell Omsa在Linux服务器上安装部署
前言 本页详述了在一台Linux(RHEL6.4 x86_64)服务器上部署安装OMSA的通用做法,包括OMSA软件的获取方法和安装步骤. 演示环境: PowerEdge R620, RHEL 6.4 ...
- linux下docker安装部署项目(全)
一 .系统安装 基于CentOS-7-x86_64-Minimal-1708.iso安装系统 1.2. 配置系统 1.2.1 在线更新内核版本(建议更新,旧版内核会有docker BUG) 1.2 ...
- 免费开源的客服系统 Linux 服务器环境安装部署过程
最近因为项目需要,要找一款在线客服系统集成在 APP 中使用,而且涉及到生意开单,客服系统必须稳定可靠.另外甲方要求,必须支持 Linux 服务器环境. 我们以 Ubuntu 18.04 为例把安装部 ...
- Linux下单机安装部署kafka及代码实现
技术交流群:233513714 这几天研究了kafka的安装及使用,在网上找了很多教程但是均以失败告终,直到最后想起网络方面的问题最终才安装部署成功,下面就介绍一下kafka的安装部署及代码实现 一. ...
- Linux 实现自动安装服务组件以及优化内核参数 (转)
安装好Linux裸机后(安装请参考:http://blog.itpub.net/26230597/viewspace-1380155/),还需要在其上安装一些基础组件,一般是手动一个个安装,比较繁复也 ...
- 用宝塔软件在linux上自动安装php环境
1.确保是纯净系统 确保是干净的操作系统,没有安装过其它环境带的Apache/Nginx/php/MySQL,否则安装不上 2.sudo进行安装 yum install -y wget &&a ...
- linux LNMP自动安装脚本
#!/bin/bashsoft_dir="/home/soft"config_dir="/home/config"httpd="httpd-2.0.5 ...
随机推荐
- iOS给model排序
今天有朋友问我怎么给Model排序,我顺便写了一个例子, 以下是代码,很简洁可以直接用. Person *per = [[Person alloc] init]; per.name = @" ...
- cf Round 594
A.Warrior and Archer(思维) 战士一定会ban掉当前边缘的位置.而战士和射手就会选择剩下的最远的两点.我们让剩下的最远的两点最近就达到了均衡.于是我们枚举战士ban掉的边缘,ban ...
- cocoaPods的安装使用 以及 Carthage
http://cnbin.github.io/blog/2015/05/25/cocoapods-an-zhuang-he-shi-yong/ 按照这个步骤就OK Note:当引入已有的project ...
- Struts2命令空间小结
sturts2命名空间小结,以tomcat为服务器 1. 命名空间配置为“/” <package name="default" namespace="/" ...
- UVa 10132 - File Fragmentation
题目大意:有n个相同的文件,每个文件从中间分为两半,现在给你这2n个文件碎片,求原来完整的文件. 找出文件碎片长度的最大值和最小值,二者相加可得到原来文件的长度len.然后逐个进行拼接,将拼接后长度等 ...
- Django with uWSGI and nginx
Reference:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html Setting up Dja ...
- 按住ctrl键可以在新窗口打开图片
用firebug查看网页时,img标签(或background属性里面的url地址源)里面的图片源按住ctrl键可以弹出新窗口显示,并可右键另存为到本地目录
- CentOS Linux解决 Device eth0 does not seem to be present
通过OVF部署Linux主机后提示 ringing up interface eth0: Device eth0 does not seem to be present,delaying initi ...
- Selenium2(java)定位页面元素 二
辅助工具: chrome浏览器,F12打开控制台; Firefox浏览器,F12打开控制台; 或者选中要定位的元素右键 安装firefox扩展firebug和firepath; 安装之后F12可调用f ...
- Shell 基础
1.结构 #!指定执行脚本的shell #!/bin/sh # 注释行 命令和控制结构 2.修改权限 chmod +x ... 3 ...