必发88官网 16

自动安装系统,利用CentOS快速构建自己的发行版

一、什么是kickstart?

编者按:对于众多民用站长以来,每一遍业务扩大体量装Linux系统都以件很辛劳的事务。有的IDC手艺不会装Linux系统,也许有些正是装贰回系统接到一定的开支。为此制作三个简洁的CentOS发行版是很重大的。上面就一同来看下具体制作进程吧。
  一、制作LTOS具体进程
  光盘结构介绍
  * isolinux 目录存放光盘运行时的设置界面新闻
  * images 目录包涵了须要的启航影像文件
  * CentOS 目录存放安装软件包及新闻
  * .discinfo 文件是安装价质的甄别信息
  * lemp.tar.gz 文件存放系统伊始化及其有关程序安装脚本.
  》》情状表达:CentOS 5.3-i386 Vmware Workstation上完结制作工作.
  1.安装制作发行版所需的着力软件包
  # yum -y install anaconda-runtime createrepo yum-utils anaconda
anaconda-help busybox-anaconda mkisofs2.制作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 //进入此目录删除一些毫不相干的文本,仍后跻身前边的专门的学问.
  [[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
  -rw-r–r– 1 root root 14371 Apr 11 23:16 lemp.tar.gz
//这么些软件包是我们前边要树立的,读者可以剖析一下后头的ks.cfg脚本就足以领会她的用途.
  drwxr-xr-x 2 root root 4096 Apr 11 21:00 repodata
  -r–r–r– 1 root root 7048 Mar 21 23:05
TRANS.TBL3.定制package.list软件包清单
  如安装一个CentOS5.3的系统,依据本身的需求选用软件包;假若想你的种类十分小,提议采纳最少的包。安装到位之后,在系统里会发寿辰志。日文文件存放在/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 #存放RPM包的目录
  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.3定制安装系统之后,会在系统里发生多少个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 65536″
>>/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 –

环境: VMware 14.0 Pro版

kickstart安装是RedHat始建的遵照你设计好的秘技自行安装系统的章程。安装方式能够分成光盘、硬盘、和网络。此文将以网络安装格局详细介绍使用kickstart的安装系统的艺术。

  二.本性化定制你的类别(问答格局)
  1.怎么着定制安装开机画面:
  运维画面用的是一种相比较奇怪的格式lss16,它界定图片应用16种颜色,除去前景和背景象只好有14种颜色。我们供给ppmtolss16
giftopnm等次第,系统一般暗中认可都安装了。
  一般用gimp生成多个index形式的gif图形,颜色限制为14,
然后经过如下的秘诀开始展览转:
  安装yum -y install syslinux
  giftopnm < splash.gif | ppmtolss16 > splash.lss
  其余你还索要修改isolinux/boot.msg文件,做一些天性化的提醒.
  ?怎样生成高素质的图。
  先用photoshop展开任何一张图纸,然后在文件的下拉菜单里,保存的时候采纳“保存为WEB和设施选择格式“,再然后选拔gif再选拔16色保留就OK.
  仍后选用giftopnm < splash.gif | ppmtolss16 > splash.lss
调换就可以.
  2.什么样生成GRUP的xpm文件?
  (1) 将备一张640 x 480 16色图片,档案类型为JPG的格式
  (2)convert grub.gif -colors 14 -geometry 640×480! splash.xpm && gzip
-9 splash.xpm
  (3) 直接交流/boot/grup/splash.xpm.gz 文件就可以.
  ?
利用方面方法生成的图纸恐怕不可能显示,可能质量不高,如何生成高素质的grub图片呢.
  利用文中前边笔者提供的ltospackl.tar.gz里面包车型地铁grubtool.exe就可以在windows平台将jpg,bmp图生成为.xpm.gz格式的文书,直接沟通/boot/grup下的文本就可以.
  3.哪些去掉安装进度中的CentOS字样?
  在装置光盘里面有三个.buildstamp文件,多个位于stage2.img中,一个坐落initrd.img中,
  安装光盘运维时读取的是initrd.img中的那个.buildstamp文件,所以尽管把initrd.img文件改了就可以了。
  咋样解压initr.dimg文件:
  2.6内核中的initrd.img选拔cpio压缩,不再是2.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/
  4. 哪些替换安装以后的grub ?
  在装置光盘里的ks.cfg文件里写好替换splash.xpm.gz文件就可以.
  5. 如何去掉运营进程中的”CentOS release 5 (Final)”
  在设置光盘里的ks.cfg文件里写好本子,直接替换/etc/redhat-release就可以.
  三.打包生成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

光盘镜像: CentOS-6.9-x86_64-minimal.iso

二、制作kickstart运营盘计划工作

  四.装置光盘效果演示图
  运转安装光盘

ks文件生成器: kickstart

先是将系统率先张的光盘/image/boot.iso复制到地面/tmp/iso。

 必发88官网 1
  Grub界面

突发性接触三个kickstart, 学到自动安装系统, 先看一下规律:

CentOS在VMware安装流程: 新建虚拟机 –> 挂载光盘镜像 –> 开端安装 –> 配置(包涵地点, 语言, 时区, 键盘类型, root密码等等) –> 完结安装 –> 重启 –> 进入系统

#mount /dev/hdc /mnt/cdrom

 必发88官网 2
  系统登录分界面演示

在以上进程中, 对设置系统的配置是最耗费时间间的, 要是大家要安装100台主机, 难道要每一台都去安排吗? Come on, geek up and finish it.


#cp /mnt/cdrom/images/boot.iso ./

必发88官网 3

什么是kickstart?

  1. kickstart, 生成都电子通信工程高校动配置文件,
    即应答文件,到达在安装系统时绝不人工干预的目的
  2. 急需在图形分界面下运营; 当然也足以在命令行下复制编辑
    /root/anaconda-ks.cfg 文件,
    kickstart的末段目标也是生成二个这么的文件
  3. 安装格局:

    yum -y groupinstall Desktop --> 如果你没有图形界面的话
    
    startx &  --> 启动图形界面, 并且在图形界面启动一个Terminal
    

    必发88官网 4

    yum -y install system-config-kickstart   --> 安装kickstart, 是的, kickstart的安装包就叫做这么一长串名字
    system-config-kickstart   -->  命令行直接输入启动, 或者在图形界面下的左上角 Applications ->System Tools -> kickstart 启动, 即上图 Terninal 的上一个选项
    

#umount /dev/hdc

配置ks应答文件, 图片太多, 所以做成了gif, 2s/帧, 共12张                                                                                                   必发88官网 5

#mount -o loop boot.iso /mnt/iso/

这两天有了ks文件, 我们保留为 /root/ks6_mini.cfg 作为安装CentOS 最小系统的答问文件好了, 可是以此文件要放在哪个地方呢? 

跟安装镜像一块, 烧录在硬盘里, 更动grub目录菜单(后边会有关联);

正好还应该有一台虚拟机上装了apache, 那么大家就平素甩到网页上好了;

  1. centos 7 上的, 干净httpd服务, 啥也远非

    systemctl start httpd
    sftp 192.168.142.142:/root/ks6_mini.cfg --> 获取ks文件到$pwdcp ks6_mini.cfg /var/www/html/
    

    centos 7 的 ip 地址为: 192.168.142.128, 那么这几个U索罗德L为:

#cp -r /mnt/iso/* /tmp/iso

安装应答文件地点

  1. 新建虚拟机 -> 挂载不荒谬安装光盘 -> 运行虚拟机, 进入安装分界面-> 按Tab键 -> 在基础设置后, 加上  ks= 
                   
    必发88官网 6

     

  2. 回车, ok, 自动安装起来, 需求细心的是, ks使用http格局获得,
    须求科学配置网卡以便能达到这一个网站, 不然 安装进度中会停下来,
    问你要那么些地方的   

        必发88官网 7 
                

                           
 必发88官网 8

        必发88官网 9


删除/tmp/iso下的TRANS.TBL和/tmp/iso/isolinux/boot.cat文件。

上边这种装置格局, 只好称作为活动安装, 因为急需手动干预输入ks地方

#rm /tmp/iso/TRANS.TBL

小编们上面来塑造三个, 没有须求输入ks地方, 可定制的启航指引盘

那是多个CentOS6.9最小安装光盘里的一些故事情节, 咱们须要的就是她的 isolinux/
下的有所文件

[root@centos6 myiso]# tree
.
├── CentOS_BuildTag
├── EFI
│  ├── BOOT
│  │  ├── BOOTX64.conf
│  │  ├── BOOTX64.efi
│  │  ├── splash.xpm.gz
│  │  └── TRANS.TBL
│  └── TRANS.TBL
├── EULA
├── GPL
├── images
│  ├── efiboot.img
│  ├── efidisk.img
│  ├── install.img
│  ├── pxeboot
│  │  ├── initrd.img
│  │  ├── TRANS.TBL
│  │  └── vmlinuz
│  ├── TRANS.TBL
│  └── updates.img
├── isolinux  –> 运维盘所急需初叶的地方
│  ├── boot.cat            –> 类似MBR的存在
│  ├── boot.msg        
│  ├── grub.conf
│  ├── initrd.img       –> ramfs, 假根
│  ├── isolinux.bin      –>光盘带领程序,
在mkisofs的选项中要求明显给出文件路线, 那些文件属于SYSLINUX项目
│  ├── isolinux.cfg      –>isolinux.bin的布署文件,
当光盘运行后(即运转isolinux.bin), 会自动去找isolinux.cfg文件
│  ├── memtest
│  ├── splash.jpg       –>光盘运营分界面包车型客车背景图
│  ├── TRANS.TBL
│  ├── vesamenu.c32      –>是光盘运行后的装置图形分界面,
也属于SYLINUX项目, menu.c32版本是纯文本的美食指南
│  └── vmlinuz         –>内核影象  ├── Packages
  │  ├── acl-2.2.49-7.el6.x86_64.rpm

……

  ├── RELEASE-NOTES-en-US.html
  ├── repodata
  │  ├──
1fe6472ba4a4c603142f6c166cf8576540d182b5c23053300bc086a950c39e02-other.sqlite.bz2
  │  ├──
34bae2d3c9c78e04ed2429923bc095005af1b166d1a354422c4c04274bae0f59-c6-minimal-x86_64.xml
  │  ├──
55794efeb017159652008492a09552561cad4be2652478bfa3fc1e8e2ac12940-other.xml.gz
  │  ├──
73c548679e02ace4bb7102d5b92dd97ee224f35de6d198e0f090d409b9731d89-primary.sqlite.bz2
  │  ├──
ad712ab1d0018477799baa3f9660935dec74cd227724142a4b2a33b63cafe583-filelists.xml.gz
  │  ├──
ce2d698b9fb1413b668443e88835a0642cea8f387c7f25cc946f56dd93f109bb-c6-minimal-x86_64.xml.gz
  │  ├──
fc5f6c991238c567b41dd12c19f3e0c1b4a56dce0063020fc7de8339bde0f5f9-filelists.sqlite.bz2
  │  ├──
ffaba656c4b1c77c844142b80d383bb38e9335b36a8046f56f53747044010304-primary.xml.gz
  │  ├── repomd.xml
  │  └── TRANS.TBL
  ├── RPM-GPG-KEY-CentOS-6
  ├── RPM-GPG-KEY-CentOS-Debug-6
  ├── RPM-GPG-KEY-CentOS-Security-6
  ├── RPM-GPG-KEY-CentOS-Testing-6
  └── TRANS.TBL

#rm /tmp/isolinux/boot.cat

制作Linux自动安装运行盘(非完全安装盘)步骤:

必发88官网 10

  1. 正片下面制作好的ks6_mini.cfg sftp 192.168.142.128:/var/www/html/ks6_mini.cfg , 修改之

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall –disabled
# Install OS instead of upgrade
install
# Use CDROM installation media –> 修改这里的安装源
# cdrom
url –url=””
# Ali云的镜像源, 能够改为内网http或ftp服务器, 会越来越快一些

# Root password
rootpw –iscrypted $1$NYOXLNBQ$e7B2.8hPCvCK75U/Jj8hV/
# 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  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 /boot –fstype=”ext4″ –size=200
part /home –fstype=”ext4″ –size=5000
part / –fstype=”ext4″ –size=10000
part swap –fstype=”swap” –size=2048

%post
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-$releasever – Base – 163.com
baseurl=
gpgcheck=0
EOF
%end

  2. 为了便于其余做了一份centos6 的桌面版应答文件, ks6_desktop.cfg, 咱们能够自行行使kickstart生成之

    这里有八个内需留心的地点, 在CentOS7上,
如果kickstart分界面包车型大巴Package页面未有显示, 请修改yum客栈中的[base] 项为
[development] 就足以了

  3. 拷贝 上边提到的 isolinux/ 到 任意空目录

[root@centos6 myiso]# cp -r isolinux/
../autoboot/
[root@centos6 myiso]# cd ..
[root@centos6 auto-centos6]# cd autoboot/
[root@centos6 autoboot]# ls
isolinux
[root@centos6 autoboot]# tree isolinux/    –>
大家所须要的全套文本
isolinux/
├── boot.cat
├── boot.msg
├── grub.conf
├── initrd.img
├── isolinux.bin
├── isolinux.cfg
├── ks
│  ├── ks6_mini.cfg
│  └── ks7_desktop.cfg
├── memtest
├── splash.jpg
├── TRANS.TBL
├── vesamenu.c32
└── vmlinuz

  4. 修改 isolinux.cfg

    修改进度中要留神, 既然是机动安装,
那么一旦原来磁盘有操作系统怎么办?

    –> 所以, 大家的暗许选项应为从硬盘运转

[root@centos6 isolinux]# cat isolinux.cfg
default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to GETTOLIVE -CentOS 6.9-AUTO-IN! –>
这里能够自定义修改
menu color border 0 #ffffffff #必发88官网,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 –
#============源文件截至================
#============修改的内容================label local
  menu label Boot from ^local drive
  localboot 0xffff
 menu default
label mini
  menu label Install CentOS 6.9 ^Mini system
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/isolinux/ks/ks6_mini.cfglabel
desktop
  menu label Install CentOS 6.9 ^Desktop system
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/isolinux/ks/ks6_desktop.cfg

   5. 创建印象

[root@centos6 isolinux]# mkisofs -R -J -T -v –no-emul-boot
–boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 boot” -b
isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso
/tmp/auto-centos6/autoboot 

 6. 使用xftp将生成的 /root/boot.iso拷贝出来, 挂载到新建的虚拟机光盘上, 启动之, 效果如下:

  必发88官网 11

  必发88官网 12

  能够看来, 安装已经开首, 全体要做的职业正是挂载运转盘,
选拔设置最小版或图表版本  

    –> 注意:
此处须求当前待安装系统的主机能够延续到Ali云镜像服务器,假诺不能够三回九转外网,
自定义多少个内网服务器也是能够的

  图形分界面安装到位:

      必发88官网 13


制作Linux自动安装盘(完整安装盘)步骤:

  1. 挂载完整版安装光盘, 这里大家以CentOS 7 为例 (懒得下载CentOS 6的镜像了)

    注意: 既然以CentOS 7 为例, 那么我们的操作也要在CentOS 7 上开始展览,
kickstart也要设置上去

  2.复制光盘完整内容至/root/myiso下

     cp -r /tmp/myiso/ /root/

  3.制作ks文件, 复制到 /root/myiso/ks/ 下

    这里有多个亟待注意的地点, 在CentOS7上,
如若kickstart分界面包车型客车Package页面未有显得, 请修改yum旅社中的[base] 项为
[development] 就能够了

  4.改动 /root/myiso/isolinux/isolinux.cfg , 修改请参照他事他说加以考察上边的章程, 修改暗中同意项, 增加ks路线 ks=cdrom:/ks/ks7_mini.cfg 

    注意: 对于CentOS 7, 它的原生isolinux.cfg中, 在这之中一段Label如下:

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
  ====================

  append initrd=initrd.img ks=cdrom:/ks/ks7_mini.cfg --> 这里, 要去掉inst.stage2选项, 暂时还没有弄明白是干嘛的, 不过有了它还需要少许的人工操作

 

  5.进去yum旅舍元数据路线 /root/myiso/repodata 

-16-[root@vm]15:15 ~/myiso # ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  ks  LiveOS 
Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7 
TRANS.TBL
-17-[root@vm]15:15 ~/myiso # cd repodata/
-18-[root@vm]15:19 ~/myiso/repodata # ls
0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2 
   
a0af68e1057f6b03a36894d3a4f267bbe0590327423d0005d95566fb58cd7a29-other.xml.gz 
    repomd.xml
38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml 
 
b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5-primary.xml.gz 
  repomd.xml.asc
6cd606547d4f569538d4090e9accdc3c69964de1116b9ab1e0a7864bb1f3ec98-filelists.sqlite.bz2 
 
c1561546c684bd06b3a499c2babc35c761b37b2fc331677eca12f0c769b1bb37-filelists.xml.gz 
TRANS.TBL
9346184be1deb727caf4b1ecf4a7949155da5da74af9b92c172687b290a773df-c7-x86_64-comps.xml.gz 
cf0cc856d46b3095106da78256fb28f9d8defea4118d0e75eab07dc53b7d3f0d-other.sqlite.bz2
-19-[root@vm]15:19 ~/myiso/repodata # ll
total 27236
-rw-r–r– 1 root root 6023293 May 25 14:18
0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2
-rw-r–r– 1 root root  751786 May 25 14:18
38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml
-rw-r–r– 1 root root 7019993 May 25 14:18
6cd606547d4f569538d4090e9accdc3c69964de1116b9ab1e0a7864bb1f3ec98-filelists.sqlite.bz2
-rw-r–r– 1 root root  159667 May 25 14:18
9346184be1deb727caf4b1ecf4a7949155da5da74af9b92c172687b290a773df-c7-x86_64-comps.xml.gz
-rw-r–r– 1 root root 1564207 May 25 14:18
a0af68e1057f6b03a36894d3a4f267bbe0590327423d0005d95566fb58cd7a29-other.xml.gz
-rw-r–r– 1 root root 2830583 May 25 14:18
b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5-primary.xml.gz
-rw-r–r– 1 root root 6936336 May 25 14:18
c1561546c684bd06b3a499c2babc35c761b37b2fc331677eca12f0c769b1bb37-filelists.xml.gz
-rw-r–r– 1 root root 2579184 May 25 14:18
cf0cc856d46b3095106da78256fb28f9d8defea4118d0e75eab07dc53b7d3f0d-other.sqlite.bz2
-rw-r–r– 1 root root    3735 May 25 14:18 repomd.xml
-rw-r–r– 1 root root    811 May 25 14:18 repomd.xml.asc
-r–r–r– 1 root root    2801 May 25 14:18 TRANS.TBL
-20-[root@vm]15:19 ~/myiso/repodata # cp
38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml
/root/
-21-[root@vm]15:20 ~/myiso/repodata # rm -fr * –>
删除当前目录下除掉*.xml的兼具文件
-22-[root@vm]15:20 ~/myiso/repodata # ll
total 0
-24-[root@vm]15:22 ~/myiso/repodata # cp
/root/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml
.

    重建repo元数据

-27-[root@vm]15:27 ~/myiso/repodata # cd ..
-28-[root@vm]15:27 ~/myiso # ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  ks  LiveOS 
Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7 
TRANS.TBL
-29-[root@vm]15:27 ~/myiso # createrepo -g
repodata/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml
.
Spawning worker 0 with 1599 pkgs
Spawning worker 1 with 1599 pkgs
Spawning worker 2 with 1599 pkgs
Spawning worker 3 with 1598 pkgs
Spawning worker 4 with 1598 pkgs
Spawning worker 5 with 1598 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

  6. 去除无需的文书

    TRANS.TBL  find -name TRANS.TBL -exec rm {} \;

  7.制作印象文件

     mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4
–boot-info-table -V “CentOS 7 x86_64 Everything” -b
isolinux/isolinux.bin -c isolinux/boot.cat -o
/root/CentOS7-Auto-Everything.iso /root/myiso/

  8. xftp 导出来, 再挂载到VMware上, 看看效果怎么样

  必发88官网 14

 必发88官网 15

必发88官网 16

安装实现, 成功点亮.


到现在, 文章甘休, 最终结出依然个半自行安装:

  1.把那些镜像使用软碟通恐怕别的软件仍旧dd 放进U盘

  2.设置bios运行顺序为U盘

  3.点击方向键下–>回车–>大佬请喝茶–>茶喝好了就装好了

实际那些东东某个也简单, 前提是你得具有丰裕的windows安装经验….


增进一些笔记类的公文:

创设Linux自动安装iso包-CentOS6

制作指点光盘和U盘
    创设引导光盘:
        mkdir -pv /app/myiso
        cp -r /misc/cd/isolinux/ /app/myiso/
        vim /app/myiso/isolinux/isolinux.cfg
            initrd=initrd.img text ks=cdrom:/myks.cfg
        cp /root/myks.cfg /app/myiso/
        mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4
–boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin
-c isolinux/boot.cat -o /root/boot.iso /app/myiso/
        注意: 以上相对路线都以相对于光盘的根, 和劳作目录非亲非故
    创制U盘运维盘
        dd if=/dev/sr0 of=/dev/sdb
应对文件的创立:
    安装kickstart
    在图形界面下使用 system-config-kickstart 编辑安装选项
        语言-键盘-root密码-系统架构-自动Reboot-不运行图形分界面
        安装格局
        分区: 清除MBLX570, 删除全数分区, 删除全体卷标, 设置文件系统一分配区等
        互连网设置: DHCP等设置
        验证措施: 本地验证, 一般不动
        防火墙: 禁用
        显示: 是还是不是安装图形界面
        rpm包的挑选–> 基于repo
        安装前脚本 –> 一般不用
        安装后脚本:
            #直接配置yum
            mkdir /etc/yum.repos.d/bak
            mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
            cat > /etc/yum.repos.d/base.repo << EOF
            [base]
            name=CentOS- Base – 163.com
            baseurl=
            gpgcheck=0
            EOF
            #增多用户等等操作
        保存为ks6_mini.cfg等

    使用ksvalidator ks6_mini.cfg 检查语法难点
   
    注意: 此处 CentOS 7 使用kickstart, 须求先配备 repo中的 [base] 为
[development], 不然不能运用Packages选项卡
   
    此处基于httpd服务, 将文件放置于某服务器上, 而后,
由设置光盘运行到安装页面, 在grub页面, 按ESC, 输入; linux
ks=; 回车就可以自行运维安装

        指明ks文件的地点: ks=
            DVD drive: ks=cdrom:/PATH/TO/ks_file
            HARD drive: ks=hd:device:/PATH/TO/ks_file
            HTTP server: ks=
            FTP server: ks=ftp://host:port/PATH/TO/ks_file
            HTTPS server: ks=
            NFS server : ks=nfs:host:/PATH/TO/ks_file
        kickstart文件的格式:
            命令段:
                指明各个安装前布置, 如键盘类型等
                必备命令:
                    authconfig: 认证方法配置
                        authconfig –useshadow –passalgo=sha512
                    bootloader: bootloader的装置地方及有关职责
                        bootloader –location=mbr –dirveorder=sda
-append=”crashkernel=auto rhgb quiet”
                        keyboard: 设定键盘类型
                        lang: 语言类型
                        part: 创设分区
                        rootpw: 指明root的密码
                        timezone: 时区
            程序包段: 指明要安装的次第包组或程序包, 不设置的次第包等
                %package
                @group_name
                package
                -package  –> 不想装的包
                %end
            脚本段:
                %pre: 安装前脚本
                    运维遭逢: 运维于安装介质上的微型Linux景况
                %post: 安装后脚本
                    运营蒙受: 安装到位的种类
系统光盘中isolinux目录列表–> 位于cdrom中的isolinux/下
    solinux.bin: 光盘指导程序, 在mkisofs的选项中必要明确给出文件路线,
这几个文件属于SYSLINUX项目
    isolinux.cfg: isolinux.bin的配备文件,
当官潘运营后(即运行isolinux.bin), 会自动去找isolinux.cfg文件
    vesamenu.c32: 是光盘运转后的安装图形分界面, 也属于SYLINUX项目,
menu.c32版本是纯文本的美食指南
    Memtest: 内部存款和储蓄器检验, 是壹个独立程序
    splash.jpg: 光盘运维分界面包车型客车背景图
    vmlinuz是内核影像
    initrd.img是ramfs(先cpio,再gzip压缩)

 

始建机关光盘印象

    挂载安装光盘
    完全复制安装光盘下的富有文件到有些目录
        例如 cp -r /dev/cdrom/ /tmp/myiso/
    拷贝应答文件ks_file到/tmp/myiso/ksdir
        cp ks_file /tmp/myiso/ksdir
    编辑菜单文件

   
        vim /tmp/myiso/isolinux/isolinux.cfg
            default vesamenu.c32
            #prompt 1
            timeout 600

            display boot.msg

            menu background splash.jpg
            menu title Welcome to CentOS 6.9! –> 修改标题
            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 –

        修改label
            label local –> 设置默许运行为地面磁盘系统(借使部分话)
                menudefault
                menu label Boot From ^local drive
                localboot 0xffff
            label desktop
                menu label Install an ^desktop system
                kernel vmlinuz
                append initrd=initrd.img ks=cdrom:/PATH/TO/ks_file
–> 加上ks 应答
            label mini
                menu label Install ^mini system
                kernel vmlinuz
                append initrd=initrd.img ks=cdrom:/PATH/TO/ks_file
–> 加上ks应答

    mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4
–boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin
-c isolinux/boot.cat -o /root/boot.iso /app/myiso/
        mkisofs选项:
            -o 钦点印象文件的称谓
            -b 内定在塑造可开机光盘时所需的开机印象文件
            -c 制作可开机光盘时,
会将开机印象文件中的no-eltorito-catalog全体内容做成一个文书
            -no-emul-boot 非模拟形式运营
            -boot-load-size 4 设置载入部分的数量
            -boot-info-table 在运转的图像中展现消息
            -R 或 -rock 使用Rock RidgeExtensions
            -J 或 -joliet 使用Joliet格式的目录与文件名称
            -v 或 -verbose 试行时突显详细新闻
            -T 或 -translation-table 创设文件名的转换表,
适用于不帮忙罗克 Ridge Extension 的系统上
    经过这条命令, 贰个起步盘就早就做好了, 当然在ks中要安装安装源,
本地的恐怕是cdrom的或许是Internet上的

正文永远更新链接地址

必发88官网 17