订制精简centos5.6

系统版本centos5.6-x86_64linux

一直使用centos5.x系列,比较稳定,一些软件兼容性很好。Centos6.x也有使用,但感受一些软件兼容性没有5系好,并且本人在使用过程当中好像偶尔会出现一些莫名其妙的小问题。ios

 

订制系统的目的是精简系统,达到快速安装。其核心是用一台母机,先根据本身的须要安装好系统,而后主要利用两个文件。一个是安装母机系统的安装包列表文件(install.log),另外一个是实现自动安装的kickstart脚本(在安装好的系统上叫anaconda-ks.cfg)。由于这两个文件是配套的,因此最好是用这两个文件,不要在网上随便找个就进行操做,这样容易出现问题。shell

 

下面是订制精简系统的过程:express

1. 母机安装好后,把原版光盘或镜像文件挂载到一个目录。而后拷贝除CentOS以外的全部文件到要订制系统的文件目录。windows

首先安装一些一会订制系统要用到的包:centos

yum -y install createrepo mkisofs anaconda-runtime服务器

创建一个订制目录:网络

[root@localhost ~]# mkdir /live_osapp

挂载原版光盘到/mnt目录:less

[root@localhost ~]# mount /dev/cdrom /mnt/

利用shell模式的rsync把文件拷贝过去:

[root@localhost ~]#rsync -a --exclude=CentOS /mnt/ /live_os

创建订制目录的CentOS文件夹(用来存放本身须要的rpm包):

[root@localhost ~]#mkdir /live_os/CentOS

接下来获取所需的rpm包:

[root@localhost ~]#awk '{print $2}' install.log |sed s/^[0-9]*://g |grep -v 'i386' > /root/packages.list

(这条命令利用awk打印第二个字段,用sed过滤掉以数字开头的内容,用grep过滤掉i386的安装包)

[root@localhost ~]#for i in `cat packages.list` ; do cp /mnt/CentOS/$i* /live_os/CentOS/; done

(这条命令是利用package.list中的文件内容把光盘上的包拷贝到CentOS目录)。

2. 拷贝kickstart文件到指定位置:

[root@localhost ~]#cp anaconda-ks.cfg /live_os/isolinux/ks.cfg

编辑ks.cfg文件:

个人ks文件内容以下:

[root@localhost isolinux]# cat ks.cfg 

# Kickstart file automatically generated by anaconda.

 

install

text

cdrom

lang en_US.UTF-8

keyboard us

reboot

skipx

network --device eth0 --bootproto dhcp

rootpw --iscrypted $1$XigKVP5d$j4kCF.nEOQdq769algNmP/

firewall --disabled

authconfig --enableshadow --enablemd5

selinux --disabled

timezone --utc Asia/Shanghai

bootloader --location=mbr

zerombr yes

#--driveorder=sda

# 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=256 --asprimary

part / --fstype ext3 --size=80000

part swap --size=16000

part /opt --fstype ext3 --size=100 --grow

 

%packages

@admin-tools

@base

@core

@development-libs

@development-tools

@editors

@system-tools

keyutils

kexec-tools

iscsi-initiator-utils

trousers

fipscheck

device-mapper-multipath

imake

audit

iptraf

 

3. 编辑isolinux.cfg文件:

[root@localhost isolinux]# chmod a+w isolinux.cfg

[root@localhost isolinux]# cat isolinux.cfg 

default ks #指明默认使用kickstart脚本进行安装

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 ks

  kernel vmlinuz

  append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img  #这个ks.cfg理论上能够放到其余位置,指定好正确路径就好。

label local

  localboot 1

label memtest86

  kernel memtest

  append -

4. 回到订制目录的根下打包订制iso文件:

[root@localhost live_os]#declare -x discinfo=`head -1 .discinfo`

[root@localhost live_os]#createrepo -g repodata/*comps.xml /live_os/

[root@localhost cnlive_os]#mkisofs -o /tmp/MYCentOS_5.6_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 /live_os/

 

完成@@@

 

