Chinaunix首页 | 论坛 | 博客
  • 博客访问: 492050
  • 博文数量: 140
  • 博客积分: 461
  • 博客等级: 下士
  • 技术积分: 878
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-28 10:06
文章分类

全部博文(140)

文章存档

2016年(1)

2015年(6)

2014年(20)

2013年(1)

2012年(16)

2011年(96)

分类: LINUX

2014-07-13 10:46:44

首先使用 yum -y install system-config-kickstart.noarch安装kickstart软件包
ks.cfg是system-config-kickstart生成的kickstart配置文件,可以通过图形界面对过程进行配置,也可以直接编辑ks.cfg。下面介绍的是直接在ks.cfg中进行编辑的方式来实现系统定制。

正常安装好操作系统,在/root目录下会有install.log文件,里边是系统安装RPM包的记录,将所需的RPM包拷出。
1.挂载光驱

点击(此处)折叠或打开

  1. mount /dev/cdrom /mnt
2.创建临时目录

点击(此处)折叠或打开

  1. mkdir -p /root/iso/CentOS
3.根据install.log文件将对应的RPM包拷出

点击(此处)折叠或打开

  1. #!/bin/bash
  2. cd /root
  3. awk '/Installing/{print $2}' install.log | sed 's/^[0-9]*://g' >package.txt
  4. DVD='/mnt/CentOS'
  5. PACKDIR='/root/package.txt'
  6. NEW_DVD='/root/iso/CentOS/'
  7. while read LINE
  8. do
  9. cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."
  10. done < package.txt
  11. rm -f package.txt
4.把原镜像除了CentOS目录外的所有文件复制到/root/iso目录下

点击(此处)折叠或打开

  1. cd /mnt
  2. ls | grep -v CentOS | xargs -i cp -Rp {} /home/test/
5.把/root目录下的anaconda-ks.cfg复制至/root/iso目录下,并根据自己实际需要修改安装要求
6.让ISO按照anaconda-ks.cfg文件来执行安装

点击(此处)折叠或打开

  1. vi /root/iso/isolinux/isolinux.cfg
  2. Default linux 修改成default linux ks=cdrom:/anaconda-ks.cfg
除了上面提到的工具,定制过程中还需要createrepo、mkisofs、isomd5sum。

生成comps.xml文件:

点击(此处)折叠或打开

  1. yum -y install createrepo mkisofs
  2. cd /root/iso
  3. createrepo -g repodata/*comps.xml /root/iso/
制作ISO:

点击(此处)折叠或打开

  1. mkisofs -o MyCentOS.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/



ks.cfg的内容基本如下,可根据需要做进一步调整

点击(此处)折叠或打开

  1. # Kickstart file automatically generated by anaconda.

  2. install
  3. cdrom
  4. lang en_US.UTF-8
  5. keyboard us
  6. network --device eth0 --bootproto dhcp
  7. rootpw --iscrypted $1$fupKhGiH$sx2TexUjriSyu..IZUwT9.
  8. firewall --disabled --port=22:tcp
  9. authconfig --enableshadow --enablemd5
  10. selinux --disabled
  11. timezone --utc Asia/Shanghai
  12. bootloader --location=mbr --driveorder=sda
  13. # The following is the partition information you requested
  14. # Note that any partitions you deleted are not expressed
  15. # here so unless you clear all partitions first, this is
  16. # not guaranteed to work
  17. clearpart --linux
  18. part /boot --fstype ext3 --size=100
  19. part swap --size=512
  20. part / --fstype ext3 --size=100 --grow

  21. %packages
  22. @base
  23. @core
  24. @development-tools
  25. @dialup
  26. @editors
  27. @text-internet
  28. perl
  29. %post
  30. # Disable unused service
  31. chkconfig NetworkManager off
此外在ks.cfg的最后部分还可以用使用linux内建命令实现一些动作,如创建目录、编辑文件等。

在我的实现过程中就需要使用sed命令对grub进行修改。

不过这么做不知道还能不能实现重新设置root密码,如果有好的方案希望能够分享。

在isolinux.cfg中,在不同的标签下引用不同的"ks.cfg",还可实现在一张光盘中完成多种定制的目标


阅读(3389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~