标签:iso定制
由于经常需要安装服务器,需要手动操作太啰嗦,有时候不需要网络或者其他环境安装,所以找了一些定制linux iso的方法。即把需要安装的包,需要规划的分区等等信息,定制在iso里,通过iso自动安装。
1.创建iso文件路径
在root下创建iso目录及
[root@svn-dev ~]# mkdir iso
[root@svn-dev ~]# mkdir -pv /root/iso/CentOS
2.创建系统安装所需要的软件包列表文件
[root@svn-dev ~]# awk ‘/^Install/{print $2}‘ install.log | sed s‘/^[0-9]*://g‘ > packages.txt
3.创建一个脚本,自动拷贝软件包到CentOS下
#!/bin/bash
FILE=/root/packages.txt
DEST_DIR=/root/iso/CentOS
SRC_DIR=/media/cdrom/CentOS
while read LIN
do
cp $SRC_DIR/$LINE.rpm $DEST_DIR || echo "$LINE didn‘t cp .." >> cperr.txt
done < $FILE
4.拷贝系统安装所需要的其他文件
[root@svn-dev ~]# cd /media/cdrom/
[root@svn-dev cdrom]# cp -r .discinfo .treeinfo images/ isolinux/ repodata/ RPM-GPG-KEY-CentOS6 EULA GPL /root/iso
5.编辑isolinux.cfg 选择启动的ks文件
修改为如下:
default linux ks=cdrom:/ks.cfg
6.拷贝ks并修改
[root@svn-dev ~]# cp anaconda-ks.cfg /root/iso/ks.cfg
[root@svn-dev ~]# cd /root/iso/
7.修改ks文件
[root@svn-dev iso]# vi ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --enabled --ssh
# Install OS instead of upgrade
install
# Use NFS installation media
# Root password
rootpw --iscrypted $6$MzZ3BXZsXNr0f8/x$eCsipyVr5SmqiqGVcGVv2N5kaQ7ff7zO5qTotejBRjjNM8QkQI.Emor8jY8RAv/ULvD/FoMU/AM2V21y../7f.
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
# 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 swap --size=2048
part / --fstype=ext4 --grow --size=200
%packages
@base
@core
@development
@server-policy
sgpio
%end
8.安装制作光盘需要的包
# yum -y install createrepo mkisofs
9.在/root/iso 下生成库文件
[root@svn-dev iso]# createrepo -g repodata/0daea8dcs23-x86_64-comps.xml ../iso
10.生成镜像文件
[root@svn-dev iso]# mkisofs -o DawaCentOS6_x86_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot
-boot-load-size 4 -boot-info-table -R -J -V -T /root/iso/
补充:
补充说明:mkisofs可将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。
参 数:
-a或--all mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中。
-A<应用程序ID>或-appid<应用程序ID> 指定光盘的应用程序ID。
-abstract<摘要文件> 指定摘要文件的文件名。
-b<开机映像文件>或-eltorito-boot<开机映像文件> 指定在制作可开机光盘时所需的开机映像文件。
-biblio<ISBN文件> 指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN。
-c<开机文件名称> 制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog<开机文件名称>全部内容作成一个文件。
-C<盘区编号,盘区编号> 将许多节区合成一个映像文件时,必须使用此参数。
-copyright<版权信息文件> 指定版权信息文件的文件名。
-d或-omit-period 省略文件后的句号。
-D或-disable-deep-relocation ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660兼容的格式。使用-D参数可关闭此功能。
-f或-follow-links 忽略符号连接。
-h 显示帮助。
-hide<目录或文件名> 使指定的目录或文件在ISO 9660或Rock RidgeExtensions的系统中隐藏。
-hide-joliet<目录或文件名> 使指定的目录或文件在Joliet系统中隐藏。
-J或-joliet 使用Joliet格式的目录与文件名称。
-l或-full-iso9660-filenames 使用ISO 9660 32字符长度的文件名。
-L或-allow-leading-dots 允许文件名的第一个字符为句号。http://www.linuxso.com/command/mkisofs.html
-log-file<记录文件> 在执行过程中若有错误信息,预设会显示在屏幕上。
-m<目录或文件名>或-exclude<目录或文件名> 指定的目录或文件名将不会房入映像文件中。
-M<映像文件>或-prev-session<映像文件> 与指定的映像文件合并。
-N或-omit-version-number 省略ISO 9660文件中的版本信息。
-o<映像文件>或-output<映像文件> 指定映像文件的名称。
-p<数据处理人>或-preparer<数据处理人> 记录光盘的数据处理人。
-print-size 显示预估的文件系统大小。
-quiet 执行时不显示任何信息。
-r或-rational-rock 使用Rock Ridge Extensions,并开放全部文件的读取权限。
-R或-rock 使用Rock Ridge Extensions。
-sysid<系统ID> 指定光盘的系统ID。
-T或-translation-table 建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上。
-v或-verbose 执行时显示详细的信息。
-V<光盘ID>或-volid<光盘ID> 指定光盘的卷册集ID。
-volset-size<光盘总数> 指定卷册集所包含的光盘张数。
-volset-seqno<卷册序号> 指定光盘片在卷册集中的编号。
-x<目录> 指定的目录将不会放入映像文件中。
-z 建立通透性压缩文件的SUSP记录,此记录目前只在Alpha机器上的Linux有效。
本文出自 “运维菜鸟” 博客,请务必保留此出处http://ckl893.blog.51cto.com/8827818/1682280
标签:iso定制
原文地址:http://ckl893.blog.51cto.com/8827818/1682280