应用CentOS快速构建筑组织调的发行版,基于CentOS6定制自个儿的ISO安装光盘

By admin in 美高梅手机版4858 on 2019年4月7日

告诫:转发请证明出处 https://www.cnblogs.com/BoyTNT/p/9322927.html 

编者按:对于众多民用站长以来,每一遍业务扩大容积装Linux系统都以件很劳苦的作业。有的IDC技术不会装Linux系统,或然有个别正是装二回系统接到一定的开支。为此制作2个简洁的CentOS发行版是很重点的。上边就一起来看下具体制作进度吧。
  一、制作LTOS具体过程
  光盘结构介绍
  * isolinux 目录存放光盘运营时的装置界面音信
  * images 目录包括了须求的起步影像文件
  * CentOS 目录存放安装软件包及新闻
  * .discinfo 文件是安装价质的分辨信息
  * lemp.tar.gz 文件存放系统伊始化及其有关程序安装脚本.
  》》环境表明:CentOS 伍.3-i38陆 Vmware Workstation上完成制作工作.
  1.装置制作发行版所需的中坚软件包
  # yum -y install anaconda-runtime createrepo yum-utils anaconda
anaconda-help busybox-anaconda mkisofs贰.制作ltos源文件夹
  # mkdir /ltos
  # mkdir /mnt/cdrom
  # mount -t iso9660 -o loop /dev/cdrom /mnt/cdrom/ 挂载光盘镜像
  只怕挂载ISO文件到/mnt/cdrom
  # mount -t iso9660 -o loop centos.xxx.iso /mnt/cdrom
将CentOS的ISO文件挂载到/mnt/cdrom目录
  # cd /mnt/cdrom
  # tar -cf – . | ( cd /ltos ; tar -xvpf – )
//将/mnt/cdrom里的文书利用tar全体拷贝到/ltsos那几个目录下.
  #cd /ltos //进入此目录删除1些毫不相干的文件,仍后跻身后边的工作.
  [[email protected]
ltos]# ls -al
  total 88
  drwxr-xr-x 6 root root 4096 Apr 11 21:00 .
  drwxr-xr-x 27 root root 4096 Apr 12 05:26 ..
  drwxr-xr-x 2 root root 36864 Apr 8 16:06 CentOS
  -rw-r–r– 1 root root 97 Apr 8 16:43 .discinfo
  drwxr-xr-x 4 root root 4096 Mar 21 23:04 images
  drwxr-xr-x 2 root root 4096 Apr 12 00:00 isolinux
应用CentOS快速构建筑组织调的发行版,基于CentOS6定制自个儿的ISO安装光盘。  -rw-r–r– 壹 root root 1437一 Apr 1一 23:16 lemp.tar.gz
//那些软件包是大家前面要树立的,读者可以分析一下末尾的ks.cfg脚本就足以知晓她的用途.
  drwxr-xr-x 2 root root 4096 Apr 11 21:00 repodata
  -r–r–r– 一 root root 7048 Mar 贰1 2叁:0五TRANS.TBL三.定制package.list软件包清单
  如安装一个CentOS五.三的种类,遵照自个儿的要求选用软件包;假设想你的系统不大,提出选用最少的包。安装完成以后,在系统里会产出生之日志。日文文件存放在/root/install.log。
  # cat install.log | grep Installing | sed ‘s/Installing //g’|sed
‘s/^[0-9]\+://g’ > packages.list
  #mkdir /ltos/CentOS 建立存放rpm包的目录.创建机关提取相关rpm脚本:
  #vi cprpms.sh
  #!/bin/bash
  DEBUG=0
  LT_CD=/mnt/cdrom
  ALL_RPMS_DIR=/mnt/cdrom/CentOS #挂载光盘存放的目录
  LT_RPMS_DIR=/ltos/CentOS #存放RAV4PM包的目录
  packages_list=/root/packages.list
  number_of_packages=`cat $packages_list | wc -l`
  i=1
  while [ $i -le $number_of_packages ] ; do
  line=`head -n $i $packages_list | tail -n -1`
  name=`echo $line | awk ‘{print $1}’`
  version=`echo $line | awk ‘{print $3}’ | cut -f 2 -d :`
  if [ $DEBUG -eq “1” ] ; then
  echo $i: $line
  echo $name
  echo $version
  fi
  if [ $DEBUG -eq “1” ] ; then
  ls $ALL_RPMS_DIR/$name-$version*
  if [ $? -ne 0 ] ; then
  echo “cp $ALL_RPMS_DIR/$name-$version* “
  fi
  else
  echo “cp $ALL_RPMS_DIR/$name-$version* $LT_RPMS_DIR/”
  cp $ALL_RPMS_DIR/$name-$version* $LT_RPMS_DIR/
  # in case the copy failed
  if [ $? -ne 0 ] ; then
  echo “cp $ALL_RPMS_DIR/$name-$version* “
  cp $ALL_RPMS_DIR/$name* $LT_RPMS_DIR/
  fi
  fi
  i=`expr $i + 1`
  done执行以上脚本将定制ltos要求的rpm复制到/ltos/CentOS目录
  再次回到到/ltos目录下,执行createrepo程序生成repodata下的comps.xml文件
  #cd /ltos
  #createrepo -g repodata/comps.xml .4.配置kickstart脚本
  通过CentOS5.三定制安装系统之后,会在系统里发生三个kickstart安装脚本(/root/anaconda-ks.cfg)
  # cp anaconda-ks.cfg /ltos/isolinux/ks.cfg
  # vi /ltos/isolinux/ks.cfg 并修改脚本如下:
  # Kickstart file automatically generated by anaconda.
  # Install CentOS instead of Upgrade
  install
  text
  #install from cd-rom
  cdrom
  lang en_US.UTF-8
  keyboard us
  # Skip the X Configuration
  skipx
  network –device eth0 –bootproto dhcp –hostname
