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