歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 簡單定制一個適合自己用的CentOS系統

簡單定制一個適合自己用的CentOS系統

日期:2017/2/28 16:01:14   编辑:Linux教程

實驗環境:VMware + CentOS5.6(64bit)

根據自己的習慣,將CentOS重新打包成一個新ISO,可以自動分區、選擇原件包,快速安裝系統。

先用虛擬機按照正常的流程安裝一個CentOS系統,接下來在這系統上去建立我們的定制系統:

1、掛載光驅 mount /dev/cdrom /mnt

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
rootpw --iscrypted $1$fupKhGiH$sx2TexUjriSyu..IZUwT9.
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=512
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
# Disable unused service
chkconfig NetworkManager off
chkconfig acpid off
chkconfig anacron off
chkconfig atd off
chkconfig auditd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig avahi-dnsconfd off
chkconfig bluetooth off
chkconfig capi off
chkconfig conman off
chkconfig cpuspeed off
chkconfig dnsmasq off
chkconfig dund off
chkconfig edac off
chkconfig fcoe off
chkconfig firstboot off
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig ip6tables off
chkconfig ipsec off
chkconfig iptables off
chkconfig irda off
chkconfig iscsi off
chkconfig iscsid off
chkconfig isdn off
chkconfig kdump off
chkconfig kudzu off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig mdmpd off
chkconfig messagebus off
chkconfig multipathd off
chkconfig netconsole off
chkconfig netfs off
chkconfig netplugd off
chkconfig nfs off
chkconfig nfslock off
chkconfig nscd off
chkconfig oddjobd off
chkconfig pand off
chkconfig pcscd off
chkconfig portmap off
chkconfig psacct off
chkconfig rawdevices off
chkconfig rdisc off
chkconfig readahead_early off
chkconfig readahead_later off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig rpcsvcgssd off
chkconfig saslauthd off
chkconfig sendmail off
chkconfig smartd off
chkconfig sssd off
chkconfig svnserve off
chkconfig tcsd off
chkconfig wpa_supplicant off
chkconfig xfs off
chkconfig xinetd off
chkconfig ypbind off
chkconfig yum-updatesd off

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/

然後下次需要重裝系統的時候就直接使用這個ISO啦,方便快捷!有個缺點就是密碼是按照anaconda-ks.cfg中設定的執行,再研究一下看看能不能設定密碼跟用戶交互的模式。

Copyright © Linux教程網 All Rights Reserved