ltos.linuxtone.org
  rootpw –iscrypted $1$jPZf0P0r$JRe7pd.5wq9k.VZEMOgdq/
  # Setup the firewall with SSH, HTTP/S, Syslog, Webmin, and Netflow
enabled
  firewall –enabled –port=22:tcp –port=69:udp –port=80:tcp
–port=443:tcp
  authconfig –enableshadow –enablemd5
  # Disable SELinux
  selinux –disabled
  timezone –utc Asia/Shanghai
  # Clear the Bootloader and load it to the Master Boot Record
  bootloader –location=mbr
  zerombr yes
  # Set the Mouse
  mouse generic3ps/2
  # The following is the partition information you requested
  # Note that any partitions you deleted are not expressed
  # here so unless you clear all partitions first, this is
  # not guaranteed to work
  clearpart –all –initlabel
  part /boot –fstype ext3 –size=100 –asprimary
  part / –fstype ext3 –size=25000
  part swap –size=4096
  part /data –fstype ext3 –size=1 –grow
  #— Reboot the host after installation is done
  reboot
  %packages
  @development-libs
  @editors
  @system-tools
  @text-internet
  @legacy-network-server
  @dialup
  @core
  @base
  @mail-server
  @development-tools
  audit
  net-snmp-utils
  sysstat
  iptraf
  dstat
  tftp
  lynx
  device-mapper-multipath
  imake
  -zsh
  -vnc
  -zisofs-tools
  -xdelta
  -openldap-clients
  -samba-client
  -fetchmail
  -dovecot
  -spamassassin
  #
  # ——- Begin LEMP Install ———
  #
  %post –nochroot
  # Mount CDROM
  mkdir -p /mnt/cdrom
  mount -r -t iso9660 /tmp/cdrom /mnt/cdrom
  # Copy our tar file and extract it
  cp /mnt/cdrom/lemp.tar.gz /mnt/sysimage/tmp/lemp.tar.gz >
