歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

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,需經過以下處理
Copyright © Linux教程網 All Rights Reserved