下载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镜像光盘的更多相关文章

  1. 合并 CentOS 6.8 的两个ISO镜像

    合并 CentOS 6.8 的两个ISO镜像 1.创建相关目录: [root@local ~] mkdir -p /mnt/dvd1 /mnt/dvd2 /mnt/dvd3 /mnt/iso 说明: ...

  2. Liunx之Centos系统无人值守全自动化安装

    作者:邓聪聪 定制centos6.8自动安装ISO光盘 安装系统为centos6.8 (base server),安装方式为全新安装 使用ext4分区格式 安装前可以交互输入root密码,主机名,分区 ...

  3. 腾讯云/阿里云/微软云安装ISO镜像系统方法

    如今云服务的盛行,我们的开发和应用中场景应用也层出不穷,有时我们需要安装自由的镜像却越来越难,甚至有些云出于安全原因自己用户安装自由镜像,那么今天将带给大家安装自有镜像的方法. 前提条件:你的现有服务 ...

  4. CentOS下LAMP一键yum安装脚本

    本脚本适用环境: 系统支持:CentOS/Redhat/Fedora 内存要求:≥64M 硬盘要求:2GB以上的剩余空间 服务器必须配置好软件源和可连接外网 必须具有系统 root 权限 建议使用干净 ...

  5. 如何安装iso镜像文件

    1.使用压缩软件打开iso文件 2.点击setdup.exe文件,双击打开 3.解压缩后等待安装

  6. ESXi安装iso镜像添加驱动(esxi6.5,6.7)

    准备工作:1.安装 Windows PowerShell 3.0 (需要启用Windows AutoUpdate服务,安装完毕计算机需要重启) https://www.microsoft.com/en ...

  7. 初涉定制linux系统之——自动化安装Centos系统镜像制作

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...

  8. 定制linux镜像并自动化安装

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建….. 本来想法是打算把需要的依 ...

  9. 制作iso镜像U盘自动化安装linux系统

    自制光盘引导自动化安装 首先我们要明白都需要哪些文件,我们列举下 ①需要一个文件夹来存放文件,将来把这个目录打包成iso ②准备kickstart文件(ks.cfg) ③准备启动文件启动菜单 差不多也 ...

随机推荐

  1. QT creator 调试问题

    问题:debug出现“ptrace:不允许的操作.” 解决办法: # may not be appropriate for developers or servers with only admin ...

  2. 字符串全排列 java实现

    经常会遇到字符串全排列的问题.例如:输入为{‘a’,’b’,’c’},则其全排列组合为abc,acb,bac,bca,cba,cab.对于输入长度为n的字符串数组,全排列组合为n!种. package ...

  3. openresty+lua做接口调用权限限制

    说明:openresty可以理解为一个服务器它将nginx的核心包含了过来,并结合lua脚本语言实现一些对性能要求高的功能,该篇文章介绍了使用openresty 1.purview.lua --调用j ...

  4. Linux下的lds链接脚本详解

    1. 概论2. 基本概念3. 脚本格式4. 简单例子5. 简单脚本命令6. 对符号的赋值7. SECTIONS命令8. MEMORY命令9. PHDRS命令10. VERSION命令11. 脚本内的表 ...

  5. laravel的blade模板的布局嵌套

    测试路由 Route::get('/', function() { $value = [,,]; return view('home.index', array('data' => $value ...

  6. 简单的PL/SQl链接远程ORACLE数据库方法

    简单的PL/SQl链接远程ORACLE数据库方法 PLSQL Developer新手使用教程 pasting

  7. 业务SQL优化

    1,个人开户报表统计 优化前语句,执行时间80多秒 SELECT a.DA AS f_da, a.account_name AS f_account_name, a.sex AS f_sex, a.n ...

  8. 第七章 HTTP流量管理(二) URL 重写

    URL 重定向功能: 浏览器中输入  http://<host_name>:31380/v1/service-A/XXXX 经过下面的重定向,实际调用的是serviceA的/v1/XXXX ...

  9. 第六章 通过Service访问Pod(下)

    6.4 外网如何访问service (1)ClusterIp: Service通过Cluster内部的IP对外提供服务,只有Cluster内的节点和Pod可以访问,这是默认的Service类型. (2 ...

  10. MySql——触发器

    触发器 什么叫触发器: 就是mysql中的一种“一触即发”的机器(机制). 其实只是预先定义好的一段代码.该段代码无需人工调用,而是会在‘预计’好的某个情形下自动执行. 通常就这几个情形: 对某个数据 ...