CentOS 6.2_X86_64系统定制详细版


关于CentOS5.X的系统定制,网上有不少很好的资料,但本人在实践6.X系统定制的时候,遇到问题不少,此文是对本次系统定制的一个总结,大家多多交流。

CentOS 6.2 X86_64有两张DVD,第二张DVD也用得到,所以定制光盘的时候,需要把两张光盘都下载到本地。

系统环境

vm7.14+CentOS 6.2_86_64系统

首先给虚拟机建立2个光驱,用CentOS6.2安装系统,当然也可以不用安装系统这个CentOS6.2系统,在其他5.X版本上制作也一样,但推荐安装,CentOS6.X图形化安装需要700M内存,之前我设置的是400M,直接进入text安装,且无法手动分区,此为系统bug,安装之后可以得到anaconda-ks.cfg,当然也可以用system-config-kickstart工具制作,关于ks制作,此处不讲解,附上我的ks文件内容:

ks.cfg文件内容(ks文件决定需要复制哪些文件包)

  1. # Kickstart file automatically generated by anaconda.  
  2.  
  3. #version=DEVEL 
  4. install  
  5. text  
  6. cdrom  
  7. lang en_US.UTF-8  
  8. keyboard us  
  9. skipx  
  10. network --onboot yes --device eth0 --bootproto static --ip 192.168.16.154 --netmask 255.255.255.0 --gateway 192.168.16.1 --noipv6 --nameserver 114.114.114.114  
  11. rootpw  itnihao  
  12. firewall --service=ssh --port=9090:tcp  
  13. authconfig --enableshadow --passalgo=sha512 
  14. selinux --enforcing  
  15. timezone --utc Asia/Chongqing  
  16. bootloader --location=mbr --driveorder=sda --append=" rhgb crashkernel=auto quiet" 
  17. # The following is the partition information you requested  
  18. # Note that any partitions you deleted are not expressed  
  19. # here so unless you clear all partitions first, this is  
  20. # not guaranteed to work  
  21. #clearpart --none  
  22. clearpart --all --initlabel   
  23. part /boot --fstype=ext4 --size=2000 
  24. part /var --fstype=ext4 --size=100000 
  25. part swap --size=5000 
  26. part / --fstype=ext4 --grow --size=200 
  27.  
  28. reboot  
  29. #repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100 
  30.  
  31. %packages  --nobase  
  32. @base  
  33. @chinese-support  
  34. @client-mgmt-tools  
  35. @core  
  36. @development  
  37. @legacy-unix  
  38. @network-file-system-client  
  39. @network-tools  
  40. @php  
  41. @performance  
  42. @perl-runtime  
  43. @system-management-snmp  
  44. @server-policy  
  45. @system-admin-tools  
  46. @web-server  
  47. sgpio  
  48. imake  
  49. tcp_wrappers  
  50. iptraf  
  51. php-mysql  
  52. perl-DBD-SQLite  
  53. rrdtool  
  54. crypto-utils  
  55. perl-Cache-Memcached  
  56. perl-CGI-Session  
  57. perl-CGI  
  58. lrzsz  
  59. bind  
  60. bind-chroot  
  61. bind-devel  
  62. mysql  
  63. perl-DBD-MySQL  
  64. mysql-server  
  65. mysql-devel  
  66. createrepo  
  67. python-devel  
  68. -vconfig  
  69. -rng-tools  
  70. -readahead  
  71. -prelink  
  72. -rfkill  
  73. -pinfo  
  74. -rdate  
  75. -words  
  76. -pm-utils  
  77. -pcmciautils  
  78. -usbutils  
  79. -samba-client  
  80. -nfs4-acl-tools  
  81. -nfs-utils  
  82. -cifs-utils  
  83. -webalizer  
  84. -httpd-manual
  85. zlib-devel  
  86. openssl-devel  
  87. openssl-perl   
  88. openssl098e    
  89. %post --nochroot  #在没有切换到安装后系统的时候运行的命令,用于在光盘拷贝文件到系统
  90. cp /mnt/source/Packages/conf/settings.sh /mnt/sysimage/tmp/  
  91. mv /mnt/sysimage/etc/httpd/conf/httpd.conf /mnt/sysimage/etc/httpd/conf/httpd.conf.back  
  92. mv /mnt/sysimage/etc/snmp/snmpd.conf /mnt/sysimage/etc/snmp/snmpd.conf.back  
  93. cp /mnt/source/Packages/conf/httpd.conf /mnt/sysimage/etc/httpd/conf/httpd.conf  
  94. cp /mnt/source/Packages/conf/snmpd.conf /mnt/sysimage/etc/snmp/snmpd.conf  
  95. cp /mnt/source/Packages/cacti.tar.gz /mnt/sysimage/tmp  
  96. %post             #进入安装后的系统
  97. /tmp/settings.sh  
  98. cd /tmp  
  99. tar zxvf cacti.tar.gz -C /var/www/html  
  100. service mysqld restart  
  101. mysqladmin -uroot password itnihao  
  102. mysql -uroot -pitnihao -e "create database cacti;"  
  103. mysql -uroot -pitnihao -D cacti -e "source /var/www/html/cacti/cacti.sql"  
  104. mysql -uroot -pitnihao -e "grant all privileges on cacti.* to cacti@localhost identified by 'cacti';"  
  105. mysql -uroot -pitnihao -e "flush privileges;"  
  106. #mysql -ucacti -pcacti -D cacti</var/www/html/cacti/cacti.sql  
  107. sed -i "s/cactiuser/cacti/g" /var/www/html/cacti/include/config.php  
  108. chmod 777 -R /var/www/html/cacti/rra    /var/www/html/cacti/log  
  109. #sntp -P no -r pool.ntp.org  
  110. #hwclock -w  
  111. /usr/sbin/eject  
  112. rm /tmp/*  
  113. %end 

#复制系统安装文件到定制的系统目录

  1. mkdir /mnt/cd{1,2}
    mkdir /home/centos/Packages -p
    mkdir /home/source
    mount /dev/cdrom /mnt/cd1
    mount /dev/cdrom1 /mnt/cd2
    mount /dev/cdrom /mnt/cd1
    mount /dev/cdrom1 /mnt/cd2
    awk -F "Installing" '{print $2}' ~/install.log |sed -e '/^$/d' -e 's/^ //g'  >/home/source/packges.list
    for packges in `cat /home/source/packges.list`
  2. do  
  3. cp /mnt/cd1/Packages/$packges*  /home/centos/Packages  
  4. [ $? != 0 ] && echo "copy  $packges is faied!"  
  5. done  
  6.  
  7. rsync -a --exclude=Packages /mnt/cd1/  /home/centos  
  8. rm -rf /home/centos/repodata  
  9. cd /home/centos  
  10. createrepo /home/centos/  #重新生成repodata文件
  11. createrepo -g repodata/repomd.xml /home/centos #创建组文件,此处似乎有bug,需经过以下处理
  • 1
  • 2
  • 下一页

相关内容