CentOS 6.4一键自动化安装ISO镜像光盘
下载CentOS-6.4-x86_64-minimal.iso
1
http://mirrors.163.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso
定制步骤:
1
2
3
4
5
6
7
1、安装一个干净的操作系统.包括基本的系统和所需要的工具等.
比如:对于http,mysql等软件,建议使用编译的方式安装, 然后打包放进去,可以减少许多依赖包的麻烦.
2、安装系统后,收集系统已安装的软件包,使用脚本统一转存到一个目录中.
3、在安装光盘复制images镜像,从光盘启动centos安装所需的文件等.
4、定义自己的kickstart安装脚本.
5、按照之前转存的软件(rpm)包, 重新生成光盘的report信息.
6、打包生成ISO文件,及MD5效验码.
光盘结构介绍:
1
2
3
4
* isolinux目录存放光盘启动时的安装界面信息
* images目录包括了必要的启动映像文件
* CentOS目录存放安装软件包及信息
* .discinfo文件是安装价质的识别信息
安装时默认第一项是text自动安装,也可以选择第二项进行手动安装...

安装完成后的ISO:
IP地址:192.168.7.110
root密码:nopassword
操作过程记录:
(一)挂载光盘,使用脚本拷贝相关软件包到/ISO/Packages目录下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@CentOS ~]# mkdir /mnt/cdrom
[root@CentOS ~]# mount /dev/cdrom /mnt/cdrom
[root@CentOS~]# /usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /mnt/cdrom/ /ISO/
[root@CentOS ~]# mkdir -p /ISO/{Packages,repodata}
[root@CentOS ~]# vi copy.sh
#!/bin/bash
cd /root
awk '/Installing/{print $2}' install.log | sed 's/^*://g' >package.txt
DVD='/mnt/cdrom/Packages'
PACKDIR='/root/package.txt'
NEW_DVD='/ISO/Packages'
while read LINE
do
cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."
done < package.txt
rm -f package.txt
[root@CentOS ~]# chmod +x copy.sh
[root@CentOS ~]# ./copy.sh
[root@CentOS ~]# ll /ISO/Packages/ |wc -l
285
(二)定制kickstart安装脚本ks.cfg,并修改/ISO/isolinux/isolinux.cfg文件,默认isolinux.cfg的权限为444,只能读,无法修改
1
2
3
4
5
6
[root@CentOS ~]# cd /ISO
[root@CentOS ISO]# cp ~/anaconda-ks.cfg isolinux/ks.cfg
[root@CentOS ISO]# vi isolinux/ks.cfg
[root@CentOS ISO]# chmod 644 isolinux/isolinux.cfg
[root@CentOS ISO]# vi isolinux/isolinux.cfg
[root@CentOS ISO]# chmod 444 isolinux/isolinux.cfg
(三)安装anaconda repodata createrepo mkisofs等工具,执行createrepo程序生成repodata下的comps.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@CentOS ISO]# yum -y install anaconda repodata createrepo mkisofs rsync
[root@CentOS ISO]# cp /mnt/cdrom/repodata/*-minimal-x86_64.xml /ISO/repodata/minimal-x86_64.xml
[root@CentOS ISO]# createrepo -g repodata/minimal-x86_64.xml ./
285/285 - Packages/audit-libs-2.2-2.el6.x86_64.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
[root@CentOS ISO]# declare -x discinfo=`head -1 .discinfo`
[root@CentOS ISO]# echo $discinfo
1341569670.539525
[root@CentOS ISO]# createrepo -u "media://$discinfo" -g repodata/minimal-x86_64.xml .
285/285 - Packages/audit-libs-2.2-2.el6.x86_64.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
[root@CentOS ISO]# ll repodata/
total 724
-rw-r--r--. 1 root root 266266 Jul 17 02:30 filelists.xml.gz
-rw-r--r--. 1 root root 11334 Jul 17 02:30 minimal-x86_64.xml
-rw-r--r--. 1 root root 1387 Jul 17 02:30 minimal-x86_64.xml.gz
-rw-r--r--. 1 root root 183083 Jul 17 02:30 other.xml.gz
-rw-r--r--. 1 root root 265795 Jul 17 02:30 primary.xml.gz
-rw-r--r--. 1 root root 2125 Jul 17 02:30 repomd.xml
(四)使用mkisofs命令生成ISO文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@CentOS ISO]# mkisofs -o CentOS-6.4_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /ISO/
I: -input-charset not specified, using utf-8 (detected in locale settings)
genisoimage 1.1.9 (Linux)
Scanning /ISO/
Scanning /ISO/EFI
Scanning /ISO/EFI/BOOT
Excluded: /ISO/EFI/BOOT/TRANS.TBL
Excluded: /ISO/EFI/TRANS.TBL
Scanning /ISO/repodata
Scanning /ISO/images
Excluded: /ISO/images/TRANS.TBL
Scanning /ISO/isolinux
Excluded: /ISO/isolinux/TRANS.TBL
Excluded by match: /ISO/isolinux/boot.cat
………………………………………….
98.05% done, estimate finish Tue Jul 17 02:43:01 2012
Total translation table size: 81205
Total rockridge attributes bytes: 35197
Total directory bytes: 59644
Path table size(bytes): 96
Done with: The File(s) Block(s) 203755
Writing: Ending Padblock Start Block 203836
Done with: Ending Padblock Block(s) 150
Max brk space used 65000
203986 extents written (398 MB)
(五)生成ISO文件MD5值
1
2
3
4
5
6
7
8
[root@CentOS ISO]# /usr/bin/implantisomd5 /ISO/CentOS-6.4_64.iso
Inserting md5sum into iso image...
md5 = 1355f3a08334162777e6ad867c448d2e
Inserting fragment md5sums into iso image...
fragmd5 = a832435cd7aeb593363287aa551476c9dd21be459aada4c29e9f3475da1e
frags = 20
Setting supported flag to 0
[root@CentOS ISO]#
isolinux.cfg文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
default vesamenu.c32
#prompt 1
timeout 100 ###10秒钟
display boot.msg
menu background splash.jpg
menu title Welcome to use CentOS 6.4!
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 ^Auto Install Xlogin Linux System
menu default
kernel vmlinuz
append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img ###ks文件路径
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
以上是整个ISO的制作所有的操作过程,看起来绝对够简单吧!附件中是ks文件,希望这篇文章能够帮到你哦!
最后找个例如winscp之类的工具将ISO文件传输到本机,就可以刻盘安装了...

