歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 6.2_X86_64系統定制詳細版

CentOS 6.2_X86_64系統定制詳細版

日期:2017/2/28 15:47:56   编辑:Linux教程

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