采用mkisofs命令对centos系统备份与恢复做镜像备份,备份后的镜像只有系统文件,而没有用户新加的文件夹或文件。

如何量身打造基于CentOS的产品镜像
作者:广通软件敏捷运维 微信公众号
“广通软件敏捷运维”,面向下一代的数据中心、物联网、互联网敏捷运维管理的知识分享社区。今天,很高兴邀请到广通软件姚惠龙为大家分享工程实施过程中的CentOS简化定制方法。姚惠龙,从事软件定制开发10多年,经历了C/S架构的信息系统和B/S架构的web程序开发,也历经Linux应用程序和内核程序的开发。———我是分割线———随着Linux程序的增多,软件的安装过程中经常出现如下问题:1、硬件配置类似或者相同时,批量安装系统和软件,希望实现自动化安装,减少安装时间和人为出错。2、工程实施人员在不同客户现场进行系统和软件安装(硬件配置不同),由于硬件有差别,不容易实现自动化。笔者针对以上场景,从提高生产效率,减少误操作的立场,提出如下解决方案,希望能达到抛砖引玉的目的,并能与同行进行深入的探讨,发现不足之处。背景知识点Anaconda是RedHat、CentOS、Fedora等Linux的安装管理程序,它可以提供文本、图形等安装管理方式,并支持Kickstart等脚本提供自动安装的功能。定制安装时,它提供的定制界面,可以实现交互式界面供用户选择配置(如选择语言、键盘、时区等信息)。Anaconda支持的管理模式:(1)Kickstart提供自动化安装;(2)对一个RedHat实施upgrade。可用的安装方式:本地CDROM、USB、网络方式(NFS、FTP、HTTP)等。对于Kickstart,它是一个利用Anconda工具实现服务器自动化安装的方法。通过生成的kickstart配置文件ks.cfg,可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置;ks.cfg是一个简单的文本文件,文件包含Anconda在安装系统及安装后配置服务时所需要获取的一些必要配置信息(如键盘设置、语言设置、分区设置等)。Anconda直接从该文件中读取必要的配置,只要该文件信息配置正确无误且满足所有系统需求,就不再需要同用户进行交互获取信息,从而实现安装的自动化。一旦用户进行了选择,安装会以非交互的方式继续。使用kickstart可以实现流线化自动化的安装、强制建立一致性(软件包、分区、配置、监控、安全性)、以及减少人为部署的失误。CentOS定制方法第一步:准备软件安装包(rpm)打包开发的程序制作SPEC文件使用rpmbuild命令生成rpm包rpmbuild -bb /root/rpmbuild/SPECS/apm_c.spec生成 apm_c-2.5.0-1.x86_64.rpm第二步:定制kickstart配置文件定制isolinux/isolinux.cfg文件配置ks.cfg第三步:定制安装界面配置repodata/xxx-comps.xml文件配置install.img文件第四步:重新生成iso镜像文件使用mkisofs命令重新生成镜像文件———我是分割线———作者介绍:姚惠龙,现任职广通软件,从事软件定制开发10多年,经历了C/S架构的信息系统和B/S架构的web程序开发,也从事过Linux应用程序和内核程序的开发。欢迎加入微信“敏捷运维群”,共同探讨交流更多运维干货、行业论点、最新技术。微信添加“broada2015”,或扫码入群。“广通软件敏捷运维”,分享下一代的数据中心、物联网、互联网敏捷运维管理及与运维有关的技术和市场信息,包括战略、前沿、观点、开发、技术、技巧、人员等各个方面。合作与沟通,请加微信好友“broada2015”。
相关微信文章:
相关推荐:
本网站所有内容均采集自网络,如有侵权麻烦邮箱联系删除。如何量身打造基于CentOS的产品镜像
如何量身打造基于CentOS的产品镜像
作者:姚惠龙
今天,很高兴邀请到广通软件姚惠龙为大家分享工程实施过程中的CentOS简化定制方法。姚惠龙,从事软件定制开发10多年,经历了C/S架构的信息系统和B/S架构的web程序开发,也历经Linux应用程序和内核程序的开发。
随着Linux程序的增多,软件的安装过程中经常出现如下问题:
1、硬件配置类似或者相同时,批量安装系统和软件,希望实现自动化安装,减少安装时间和人为出错。
2、工程实施人员在不同客户现场进行系统和软件安装(硬件配置不同),由于硬件有差别,不容易实现自动化。
笔者针对以上场景,从提高生产效率,减少误操作的立场,提出如下解决方案,希望能达到抛砖引玉的目的,并能与同行进行深入的探讨,发现不足之处。
背景知识点
Anaconda是RedHat、CentOS、Fedora等Linux的安装管理程序,它可以提供文本、图形等安装管理方式,并支持Kickstart等脚本提供自动安装的功能。定制安装时,它提供的定制界面,可以实现交互式界面供用户选择配置(如选择语言、键盘、时区等信息)。
Anaconda支持的管理模式:
(1)Kickstart提供自动化安装;
(2)对一个RedHat实施upgrade。
可用的安装方式:本地CDROM、USB、网络方式(NFS、FTP、HTTP)等。
对于Kickstart,它是一个利用Anconda工具实现服务器自动化安装的方法。通过生成的kickstart配置文件ks.cfg,可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置;ks.cfg是一个简单的文本文件,文件包含Anconda在安装系统及安装后配置服务时所需要获取的一些必要配置信息(如键盘设置、语言设置、分区设置等)。
Anconda直接从该文件中读取必要的配置,只要该文件信息配置正确无误且满足所有系统需求,就不再需要同用户进行交互获取信息,从而实现安装的自动化。一旦用户进行了选择,安装会以非交互的方式继续。使用kickstart可以实现流线化自动化的安装、强制建立一致性(软件包、分区、配置、监控、安全性)、以及减少人为部署的失误。
CentOS定制方法
第一步:准备软件安装包(rpm)
打包开发的程序
制作SPEC文件
使用rpmbuild命令生成rpm包
rpmbuild -bb /root/rpmbuild/SPECS/apm_c.spec
生成 apm_c-2.5.0-1.x86_64.rpm
第二步:定制kickstart配置文件
定制isolinux/isolinux.cfg文件
配置ks.cfg
第三步:定制安装界面
配置repodata/xxx-comps.xml文件
配置install.img文件
第四步:重新生成iso镜像文件
使用mkisofs命令重新生成镜像文件
姚惠龙:现任职广通软件,从事软件定制开发10多年,经历了C/S架构的信息系统和B/S架构的web程序开发,也从事过Linux应用程序和内核程序的开发。广通软件十多年来耕耘于运维管理软件研发和服务咨询,面向数据中心、互联网、物联网三个领域提供整合化的运维工具和服务。微信公众号: broada_ops
编 辑:孔垂帅
余承东: 华为超越苹果三星 需四到五年时间
CCTIME推荐
CCTIME飞象网
CopyRight &
京ICP备号&& 京公网安备号
公司名称: 北京飞象互动文化传媒有限公司
未经书面许可,禁止转载、摘编、复制、镜像3378人阅读
Linux/Unix(25)
原文链接:
Mondo Rescue是一个开源免费的故障恢复和备份工具,用户可以轻松地创建系统的完整(Linux或Windows)克隆或备份的ISO镜像,可以将这些镜像存放在CD、DVD、磁带、USB设备、硬盘和NFS上。Mondo Rescue还可以用来快速恢复或者重新部署工作镜像到其他系统中,万一碰到数据丢失,你还可以从备份介质恢复尽可能完整的系统数据。
Mondo程序可以免费下载,在GPL(GNU Public License)下发布,并且已经在很多Linux发行版本中进行过测试。
本文介绍了Mondo的安装方法,以及如何使用Mondo Tools完整备份你的系统。Mondo Rescue是一个故障恢复和备份解决方案,系统管理员可以完整地备份他们的Linux和Windows文件系统分区到CD/DVD、磁带、NFS上,并且可以在引导时通过Mondo Restore介质功能恢复整个系统。
一、在RHEL/CentOS/Scientific Linux平台上安装MondoRescue
最新的Mondo Rescue安装包(Mondo的当前版本为3.0.3-1)可以从“MondoRescue Repository”取得。使用“wget”命令将“MondoRescue Repository”下载和添加到你的系统中。Mondo软件库将会安装适合于你的发行版系统的二进制软件包,例如afio、buffer、mindi、mindi-busybox、mondo,以及mondo-doc,如果它们可用的话。
1. 用于RHEL/CentOS/SL 6, 5, 4 - 32位平台
下载“/etc/yum.repos.d/”下的MondoRescue软件库,文件名为“mondorescue.repo”。请为你的Linux OS发行版本下载正确的软件库。
# cd /etc/yum.repos.d/
## On RHEL/CentOS/SL 6 - 32-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/6/i386/mondorescue.repo
## On RHEL/CentOS/SL 5 - 32-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/5/i386/mondorescue.repo
## On RHEL/CentOS/SL 4 - 32-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/4/i386/mondorescue.repo
2.&用于RHEL/CentOS/SL 6, 5, 4 - 64位平台
# cd /etc/yum.repos.d/
## On RHEL/CentOS/SL 6 - 64-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/6/x86_64/mondorescue.repo
## On RHEL/CentOS/SL 5 - 64-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/5/x86_64/mondorescue.repo
## On RHEL/CentOS/SL 4 - 64-Bit ##
# wget ftp://ftp.mondorescue.org/rhel/4/x86_64/mondorescue.repo
一旦你成功地添加了软件库,就可以使用“yum”命令安装最新的Mondo工具。
# yum install mondo
二、在Debian/Ubuntu/Linux Mint平台上安装MondoRescue
1. Debian平台
Debian用户可以使用“wget”命令抓取适用于Debian 6和Debian 5发行版的MondoRescue软件库。运行下列命令,添加“mondorescue.sources.list”到“/etc/apt/sources.list”文件中,以便于安装Mondo软件包。
## On Debian 6 ##
# wget ftp://ftp.mondorescue.org/debian/6.0/mondorescue.sources.list
# sh -c &cat mondorescue.sources.list && /etc/apt/sources.list&
# apt-get update
# apt-get install mondo
## On Debian 5 ##
# wget ftp://ftp.mondorescue.org/debian/5.0/mondorescue.sources.list
# sh -c &cat mondorescue.sources.list && /etc/apt/sources.list&
# apt-get update
# apt-get install mondo
2. Ubuntu/Linux Mint平台
想要在Ubuntu 12.10、12.04、11.10、11.04、10.10、10.04,或者Linux Mint 13中安装Mondo Rescue,请打开终端,然后在“/etc/apt/sources.list”文件中添加MondoRescue的软件库。运行下列的命令即可安装Mondo Rescue软件包。
# wget ftp://ftp.mondorescue.org/ubuntu/`lsb_release -r|awk '{print $2}'`/mondorescue.sources.list
# sh -c &cat mondorescue.sources.list && /etc/apt/sources.list&
# apt-get update
# apt-get install mondo
三、创建系统/服务器的克隆或备份ISO镜像
安装Mondo之后,以“root”用户权限运行“mondoarchive”命令。下面的截图说明了如何创建一个完整系统的ISO备份镜像。
# mondoarchive
欢迎使用Mondo Rescue
Mondo Rescue的欢迎屏幕
请键入备份ISO镜像所在目录的完整路径名。例如:/mnt/backup/
Mondo Rescue存储目录
选择压缩类型。例如:bzip、gzip、lzo。
选择压缩类型
选择最大压缩选项(Maximum)。
选择压缩速度
请键入你想要的每个ISO镜像的大小,以MB(兆字节)为单位。这个数值应当小于等于CD-R(W)(700)或DVD(4480)的容量。
指定Mondo Rescue的ISO尺寸
请指定你的ISO镜像的文件名。例如:tecmint1,后续镜像文件可以取名tecmint-[1-9]*.iso。
键入Mondo Rescue的名称
请排除你不想要备份的文件系统(以“|”分隔)。例如:一般来说,“/tmp”和“/proc”总是被排除的,如果你想要完整地备份你的系统,直接回车即可。
键入要排除的文件系统
请键入你的临时目录路径,或者选择默认路径。
键入临时目录名
请键入你的暂存目录路径,或者选择默认路径。
键入暂存目录名
如果你想要备份扩展的属性,直接回车即可。
键入扩展备份属性
如果你想要验证你的备份文件,那么在Mondo创建备份文件之后,点击“Yes”。
如果你正在使用稳定独立的Linux内核,那么点击“Yes”;如果你正在使用其他的内核,诸如“Gentoo”或“Debian”,那么点击“No”。
选择稳定的Linux内核
点击“Yes”,进行下一步操作。
进行克隆操作
创建“/”文件系统目录。
创建文件系统的目录
将文件列表划分为集合。
划分文件列表
调用MINDI,创建boot+data磁盘。
创建引导数据磁盘
备份文件系统。这个过程可能会花费几个小时,请耐心等待。
备份文件系统
备份大文件。
大文件备份
运行“mkisofs”,创建ISO镜像。
创建ISO镜像
验证ISO镜像的压缩包。
验证ISO镜像
验证ISO镜像的大文件。
验证大文件
最后,Mondo归档完成。请敲击回车键,回到shell提示符界面。
如果你已经选择了默认的备份路径,你将会在“/var/cache/mondo/”下看到一个ISO镜像文件。至此,你就可以将备份镜像烧录到CD/DVD中,以便于以后恢复系统使用。
为了自动恢复所有文件,可以用Mondo生成的ISO镜像引导系统,然后在引导提示符界面中选择“nuke”类型,即可恢复文件。下面的视频详细示范了如何从CD/DVD介质自动恢复文件。
视频链接:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:145117次
积分:1752
积分:1752
排名:第17072名
原创:31篇
评论:26条
(2)(4)(4)(1)(6)(2)(1)(2)(1)(4)(4)(2)(6)(4)(2)(3)(1)Centos rsync文件同步配置步骤分享
(window.slotbydup=window.slotbydup || []).push({
id: '2611110',
container: s,
size: '240,200',
display: 'inlay-fix'
您当前位置: &
[ 所属分类
作者 红领巾 ]
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了――remote sync 它的特性如下:   可以镜像保存整个目录树和文件系统。   可以很容易做到保持原来文件的权限、时间、软硬链接等等。   无须特殊权限即可安装。   快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。   安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。   支持匿名传输,以方便进行网站镜象。 一、服务器端配置:# yum -y install xinetd# vi /etc/xinetd.d/rsync将如下代码复制代码 代码如下:service rsync { disable = yes socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = Cdaemon log_on_failure += USERID }中的 disable = yes 改成 disable = no然后启动 xinetd# /etc/init.d/xinetd start 或 service xinetd restart注意:如果服务器上装有防火墙记得要打开端口,默认端口是873# telnet 127.0.0.1 873Trying 127.0.0.1...telnet: connect to address 127.0.0.1: Connection refused# iptables -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 873 -j ACCEPT# iptables -A INPUT -p tcp -m tcp --dport 873 -j DROP# vi /etc/rsyncd.conf (这个文件如果不存在自己创建)#Global Settingsuid = root #以什么身份运行rsyncgid = rootuse chroot = no #不使用chrootmax connections = 20 #最大连接数secrets file = /etc/rsyncd.secrets #密码文件位置,认证文件设置,设置用户名和密码log file = /var/log/rsyncd.log #指定rsync的日志文件,而不将日志发送给syslogpid file = /var/run/rsyncd.pid #指定rsync的pid文件lock file = /var/run/rsync.lock #指定支持max connections参数的锁文件,默认值是/var/run/rsyncd.lockcomment = hello world#motd file = /etc/rsyncd.motd #欢迎信息文件名称和存放位置(此文件没有,可以自行添加)[backup] # 这里是认证的模块名,在client端需要指定path = /titan24/www/repos # 需要做镜像的目录auth users = rsync # 授权帐号。认证的用户名,如果没有这行,则表明是匿名,多个用户用,分隔read only = no # yes只读 值为NO意思为可读可写模式,数据恢复用NOhosts allow = 192.168.3.128 #允许访问的服务器IPhosts deny = * #黑名单list = true # 允许列文件#ignore errors # 可以忽略一些无关的IO错误#exclude = cache/111/ cache/222/ #忽略的目录# vi /etc/rsyncd.secrets (设置访问(认证)的用户名密码)rsync:111111 #用户名:密a给文件正确的权限# chown root:root /etc/rsyncd.secrets# chmod 600 /etc/rsyncd.secrets& #(必须是600)二、client 端进行同步客户端默认好像已经装了rsync,没有的话装下:# yum -y install rsync执行异步同步操作:/usr/bin/rsync -avz --progress& ::backup& /www# crontab -e #(可以定时每三分钟同步一次文件)*/3& * * * * rsync -avz --progress& ::backup& /www下面这个命令完整一点:#vi /etc/rsyncd.pas加入密码rsyncofpass注意,客户端的密码文件只需要密码,而不需要用户名!更改文件权限:#chmod 0600 /etc/rsyncd.pas#rsync -vzrtopgu --progress --delete --password-file=/etc/rsyncd.pas & ::rsync_module_name1 /www/这个命令行中-vzrtopg里的v是verbose,z是压缩传输,r是recursive,topg都是保持文件原有属性如属主、时间的参数。u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器的时钟的同步。Cprogress是指显示出详细的进度情况,Cdelete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。后 面的::rsync_module_name1中,之后的rsync_module_name1是模块名, 也就是在/etc/rsyncd.conf中自定义的名称,rsync_user是指定模块中指定的可以同步的用户名。最后的/www是备份到本地的目录名。在这里面,还可以用-e ssh的参数建立起加密的连接。可以用Cpassword-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。#/usr/local/rsync/bin/rsync -vzrtopg Cprogress Cdelete ::rsync_module_name1 /tmp/Password:或者你也可以制定password文件由于需要系统crontab执行,所以这里采用读入密码文件的方式,这个时候就成功了。同步命令说明: 1 显示目录内容 命令 ―― a) rsync b) rsync -r c) rsync :: d) rsync : 命令说明 ――― a) 显示目录内容(第一层) b) 递归显示目录内容 c) 显示远程主机目录内容 *注1:端口模式, 基于rsync用户的身份验证 *注2:rsync server上的目录必须具有xx7的权限. d) 查看远程主机目录内容 *注1:remote shell模式, 通过ssh连接的基于系统本地用户的身份验证 *注2:这里只使用了一个冒号(:),同时用户名是远程主机的ssh 用户,密码也是ssh用户对应的密码。 *注3:使用””,则列出文件夹本身的信息。若要列出文件夹内容,应使用”/”。 参数说明 ――― -r 对目录进行递归操作 2 本地目录之间同步 命令 ―― a) rsync -av Cprogress / *** 注意(/) *** b) rsync -av Cprogress c) rsync -avu Cprogress Cdelete / d) rsync -av Cprogress Ctemp-dir=/tmp / 命令说明 ――― a) 同步src-dir目录下所有文件到dst-dir目录下 b) 同步src-dir目录下所有文件到dst-dir/src-dir目录下 c) 对src-dir目录内容向dst-dir目录下进行差异更新,有增加/更新则添加替换,有减少则对其删减 d) 比a)多了Ctemp-dir=/tmp,即指定/tmp为临时交换区,这样可以避免因目标目录空间不够引起的无法同步文件的错误。 参数说明 ――― -a 相当于 -rlptgoD 的集合 -u 等同于 Cupdate,在目标文件比源文件新的情况下不更新 -v 显示同步的文件 Cprogress 显示文件同步时的百分比进度、传输速率 Cdelete 删除目标目录中多于源目录的文件 3 异地主机之间同步 命令 ―― a) rsync -avz Cprogress ::/ b) rsync -avz Cprogress ::/ Cpassword-file=/home/jack/rsync.jack c) rsync -avuz Cprogress Cdelete ::/ Cpassword-file=/home/jack/rsync.jack d) rsync -avz Cprogress ::/ 命令说明 ――― a) 同步本地目录的内容到远程主机192.168.0.1的目录下,jack是rsync数据库用户(参见3. /etc/rsync.secrets) b) 通过自动读取用户密码而实现非交互登录文件同步 c) 较b)多了-u和Cdelete d) 同步远程主机内容到本地目录
本文运维安全相关术语:linux服务器代维 linux服务器搭建 运维管理 运维工程师 企业安全文章 企业安全管理 cf安全系统检测到游戏数据异常
转载请注明本文标题:本站链接:
分享请点击:
1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
一个人如果只遵照他的内心去活着,他要么成为一个疯子,要么成为一个传奇!
手机客户端
,专注代码审计及安全周边编程,转载请注明出处:http://www.codesec.net
转载文章如有侵权,请邮件 admin[at]codesec.netwuxiangxiang
1案例描述思路的起源来自两个,一个是CactiEZ的安装盘,感觉很牛X,起初没考虑到自己定制;后来肖景海提出我们自己是否也可以发行我们自己的Linux,系统盘里打包好了我们的程序,用户拿到光盘可以直接安装,减去我们软件的安装过程。后来度娘了一下,发现可行。2案例分析整个过程基本分为,创建一个文件夹,用于放置光盘内容;然后根据要安装的包进行提取;打包第三方软件包,然后开始制作,详细旅程请参考“解决过程”。3解决过程3.1准备工作根据我们生产环境,我们使用的linux是CentOS5.564位系统,我们这次文档以生产环境为例进行操作。下面开始准备工作。3.1.1准备环境和挂载镜像安装一个CentOS5.564位系统,以该系统为环境来完成本次案例。将CentOS5.564镜像文件上传到系统“/opt”下,然后将镜像挂载在“/mnt/CentOS-5.5-x86_64”目录下,用于配制yum源和提取制作光盘需要文件。挂载操作,用vim编辑/etc/fstab文件,在最后一行添加如下行:/opt/CentOS-5.5-x86_64-bin-DVD-1of2.iso/mnt/CentOS-5.5-x86_64iso9660loop,defaults00保存fstab文件,执行“mount-a”挂载光盘,后续系统启动会自动挂载光盘。3.1.2配置yum源及安装需要软件配制yum源,安装创建镜像需要的软件。备份系统repo文件,并创建自定义repo文件,操作如下:mkdir/etc/yum.repos.d/bakmv/etc/yum.repos.d/*.repo/etc/yum.repos.d/bak/touch/etc/yum.repos.d/myrepo.repo在myrepo.repo文件内插入如下内容:[base]name=CentOS-5.5-x86_64baseurl=file:///mnt/CentOS-5.5-x86_64gpgcheck=0安装需要的组件包(createrepo:创建yum仓库的软件包的comps.xml文件;mkisofs:创建ISO文件):yum-yinstallcreaterepomkisofs3.2提取镜像需要文件和rpm包文件3.2.1创建光盘文件夹及同步文件在/opt目录下创建一个文件夹“MyCentOS”用于存放生成光盘文件,然后从挂载目录下同步文件到光盘目录,操作如下:rsync-av--exclude=CentOS/mnt/CentOS-5.5-x86_64//opt/MyCentOS/然后删除MyCentOS下不必要的文件,并创建一个目录CentOS用于存放rpm包,保留如下内容(7个文件或目录):#ll-atotal108drwxr-xr-x6rootroot4096Jun2510:34.drwxr-xr-x3rootroot4096Jun2509:24..drwxr-xr-x2rootroot36864Jun2509:23CentOS-rw-r--r--1rootroot106May42010.discinfodrwxr-xr-x4rootroot4096May42010imagesdrwxr-xr-x2rootroot4096May42010isolinuxdrwxr-xr-x2rootroot4096May62010repodata-r--r--r--1rootroot7048May62010TRANS.TBL-rw-r--r--1rootroot417Apr272010.treeinfo3.2.2根据install.log文件生成安装文件列表install.log文件是系统安装时安装包日志文件,实际在使用时根据需要在安装的系统中取得,命令如下:cat/root/install.log|grepInstalling|awk'{print$2}'|awk-F':''{if(NF==2){print$2}else{print$1}}'&/opt/packages.list3.2.3根据文件列表到挂载光盘中拷贝rpm包根据文件列表使用for语句将rpm拷入CentOS目录,命令如下:foriin`cat/opt/packages.list`;docp-pv-f/mnt/CentOS-5.5-x86_64/CentOS/"$i"*/opt/MyCentOS/CentOS/;done3.3制作光盘3.3.1更新安装包的xml文件用createrepo程序更新repodata下的comps.xml文件createrepo-g/opt/MyCentOS/repodata/comps.xml/opt/MyCentOS/CentOS/3.3.2创建自动化安装的ks文件制作ks文件,ks文件根据实际安装要求创建,一般可以使用Kickstart(system-config-kickstart)程序来生成,也可以从root目录下拷贝“anaconda-ks.cfg”(系统安装过程中自动生成)直接使用,本次直接使用root下文件,拷贝文件并改名:cp/root/anaconda-ks.cfg/opt/MyCentOS/isolinux/ks.cfgks文件需要将分区部分内容取消注释后才可使用,修改后如下:#Thefollowingisthepartitioninformationyourequested#Notethatanypartitionsyoudeletedarenotexpressed#heresounlessyouclearallpartitionsfirst,thisis#notguaranteedtoworkclearpart--linux--drives=sdapart/boot--fstypeext3--size=100--ondisk=sdapartpv.2--size=0--grow--ondisk=sdavolgroupVolGroup00--pesize=32768pv.2logvol/--fstypeext3--name=LogVol00--vgname=VolGroup00--size=1024--growlogvolswap--fstypeswap--name=LogVol01--vgname=VolGroup00--size=1000--grow--maxsize=4000为安装过程不提示分区操作,需将“clearpart”行改为如下内容:clearpart--all–initlabel在实际制作光盘过程中,ks文件的修改是关键,需要单独研究一下才使用的比较顺手,ks文件可以使用“ksvalidator”命令来检验文件是否有明显语法错误。3.3.3修改系统安装方式修改镜像的默认安装方式,实现自动化安装,这里,修改/opt/MyCentOS/isolinux/isolinux.cfg这个文件,达到我们的目标,值得注意的是,isolinux.cfg文件是只读的,要想修改,需要为其赋予可写权限:chmod+w/opt/MyCentOS/isolinux/isolinux.cfgvim/opt/MyCentOS/isolinux/isolinux.cfg修改如下内容:default行:此处默认为linux,修改为ks,让linux从ks这个脚本启动,修改后内容;defaultkstimeout行:此处默认600,即等待一分钟,改为6秒钟,即60,修改后内容:timeout60“labelks”部分内容的append行内容,修改后内容:appendks=cdrom:/isolinux/ks.cfginitrd=initrd.imgtext保存文件,下面正式开始制作光盘。3.3.4生成ISO文件制作光盘mkisofs-R-J-T-r-l-d-allow-multidot-allow-leading-dots-no-bak-o/opt/MyCentOS-0.1-x64.iso-bisolinux/isolinux.bin-cisolinux/boot.cat-no-emul-boot-boot-load-size4-boot-info-table/opt/MyCentOS/生成ISO文件在/opt目录下,然后可以安装测试下实际效果。4解决结果很方便的制作自己需要的系统盘,系统安装过程不需要人工干预,把其他需要配置的地方一起做了,对后续使用方便很多。5总结在日常使用其他软件时一般都会有些新的方法或思路,如果善于发现,积极实践运用到我们日常运维中来还是很不错的!6参考:定制自己的CentOS发行版:http://www.osedu.net/article/linux//407.html定制CentOS6.0精简的自动安装版:http://kerry./549/定制centos的制作:http://blog.chinaunix.net/uid-9040470-id-1939673.html参考:GUNcp与tar拷贝文件速度比较http://liuyu./408CentOS6.2X86_64系统定制文档详细版http://www.osedu.net/article/linux//411.html本文出自 “” 博客,谢绝转载!
阅读排行榜

我要回帖

更多关于 centos 制作系统镜像 的文章

 

随机推荐