CentOS 6.4一键自动化安装ISO镜像光盘的更多相关文章
- 合并 CentOS 6.8 的两个ISO镜像
合并 CentOS 6.8 的两个ISO镜像 1.创建相关目录: [root@local ~] mkdir -p /mnt/dvd1 /mnt/dvd2 /mnt/dvd3 /mnt/iso 说明: ...
- Liunx之Centos系统无人值守全自动化安装
作者:邓聪聪 定制centos6.8自动安装ISO光盘 安装系统为centos6.8 (base server),安装方式为全新安装 使用ext4分区格式 安装前可以交互输入root密码,主机名,分区 ...
- 腾讯云/阿里云/微软云安装ISO镜像系统方法
如今云服务的盛行,我们的开发和应用中场景应用也层出不穷,有时我们需要安装自由的镜像却越来越难,甚至有些云出于安全原因自己用户安装自由镜像,那么今天将带给大家安装自有镜像的方法. 前提条件:你的现有服务 ...
- CentOS下LAMP一键yum安装脚本
本脚本适用环境: 系统支持:CentOS/Redhat/Fedora 内存要求:≥64M 硬盘要求:2GB以上的剩余空间 服务器必须配置好软件源和可连接外网 必须具有系统 root 权限 建议使用干净 ...
- 如何安装iso镜像文件
1.使用压缩软件打开iso文件 2.点击setdup.exe文件,双击打开 3.解压缩后等待安装
- ESXi安装iso镜像添加驱动(esxi6.5,6.7)
准备工作:1.安装 Windows PowerShell 3.0 (需要启用Windows AutoUpdate服务,安装完毕计算机需要重启) https://www.microsoft.com/en ...
- 初涉定制linux系统之——自动化安装Centos系统镜像制作
最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...
- 定制linux镜像并自动化安装
最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建….. 本来想法是打算把需要的依 ...
- 制作iso镜像U盘自动化安装linux系统
自制光盘引导自动化安装 首先我们要明白都需要哪些文件,我们列举下 ①需要一个文件夹来存放文件,将来把这个目录打包成iso ②准备kickstart文件(ks.cfg) ③准备启动文件启动菜单 差不多也 ...
随机推荐
- tomcat深入学习
总体结构:https://www.jianshu.com/p/d74eef07487f servlet相关:https://www.ibm.com/developerworks/cn/java/j-l ...
- python-生成测试报告-然后自动发送邮件
前两篇单独介绍了生成测试报告和自动发送邮件,那么现在把两者整合到一起:生成测试报告后然后自动发送邮件,这里只是简单的整合实现功能,其实还可以优化的,先用吧,后面再慢慢优化 先看下目录,其实目录还是一样 ...
- Java中split的用法
Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项:java.lang.string.splitsplit 方法 ...
- postman批量执行 要给请求加断言,批量执行的时候才会去统计,成功和失败的条数
1.设置请求断言后保存 2.点击runner去批量执行 3.有断言的请求就会统计
- java代码--实现随机输出10个随机数,并显示最大值,最小值
总结;对于length()属性,还不是很熟悉.不会用它. package com.s.x; //随机产生10个随机数,并且显示出最大值,最小值 public class Love { public s ...
- Java中的<< 和 >> 和 >>> 详细分析
<<表示左移移,不分正负数,低位补0: 注:以下数据类型默认为byte-8位 左移时不管正负,低位补0 正数:r = 20 << 2 20的二进制补码:0001 0100 向左 ...
- SpringMVC日志管理(自定义异常及自定义注解)
近期为了规范公司老旧项目的日志,主要也是为了便于日后错误排查以及加强对业务系统的监控,准备对原有的日志输出进行简单的改造. 解决思路 1.通过自定义异常来将可能出现的问题分为两大类,业务类及系统类.同 ...
- ALSA声卡笔记4-----体验声卡
1 .配置内核支持UDA1341 (1)内核 解压内核并打上补丁 配置内核 platform 需要设置哪些配置项,先看一下platform,需要把S3c24xx-i2s.c文件配置上去,dma.c也要 ...
- 关于v$BH
关于v$bh的相关字段值FILE# NUMBER Datafile identifier number (to find the filename, query DBA_DATA_FILES or V ...
- Mysql Cluster节点类型(转载)
mysql 自4.1.x版本开始推出mysql cluster功能.cluster简单地说,就是一组"节点"的组合.这里的节点是一个逻辑概念,一台计算机上可以存放一个节点,也可以存 ...