精简系统服务:关闭多余系统服务
优化vim编辑器:增加关键字高亮显示功能
加入一些别名规则:grep --color=auto 和 netstat -tunlp
优化软硬节点限制
改进系统密码由用户输入
============================================================
实验环境:VMware + CentOS5.6(64bit)
根据自己的习惯,将CentOS重新打包成一个新ISO,可以自动分区、选择原件包,快速安装系统。
先用虚拟机按照正常的流程安装一个CentOS系统,接下来在这系统上去建立我们的定制系统:
1、挂载光驱
2、创建临时目录
mkdir -p /root/iso/CentOS |
3、提取需要的RPM包,正常安装好操作系统在/root目录下会有install.log文件,这个就是操作系统安装RPM包的记录,我们从这些记录中,将所需的RPM包从/mnt/CentOS中复制到/root/iso/CentOS里面去
#!/bin/bash
cd /root
awk '/Installing/{print $2}' install.log | sed 's/^[0-9]*://g' >package.txt
DVD='/mnt/CentOS'
PACKDIR='/root/package.txt'
NEW_DVD='/root/iso/CentOS/'
while read LINE
do
cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."
done < package.txt
rm -f package.txt |
4、把原镜像除了CentOS目录外的文件全部复制至/root/iso目录下
cd /mnt
ls | grep -v CentOS | xargs -i cp -Rp {} /home/test/ |
5、把/root目录下的anaconda-ks.cfg复制至/root/iso目录下,并根据自己实际需要修改安装要求
# Kickstart file automatically generated by anaconda.
install
cdrom
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
firewall --disabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --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 --linux
part /boot --fstype ext3 --size=100
part swap --size=8192
part / --fstype ext3 --size=100 --grow
%packages
@base
@core
@development-tools
@dialup
@editors
@text-internet
keyutils
openCryptoki
libhbaapi
brltty
dmraid-events-logwatch
libhbalinux
aide
kexec-tools
nfs4-acl-tools
tpm-tools
iscsi-initiator-utils
trousers
bridge-utils
authd
fipscheck
squashfs-tools
star
sssd
hardlink
freeipmi
x86info
device-mapper-multipath
hfsutils
fcoe-utils
edac-utils
hesinfo
fuse-libs
convmv
fuse
cpufreq-utils
openswan
freeipmi
gcc44-c++
gcc44-gfortran
pexpect
dejagnu
imake
java-1.6.0-openjdk-devel
gcc-objc
ElectricFence
memtest86+
gcc-gnat
libgfortran44
gcc44
expect
java-1.6.0-openjdk
unifdef
nasm
%post
for i in `ls /etc/rc3.d/S*`
do
CURSRV=`echo $i|cut -c 15-`
echo $CURSRV
case $CURSRV in
crond | irqbalance | microcode_ctl | lvm2-monitor | network | random | sshd | syslog )
echo "Base services, Skip!"
;;
*)
echo "change $CURSRV to off"
chkconfig --level 235 $CURSRV off
service $CURSRV stop
;;
esac
done
sed -i "8i alias vi='vim'" /root/.bashrc
sed -i "8i alias grep='grep --color=auto'" /root/.bashrc
sed -i "9i alias n='netstat -tunlp'" /root/.bashrc
echo 'syntax on' > /root/.vimrc
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^#UseDNS yes$/UseDNS no/' /etc/ssh/sshd_config
echo "* hard nofile 65535" >> /etc/security/limits.conf
echo "* soft nofile 65535" >> /etc/security/limits.conf
/usr/sbin/eject
reboot
|
6、让ISO按照anaconda-ks.cfg文件来执行安装
vi /root/iso/isolinux/isolinux.cfg
Default linux 修改成default linux ks=cdrom:/anaconda-ks.cfg |
7、生成comps.xml文件
yum -y install createrepo mkisofs
cd /root/iso
createrepo -g repodata/*comps.xml /root/iso/ |
8、制作ISO
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/ |
这样一个定制版的Centos就出来了!~~~