linux 定制ISO

由于经常需要安装服务器,需要手动操作太啰嗦,有时候不需要网络或者其他环境安装,所以找了一些定制linux iso的方法。即把需要安装的包,需要规划的分区等等信息,定制在iso里,通过iso自动安装。

1.创建iso文件路径

在root下创建iso目录及

[[email protected] ~]# mkdir iso

[[email protected] ~]# mkdir -pv /root/iso/CentOS

2.创建系统安装所需要的软件包列表文件

[[email protected] ~]# 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.拷贝系统安装所需要的其他文件

[[email protected] ~]# cd /media/cdrom/

[[email protected] 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并修改

[[email protected] ~]# cp anaconda-ks.cfg /root/iso/ks.cfg

[[email protected] ~]# cd /root/iso/

7.修改ks文件

[[email protected] 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 下生成库文件

[[email protected] iso]# createrepo -g repodata/0daea8dcs23-x86_64-comps.xml ../iso

10.生成镜像文件

[[email protected] 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有效。

时间: 2024-08-27 14:48:33

linux 定制ISO的相关文章

linux 定制任务计划后/var/spool/clientmqueue目录下内容处理

在linux系统中,我们经常会用crontab来定制任务计划,然而每次执行的时候会产生一个信息发送到/var/spool/clientmqueue/,这些东西一般没什么用,还占用磁盘空间,需要删除 由于可能执行的时间太久,文件可能过大,用rm -f *来删除时会提示(-bash: /bin/rm: Argument list too long) 所以用这个命令来操作: ls |xargs rm -f * 为了以后不将这些无用的信息输出到这个目录,可以在执行任务计划的时候,将其指定到黑洞,命令如下

定制iso系统

定制CentOS 5.5精简的自动安装版1.安装制作发行版所需的基本软件包yum  -y install createrepo mkisofs2.生成安装系统所需的rpm文件列表awk '/Installing/{print $2}' install.log |sed 's/^[0-9]*://g' >/root/CentOS.list3.创建定制工作目录mkdir -p /mnt/cdrommkdir -p /data/OSmount /dev/cdrom /mnt/cdrom/rsync -

Linux 定制rpm包

 定制rpm包 说明:这些操作全部在管理服务器内操作. 定制rpm包,搭建内网yum仓库,通过kickstart批量系统安装,这是互联网企业运维自动化的必要技能,自动化运维的基石. 1.1 面试题 有100台服务器想安装系统.你有什么方案快速部署并优化吗?需要多少时间搞定? 1.1.1 解决方案 (1) tar打包:先编译安装.打包.批量分发.解包: (2) saltstack.puppet.ansible批量部署: (3) 定制rpm所.搭建yum仓库.yum安装: (4) openstack

通过linux的iso镜像安装(RPM)扩展工具包

在linux安装软件时,现在越来越流行通过rpm指令安装完成,原因是:采用RPM安装简单方便:越来越多的软件提供RPM安装包:linux的IOS镜像文件自带了非常多的系统扩展RPM安装包,且这些软件版本是最适合当前linux系统的.正是基于上面这些因素,所以我们在安装软件的过程中,建议通过RPM安装.在安装一些基础扩展软件的时候,其实我们很多时候,不需要去网上下载RPM包,因为linux镜像文件就提供了.下面就通过cmake安装,给大家提供一些思路: 0.查看cmake指令是否存在:which

linux挂载iso,u盘,分区,squashfs压缩文件

常见分区加载方法: mount挂载iso文件: #mkdir /mnt/iso1 #mount –o loop linuxsetup.iso /mnt/iso1 在linux 不需要虚拟光驱,就可以直接读取iso文件了. mount挂载squashfs压缩文件系统: #mkdir /mnt/src-squashfs #sudo mount -t squashfs -o loop src-cd/casper/filesystem.squashfs  /mnt/src-squashfs/  #挂载原

linux 制作iso文件

1 概述 为了日常工作方便,我们可以自己制作iso文件,方便后期的使用 2 操作 2.1.cp直接制作 格式如下 cp  光盘路径  新生成的iso文件路径 例子 cp /dev/sr0  ./tt1/CentOS6.iso 这样的方式相当于是刻录磁盘,生成的文件CentOS6.iso 可以做启动盘 2.2 借助脚本mkdvdiso.sh来制作 以下是mkdvdiso.sh这个脚本下载路径.这个脚本只能是centOS4,5,6,三个版本可以制作 https://wiki.centos.org/T

Remastersys备份linux系统ISO镜像

1. 安装Remastersys 利用Ubuntu Software Center安装,修改sources.list文件,在文件末尾加入下面三行,添加软件源, #Rsudo remastersys distPrecisedeb http://ppa.launchpad.net/mutse-young/remastersys/ubuntu trusty maindeb-src http://ppa.launchpad.net/mutse-young/remastersys/ubuntu trust

linux定制

http://cc.bingj.com/cache.aspx?q=OpenEmbedded+clfs&d=4706495287069596&mkt=zh-CN&setlang=zh-CN&w=afp8GvZe7KNcRFBKF2kYXd8WwVn9MVkI CLFS stands for Cross Linux From Scratch, it's an offshoot of the LFS (Linux From Scratch) project. The goal o

Linux 挂载ISO问题-iso的命名不能出现空格

问题: 执行挂载操作老是失败,这是因为你ISO镜像的文件名有问题,不能用空格去命令,否则会读取不了. 修改命名,再挂载! 挂载成功!