刻录成光盘以后只有600多兆。相比4G多的dvd原版轻便多了。再装系统时只要让服务器从光盘启动就啥也不用管了。很方便!!!

 

 

 

上面是光盘版,如今再来一个U盘版

 

订制好的光盘虽然轻便,但读取速度仍是不如U盘。

光盘适合的场景一个是服务器数量较少的状况。再有一个是带远程管理功能的服务器,好比配备了idrac卡的dell系列。还有最近接触的带BMC口的华为系列服务器。这些服务器支持KVM over IP。能冷重启,在关机的状况下开机,能远程设置bios,固然也能加载本地光盘或镜像供远程服务器使用。功能强大,很受sa的欢迎。因此若是服务器在idc,若是服务器系统崩溃的话,iso镜像就能很好的被利用了,利用本地镜像能够给远程服务器重装系统。免去了去机房的麻烦。

 

U盘安装速度快,几分钟就能够装完一个系统。比较适合服务器比较多,但又暂时不方便联网的时候用。

 

下面是安装过程制做过程,很简单,用上面制做好的镜像文件再简单配置就能够了。不过U盘装有一个比较不爽的地方,就是U盘在不一样的服务器上可能被识别成不一样的盘符。因此关键是肯定要用U盘安装系统的服务器会把U盘识别成什么盘。否则可要头疼半天了。

 

1. windows下用ultraiso工具

文件---打开,选择制做好的光盘镜像(也能够是原版的)

双击p_w_picpaths(以下图)

双击boot.iso(以下图)

点击 启动-----写入硬盘映像(这时U盘应该是插在电脑上的)。弹出的界面,确认一下是要写入的U盘。

点击写入就能够了,ultraiso直接建立了启动linux所需的文件,和syslinux.cfg文件。直接编辑就能够了。

 

2. 通过以上操做在U盘里会生成一个isolinux的文件夹,点击进去后,编辑syslinux.cfg文件,这个是U盘启动的配置文件。

个人文件内容以下:

default ks

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 ks

  kernel vmlinuz

  append ks=hd:sdb4:/ks.cfg initrd=initrd.img  #这里注意了,其余的和光盘的配置文件同样。

label local

  localboot 1

label memtest86

  kernel memtest

  append -

 

3. 拷贝ks.cfg文件到U盘根下,内容大体以下:

# Kickstart file automatically generated by anaconda.

 

install

harddrive --partition=sdb4 --dir= #这里注意

text

lang en_US.UTF-8

keyboard us

reboot

skipx

#network --device eth0 --bootproto dhcp

rootpw --iscrypted $1$XigKVP5d$j4kCF.nEOQdq769algNmP/

firewall --disabled

authconfig --enableshadow --enablemd5

selinux --disabled

timezone --utc Asia/Shanghai

bootloader --location=partition --driveorder=sda   #这里bootloader注意,若是有错误可能致使系统装完后不能启动

zerombr yes

#--driveorder=sda

# 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=256 --asprimary

part / --fstype ext3 --size=80000

part swap --size=16000

part /opt --fstype ext3 --size=100 --grow

 

%packages

@admin-tools

@base

@core

@development-libs

@development-tools

@editors

@system-tools

keyutils

kexec-tools

iscsi-initiator-utils

trousers

fipscheck

device-mapper-multipath

imake

audit

 

4. 拷贝订制好的iso镜像到U盘根目录下(也能够是原版,只不过占地方吧)

 

完成@@@

 

插上U,让系统从U盘启动。喝杯茶吧。茶没喝完就装完了!!!

再次提醒不一样的服务器可能会把U盘识别成不一样盘符。肯定好以后修改ks.cfgsyslinux.cfg文件!!!


 

本文也是参考网上文章制做而成,感谢网络上朋友们的奉献精神,同时把本身制做过程记录下来,但愿能帮到有须要的朋友。同时作个备忘。下一步打算把这个订制系统用到pxe环境。再实验一下!把步骤记录下来。

相关文章
相关标签/搜索