/dev/null
  cd /mnt/sysimage/tmp/
  tar -zxvf lemp.tar.gz > /dev/null
  # Move the contents of the tar into their new locations
  cp -R /mnt/sysimage/tmp/boot/* /mnt/sysimage/boot/ > /dev/null
2>/dev/null
  cp -R /mnt/sysimage/tmp/etc/* /mnt/sysimage/etc/ > /dev/null
2>/dev/null
  # Unmount CDROM
  umount /mnt/cdrom
  %post
  #vim syntax on
  sed -i “8 s/^/alias vi=’vim’/” /root/.bashrc 2>/dev/null
  echo ‘syntax on’ > /root/.vimrc 2>/dev/null
  # Disable IPv6 until Cacti at least supports it
  echo “alias net-pf-10 off” >> /etc/modprobe.conf
  echo “alias ipv6 off” >> /etc/modprobe.conf
  /sbin/chkconfig –level 35 ip6tables off
  #init_ssh
  ssh_cf=”/etc/ssh/sshd_config”
  sed -i -e ’74 s/^/#/’ -i -e ’76 s/^/#/’ $ssh_cf
  sed -i “s/#UseDNS yes/UseDNS no/” $ssh_cf
  #client
  sed -i -e ’44 s/^/#/’ -i -e ’48 s/^/#/’ $ssh_cf
  # Remove the ISO File translation files
  find / -name TRANS.TBL -exec rm {} \; /dev/null 2>/dev/null
  # Remove some unneeded services
  #——————————————————————————–
  cat << EOF
  +————————————————————–+
  | === Welcome to Tunoff services === |
  +————————————————————–+
  EOF
  #———————————————————————————
  for i in `ls /etc/rc3.d/S*`
  do
  CURSRV=`echo $i|cut -c 15-`
  echo $CURSRV
  case $CURSRV in
  crond | irqbalance | microcode_ctl | network | random | sendmail |
sshd | syslog | local | mysqld )
  echo “Base services, Skip!”
  ;;
  *)
  echo “change $CURSRV to off”
  chkconfig –level 235 $CURSRV off
  service $CURSRV stop
  ;;
  esac
  done
  # file descriptors
  ulimit -HSn 65535
  echo -ne “
  * soft nofile 65536
  * hard nofile 6553陆”
>>/etc/security/limits.conf5.让系统从kickstart配置运转
  # vi /ltos/ isolinux/ isolinux.cfg
  default auto
  prompt 1
  timeout 600
  display boot.msg
  F1 boot.msg
  F2 options.msg
  F3 general.msg
  F4 param.msg
  F5 rescue.msg
  label linux
  kernel vmlinuz
  append initrd=initrd.img
  label text
  kernel vmlinuz
  append initrd=initrd.img text
  label auto
  kernel vmlinuz
  append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img
  label ks
  kernel vmlinuz
  append ks initrd=initrd.img
  label local
  localboot 1
  label memtest86
  kernel memtest
  append –

定制CentOS陆.三 minimal.iso自动化安装ISO

一.下载安装CentOS-陆.3-x86_64-minimal.iso,当然也得以定制安装VCD版,接纳常用的零部件

二.装置制作发行版所需的主干软件包

yum -y ``install createrepo ``mkisofs

3.生成安装系统所需的rpm文件列表,假使是 minimal
能够跳过此步,直接把Packages拷贝到/data/OS/

cd /root

#英文版:

cat install.log | grep Installing | sed ‘s/Installing //g’ >
/root/packages.list

#中文版:

cat install.log | grep 安装 | sed ‘s/安装 //g’ > /root/packages.list

四.创设定制工作目录

mkdir -p /mnt/cdrom

mkdir -p /data/OS

#mount /dev/cdrom /mnt/cdrom

mount -o loop ~/CentOS-6.3-x86_64-minimal.iso /mnt/cdrom

#rsync -a –exclude=Packages /mnt/cdrom /data/OS

#mkdir /data/OS/Packages

cp -rf /mnt/cdrom/* /data/OS/

cp -rf /mnt/cdrom/.discinfo /data/OS/

cp -rf /mnt/cdrom/.treeinfo /data/OS/

#1经您选拔的定制好的桌面版,必要复制定制安装好的rpm包,脚本cprmps.sh在附属类小部件下载,执行前
清空 /data/OS/Packages/ 下的保有rpm包,

#施行cprmps.sh进度中冒出报错不用理会,只要最后/data/OS/Packags/
下有定制的rpm包就能够了

5.配置kickstart脚本

/data/OS/isolinux/ks.cfg见附属类小部件下载,笔者的文书相比较简单.复杂须求能够活动定义

6.生成comps.xml

cd /data/OS

#重命名xml文件,也许是以comps.xml结尾的文书

mv repodata/*-x86_64.xml repodata/comps.xml

declare -x discinfo=`head -1 .discinfo`

createrepo -g repodata/comps.xml /data/OS/

柒.让系统从kickstart配置运维安装

vi /data/OS/isolinux/isolinux.cfg #修改isolinux.cfg中第4个label

#initrd=initrd.img 修改成下边包车型客车

append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img

8.生成ISO文件

mkisofs -o CentForOS6.3.iso -b isolinux/isolinux.bin -c
isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J
-v -T /data/OS/

#生成MD5检验码

/usr/bin/implantisomd5 /data/OS/CentForOS6.3.iso

9.刻录

刻录成光盘能够直接举办安装,大概用VM虚拟机安装ISO文件.不要刻录成U盘安装,那样会有出标题

10.ks脚本拜访cd文件

%post –nochroot

mkdir -p /mnt/source

mount -o ro /tmp/cdrom /mnt/source

cp -a /mnt/source/itest /mnt/sysimage/root/

umount /mnt/source

%end%

11.其他

可以在图形界面系统上,使用 system-config-kickstart
那个界面软件,生成ks的根本配置文件

能够选取 yum-downloadonly 这么些插件下载rpm的正视包格外便于

在ks.cfg中运营mysql 须求 sleep一下,例如 sleep 10这么些也是试好五遍才明白的!

u盘挂载经常是 sda肆

下载:定制CentOS脚本文件

本文来源 九iu.org,转发时请注明出处及相应链接。

正文永久链接:

minimal.iso自动化安装ISO
一.下载安装CentOS-陆.叁-x捌陆_6四-minimal.iso,当然也足以定制安装VCD版,选取常用的零部件
二.安装制作发行版所需的基本…

定制centos 陆.伍自动安装光盘

1、制作环境准备
实验环境:
VMware Workstation
CentOS-6.5-x86_6四-minimal 最小化安装
设置后,我们会选拔系统 /root 目录下 install.log 和 anaconda-ks.cfg
那多少个文件(在此基础上修改比较便宜)

一.光盘目录结构

*isolinux 目录存放光盘运行时的设置界面音信
*images 目录包含了须求的运行影象文件
*Packages 目录存放安装软件包及新闻
*.discinfo 文件是设置价质的辨认新闻
MediaCentOS 目录存放媒体中央安装包
Repodata 目录存放rpm包正视消息
5.x 连串, boot.iso 存在于 images/ 这些目录
6.x 系列, 存放于 /isolinux 目录下
陆.x 互联网安装要求在官网下载:netinstall.iso 镜像文件

  1. 定制步骤
    (1)安装最小化的操作系统.蕴涵核心的系统和所须求的工具等(笔者那先实现最小化自动安装)
    比如说:对于http,mysql等软件,提议选拔编译的章程安装,
    然后打包放进去,能够减去过多正视包的麻烦.
    (二)安装系统后,收集系统已安装的软件包,使用脚本统一转存到叁个索引中.
    (3)在设置光盘复制images镜像,从光盘运行centos安装所需的文书等.
    (肆)定义本人的kickstart安装脚本.
    (⑤)根据事先转存的软件(rpm)包, 重新生成光盘的repodata消息.
    (陆)打包生成ISO文件,及MD伍效验码.

2、操作进程记录:

美高梅手机版4858 ,一、安装所需工具包

1#yum-yinstallanacondarepodatacreaterepomkisofsrsync

二、 挂载并拷贝文件

目录规划:
挂载目录为: /mnt

定制光盘文件目录: /root/iso

[[email protected]
~]# pwd
/root
[[email protected]
~]# mkdir iso # 建立iso文件制作目录
[[email protected]
~]# mkdir -p ./iso/{Packages,repodata} #
建立软件包目录和repodata目录
[[email protected]
~]# mount /dev/cdrom /mnt # 挂载 DVD
mount: block device /dev/sr0 is write-protected, mounting read-only
# 拷贝 源mp5镜像中,除了Packages,repodata 目录外的兼具文件到 iso 目录
[[email protected]
~]# /usr/bin/rsync -a –exclude=Packages –exclude=repodata /mnt/
./iso/
[[email protected]
~]# ls iso
CentOS_BuildTag GPL Packages RPM-GPG-KEY-CentOS-6
RPM-GPG-KEY-CentOS-Testing-6
EFI images RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Debug-6
TRANS.TBL
EULA isolinux repodata RPM-GPG-KEY-CentOS-Security-6

# 参考当前系统的安装包,拷贝
[[email protected]
~]# awk ‘/Installing/ {print $2}’ install.log | xargs -i cp
/mnt/Packages/{}.rpm ./iso/Packages/
#若果设置系统时选了安装语文为中文这里Installing会乱码
[[email protected]
~]# ls iso/Packages/ | wc -l
205
# 执行createrepo程序生成repodata下的comps.xml文件(首要)
#comps.xml
文件中涵盖了设置时用户所看到的与rpm相关的拥有内容,它会检讨Packages下
# 的PAJEROPM包的注重关系,安装时假诺缺少正视包,它会唤醒您哪个奥德赛PM
包须求什么样信赖库。

[[email protected]
~]# pwd
/root
# 编辑 shell 脚本, 并执行
#!/bin/bash

ISO_DIR=/root/iso
cd ${ISO_DIR}
declare -x discinfo=$(head -1 .discinfo)

cp /mnt/repodata/*-minimal-x86_64.xml
${ISO_DIR}/repodata/minimal-x86_64.xml

createrepo -g ${ISO_DIR}/repodata/minimal-x86_64.xml ${ISO_DIR}

createrepo -u “media://$discinfo” -g
${ISO_DIR}/repodata/*-minimal-x86_64.xml ${ISO_DIR}

到那里,comps.xml文件和别的相关联的文书已被重复生成到repodata目录下。
Tips:要是你新增或删除了Packages目录的途睿欧PM包,请重新生成comps.xml文件。

3、制作 ks.cfg 脚本
ks文件由系统装置所创设的
anaconda-ks.cfg举行改动,当然也足以用system-config-kickstart工具创制而得。能够依据须要和事实上意况开始展览改动:

编写.cfg文件

将~/anaconda-ks.cfg复制到~/ios/isolinux/ks.cfg

修改后Ks.cfg的情节如下

#Kickstartfileautomaticallygeneratedbyanaconda.

#version=DEVEL

install

#text

cdrom

#设置安装语言

#langen_US.UTF-8

langzh_CN.UTF-8

keyboardus

#skiptheXconfiguration

skipx

network–onbootno–deviceeth0–bootprotodhcp–noipv6

#设置root密码,此处为:centos

rootpw–iscrypted$6$q4pbJVjqD7ZmOEEq$f7C0H8gIBf3rlKXqVn0UOVfOYqYIG8kFU2yBghH5lc0uVjmU0mFTSgHe4MwZGuXvHWZOyXxhnBoIK9yIuDBt20

firewall–service=ssh

authconfig–enableshadow–passalgo=sha512

selinux–enforcing

timezone–utcAsia/Chongqing

bootloader–location=mbr–driveorder=sda–append=”crashkernel=autorhgbquiet”

#Thefollowingisthepartitioninformationyourequested

#Notethatanypartitionsyoudeletedarenotexpressed

#heresounlessyouclearallpartitionsfirst,thisis

#notguaranteedtowork

#clearpart–linux–drives=sda

#volgroupVolGroup–pesize=4096pv.008002

#logvol/–fstype=ext4–name=lv_root–vgname=VolGroup–grow–size=1024–maxsize=51200

#logvolswap–name=lv_swap–vgname=VolGroup–grow–size=1984–maxsize=1984

#part/boot–fstype=ext4–size=500

#partpv.008002–grow–size=1

#clearpart–linux–drives=sda

#clearpart–all–initlabel

clearpart–all –initlabel
#此命令必须抬高,不然系统会让用户手动选项是还是不是清除全体数据

#所有硬碟的分割表通通被清除!clearpart--all#僅清除vda硬碟的分割表,其他的硬碟不要清除分割表!clearpart--drives=vda--all

#此间安装分区

part/boot–fstype=ext4–size=300 –ondisk=sda

part/home–fstype=ext4–grow–size=1 –ondisk=sda #动用剩下的持有空中

part/opt–fstype=ext4–size=3000 –ondisk=sda

part/var–fstype=ext4–size=2000 –ondisk=sda

part/ –fstype=ext4–size=8000 –ondisk=sda

partswap–recommended –ondisk=sda

#repo–name=”CentOS”–baseurl=cdrom:sr0–cost=100#那句一定要诠释掉不然会唤起找不到名叫CentOS的卓有功效的repo

#要安装的软件包@发轫的为group,也可写单个包名如vim

%packages

@core

@server-policy

@workstation-policy

%end

#%post–nochroot

#mountcdrom

#/bin/mkdir-p/mnt/cdrom

#/bin/mount-r-tiso9660/tmp/cdrom/mnt/cdrom

#umountcdrom

#/bin/umount/mnt/cdrom

%post#那部分是安装完系统之后执行的步调,可自定义

/bin/echo”mount-n-oremount,ro/”>>/etc/rc.local

/bin/echo”tmpfs/tmptmpfsdefaults00″>>/etc/fstab

%end

#–Rebootthehostafterinstallationisdone

reboot

肆、修改 isolinux.cfg 配置文件,钦定 ks 路径
专注,编辑那个文件,必要强制保存。 :wq!

# vi ./iso/isolinux/isolinux.cfg

defaultauto

#defaultvesamenu.c32

#prompt1

timeout600

displayboot.msg

menubackgroundsplash.jpg

menutitleWelcometoCentOS6.5!

menucolorborder0#ffffffff#00000000

menucolorsel7#ffffffff#ff000000

menucolortitle0#ffffffff#00000000

menucolortabmsg0#ffffffff#00000000

menucolorunsel0#ffffffff#00000000

menucolorhotsel0#ff000000#ffffffff

menucolorhotkey7#ffffffff#ff000000

menucolorscrollbar0#ffffffff#00000000

labelauto

kernelvmlinuz

appendks=cdrom:/isolinux/ks.cfginitrd=initrd.img

labellinux

menulabel^Installorupgradeanexistingsystem

menudefault

kernelvmlinuz

appendinitrd=initrd.img

labelvesa

menulabelInstallsystemwith^basicvideodriver

kernelvmlinuz

appendinitrd=initrd.imgxdriver=vesanomodeset

labelrescue

menulabel^Rescueinstalledsystem

kernelvmlinuz

appendinitrd=initrd.imgrescue

labellocal

menulabelBootfrom^localdrive

localboot0xffff

labelmemtest86

menulabel^Memorytest

kernelmemtest

append-

5、生成iso镜像,并生成 MD5校验码

#cd ~/iso

#mkisofs-R-J-T-r-l-d-joliet-long-allow-multidot-allow-leading-dots-no-bak-o../myos-0.1-x86.iso\

-bisolinux/isolinux.bin-cisolinux/boot.cat-no-emul-boot-boot-load-size4-boot-info-table./

1.目标

>>
基于CentOS-6.10-x86_6四-minimal.iso举办定制,选它是因为包相比小
>> 以text格局安装,安装进度尽量无需用户出席
>> 固定root密码,并创建好放置用户与权力
>> 隐藏与CentOS相关的新闻,更换为团结的产品名称
>> 教导本身的软件,如jre环境等

 

  2.天性化定制你的体系(问答格局)
  一.怎么定制安装开机画面:
  运转画面用的是一种比较奇怪的格式lss1陆,它界定图片采用1陆种颜色,除去前景和背景观只可以有1肆种颜色。大家供给ppmtolss1陆giftopnm等主次,系统一般默许都设置了。
  1般用gimp生成三个index方式的gif图形,颜色限制为1四,
然后透过如下的办法实行转:
  安装yum -y install syslinux
  giftopnm < splash.gif | ppmtolss16 > splash.lss
  其余你还亟需修改isolinux/boot.msg文件,做1些特性化的提醒.
  ?怎么着生成高品质的图。
  先用photoshop打开任何一张图片,然后在文书的下拉菜单里,保存的时候选用“保存为WEB和装置使用格式“,再然后选取gif再选取1陆色保存就OK.
  仍后使用giftopnm < splash.gif | ppmtolss16 > splash.lss
转换即可.
  二.哪些生成GRUP的xpm文件?
  (一) 将备一张640 x 480 1陆色图片,档案类型为JPG的格式
  (2)convert grub.gif -colors 14 -geometry 640×480! splash.xpm && gzip
-9 splash.xpm
  (三) 直接沟通/boot/grup/splash.xpm.gz 文件即可.
  ?
利用方面方法生成的图样大概不能够体现,恐怕品质不高,如何生成高品质的grub图片呢.
  利用文中后边笔者提供的ltospackl.tar.gz里面的grubtool.exe即可在windows平台将jpg,bmp图生成为.xpm.gz格式的公文,直接沟通/boot/grup下的公文即可.
  叁.什么去掉安装进度中的CentOS字样?
  在装置光盘里面有五个.buildstamp文件,2个坐落stage二.img中,二个坐落initrd.img中,
  安装光盘运营时读取的是initrd.img中的那个.buildstamp文件,所以①旦把initrd.img文件改了就足以了。
  怎么着解压initr.dimg文件:
  二.陆内核中的initrd.img采纳cpio压缩,不再是二.4基本使用的ext2格式,不恐怕利用mount
-o loop 挂载。需求选取gunzip解压缩,然后再接纳
  利用cpio给img解包
  # cd /ltos/isolinux/
  # cp initrd.img /tmp/initrd.img.gz
  # cd /tmp
  # gunzip initrd.img.gz
  # mkdir initrd
  # mv initrd.img initrd
  # cd initrd
  # cpio -ivmd <
initrd.img仍后修改.buildstamp文件,将CentOS改为LTOS即可.
  怎样营造initrd.img文件:
  #比方当前目录位于准备好的initrd文件系统的根目录下
  # find . | cpio -c -o > ../initrd.img
  # gzip ../initrd.img
  # mv initrd.img.gz initrd.img
  # cp initrd.img
/ltos/isolinux/仍后将initrd.img复制到/ltos/isolinux/
  四. 怎么替换安装未来的grub ?
  在安装光盘里的ks.cfg文件里写好替换splash.xpm.gz文件即可.
  五. 如何去掉运营进程中的”CentOS release 5 (Final)”
  在安装光盘里的ks.cfg文件里写好本子,直接替换/etc/redhat-release即可.
  3.打包生成ISO文件公布
  # cd /ltos
  # declare -x discinfo=`head -1 .discinfo`
  # createrepo -u “media://$discinfo” -g repodata/comps.xml
.生成ISO文件
  #mkisofs -R -J -T -r -l -d -allow-multidot -allow-leading-dots
-no-bak -o /tmp/ltos-0.1-i386.iso \
  -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot
-boot-load-size 4 -boot-info-table .Md5
  /usr/lib/anaconda-runtime/implantisomd5 /tmp/ltos-0.1-i386.iso

9.改动光盘背景,文字等新闻

2.条件准备

>>
下载CentOS6.10,地址:
>> 准备linux环境,提出直接使用要定制的底蕴iso安装
>> 以root登录系统,配置好互联网
>> 通过yum安装必备组件

yum install anaconda createrepo mkisofs rpm-build

>> 上传iso到/root,并挂载到/mnt/src,之后拷贝全数文件到办事目录下,注意包蕴多少个暗藏文件.diskinfo和.treeinfo

mkdir /mnt/src
mount –o loop /root/CentOS-6.9-x86_64-minimal.iso /mnt/src
mkdir /root/iso
cp –r /mnt/src/. /root/iso

  4.安装光盘效果演示图
  运维安装光盘

玖.1改动系统活动安装进度中呈现的背景图片.修改光盘背景,文字等信息
#进入光盘images目录cd/data/ISO/images/#install.img镜像中包含了光盘安装过程中使用到的背景图片,挂载此img文件mount-oloop-tsquashfsinstall.img/mnt/installmkdirtmp#挂载的install.img不能编辑,需要拷贝一份,修改后替换原install.img文件rsync-av/mnt/install/tmp/#进入背景图片所在目录,选择需要修改的图片,并替换(主机图片尺寸,格式需要与原来的相同),图片位置为:tmp/install/usr/share/anaconda/pixmaps#重新创建新的install.imgmksquashfstmp/install_v1.img-all-root#替换install.imgcptmp/install_v1.imginstall.img

 

 美高梅手机版4858 1
  Grub界面

玖.贰 修改安装进程中的欢迎语
mkdir/data/ISO/isolinux/tmp#解压initrd.img镜像xz-dc../initrd.img|cpio-id#修改欢迎语.buildstamp文件,把其中的CentOS替换为PowerSoftvim.buildstamp#创建新的initrd.img并替换find.|cpio-c-o|xz-9--format=lzma>../initrd.img

附属类小部件下载:
  美高梅手机版4858 2ks.cfg
下载地址:

六.5自动安装光盘 一、制作环境准备
实验环境: VMware Workstation CentOS-陆.五-x8六_6肆-minimal 最小化安装
安装后,大家会采纳系统 /root 目录…

3.改动欢迎界面

 美高梅手机版4858 3
  系统登6界面演示

三.一.改动背景图

原始界面为:

美高梅手机版4858 4

轮换界面需求修改/root/iso/isolinux/splash.jpg,替换为急需的图纸,保持文件名不变,图片大小640×480。

美高梅手机版4858 5

3.二.修改产品名与选拔

修改/root/iso/isolinux/isolinux.cfg,原始内容为: 

default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.10!
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 ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img 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 -

修改为:

default vesamenu.c32
#prompt 1
timeout 150

display boot.msg

menu background splash.jpg
menu title Welcome to RVS 3.0!
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 ^Install RVS 3.0
  menu default
  kernel vmlinuz
  append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img
label local
  menu label ^Boot from local drive
  localboot 0xffff

 

做了以下几处调整:

  • 修改timeout,暗中认可超时是60秒,改为一5秒,即15秒内不做取舍暗中认可执行菜单中的default项
  • 修改memu title行,能够定制欢迎标题
  • 去掉一部分菜单项,只保留安装(label linux)和从硬盘运转(label
    local)那两项
  • 调整了label
    linux项的文字,同时调动了append项,扩充了对kickstart的援助,钦点ks.cfg地方,此布署用于机动安装,前面会涉及

 

4.修改安装进程

4.1.调动装置界面名称

安装界面左上角会展现产品名称,原始界面如下:

美高梅手机版4858 6

 

想更换CentOS为自定义名称,须要调整/root/iso/isolinux/initrd.img:

>> 解开initrd.img到工作目录

mkdir /root/initrd
cd /root/initrd
xz -dc /root/iso/isolinux/initrd.img | cpio -id

>> 修改.buildstamp文件,原始内容为:

201806291108.x86_64
CentOS
6.10
FINAL=YES
http://bugs.centos.org/

修改为:

201806291108.x86_64
RVS
3.0
FINAL=YES
http://www.your-company.com.cn/

>> 重新压缩img文件,并覆盖工作目录下的原著件,然后清理

cd /root/initrd
find . | cpio -c -o | xz -9 --format=lzma > /root/initrd.img
cp /root/initrd.img /root/iso/isolinux/initrd.img
cd /root
rm –rf /root/initrd
rm -rf /root/initrd.img

 

四.二.定制自动安装参数

定制自动安装参数需求注重kickstart,生成/root/iso/isolinux/ks.cfg,填写内容为(#为注释行,不须要): 

#全新安装,使用cdrom作为安装源
install
cdrom
#使用text模式而不要用图形模式安装
text
#设置键盘与语言
keyboard us
lang en_US.UTF-8
#设置root密码与认证加密方式,此处设置root密码为PASSWD1!
rootpw --iscrypted $6$rUp4SXGKaN7Z.eix$/6tp2c9zsSwN8a2a.TmDcKHjhjAm.CFhlunvKZRqZAO.UQ8mrOT4Im/pCiL5d388VEEHMrhha0N3Q2BwqxHPV1
auth --useshadow --passalgo=sha512
#设置防火墙,放过ssh
firewall --service=ssh
#设置selinux
selinux --enforcing
#设置网络eth0,使用dhcp模式,设置hostname,不启用ipv6
network --onboot=yes --device=eth0 --bootproto=dhcp --hostname=rvs --noipv6
#不使用X Window
skipx
#安装完成后重启系统
reboot
#设置时区
timezone Asia/Shanghai
#设置启动引导参数
bootloader --location=mbr --driveorder=sda
#清除mbr
zerombr
#清除分区
clearpart --all --initlabel 

参数很多,能够参见以下作品:

root密码是以加密情势设置的,能够因而以下格局取得密文: python -c ‘import
crypt; print(crypt.crypt(“PASSWD1!”))’ 

 

四.3.添加自定义软件与剧本

以安装oracle server jre为例:

>> 在iso目录中成立软件存放目录,放入待安装的软件

mkdir /root/iso/soft
cp /root/server-jre-8u172-linux-x64.tar.gz /root/iso/soft

>> 修改ks.cfg,以最终添加内容

%post
mkdir -p /media/cdrom
ln -s /dev/scd0 /dev/cdrom
mount -o loop /dev/cdrom /media/cdrom

tar -zxvf /media/cdrom/soft/server-jre-8u172-linux-x64.tar.gz -C /usr/local
echo "JAVA_HOME=/usr/local/jdk1.8.0_172" >> /etc/profile
echo "PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
echo "export JAVA_HOME PATH" >> /etc/profile
%end

%post代表安装到位后执行的剧本,那里首先挂载光驱,然后解压jre并设置环境变量。

 

五.修改产品名称

产品名称出现在起步界面以及登录前,想更改须求修改centos-release-6-10.el6.centos.1贰.3.x八陆_6四.rpm,但此包无法直接改动,须要从源码包修改,步骤如下:

>> 下载源码包到/root,并肢解

cd /root
wget http://vault.centos.org/6.10/os/Source/SPackages/centos-release-6-10.el6.centos.12.3.src.rpm
rpm2cpio /root/centos-release-6-10.el6.centos.12.3.src.rpm | cpio -id

>> 建立root用户的rpm环境,并将解压获得的文本放入

echo "%_topdir /root/rpmbuild" > /root/.rpmmacros
mkdir -pv /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
cp centos-release-6-10.tar.gz /root/rpmbuild/SOURCES
cp centos-release.spec /root/rpmbuild/SPECS

>> 修改centos-release.spec,分别找到%define
product_family和%define full_release_version那两行,改为索要的值:

%define product_family RVS
%define full_release_version 3.0

  注意%define base_release_version这1行不要涂改,不然会扭转错误。

>> 重新生成rpm包,覆盖原始文件

cd /root/rpmbuild/SPECS
rpmbuild -bp centos-release.spec
rpmbuild -bc centos-release.spec
rpmbuild -bi centos-release.spec
rpmbuild -bb centos-release.spec
cp /root/rpmbuild/RPMS/x86_64/centos-release-6-10.el6.12.3.x86_64.rpm /root/iso/Packages/centos-release-6-10.el6.centos.12.3.x86_64.rpm

  执行每条命令时注意观望有无错误产生。

>> 更新repodata数据

cd /root/iso
declare -x discinfo=`head -1 .discinfo`
cp /root/iso/repodata/*-x86_64.xml /root/iso/comps.xml
rm –rf /root/iso/repodata
createrepo -u "media://$discinfo" -g comps.xml ./

 

 六.重新生成ISO

cd /root
mkisofs -o rvs-3.0.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T iso/ 

打响后会在/root目录下生成rvs-3.0.iso。

 

七.验证成果

选拔VMware虚拟机安装,欢迎页面,已展现RubiconVS 三.0,且菜单项只剩二项:

美高梅手机版4858 7 

  

进入text形式,左上角展现产品名称为凯雷德VS,安装进程中只要求选用磁盘,别的参数都不供给设置:

美高梅手机版4858 8

美高梅手机版4858 9

美高梅手机版4858 10

 

安装实现后自行重启,GRUB里及运营进度右下角已显得奥迪Q3VS 三.0:

美高梅手机版4858 11

美高梅手机版4858 12

 

运营完毕,显示奥德赛VS release 叁.0
(Final),以root登录,密码PASSWD一!,执行java命令可符合规律运作,查看IP已透过dhcp分配成功。

美高梅手机版4858 13

 

大家能够在此基础上添加更伍本性化的内容,来变化本人专属的iso安装包。

假设对rpm包实行剪裁,要求再行生成repodata,但要注意的是rpm包之间有依靠,即使依靠关系出现难点,安装时会给出警告,可以三番七遍,但形成后相应组件不能选拔。

PS:感谢   的作者。

 

警告:转发请证明出处 https://www.cnblogs.com/BoyTNT/p/9322927.html 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有