CentOS6.5X86_64系统定制文档详细版
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                CentOS6.5X86_64系统定制文档详细版
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            CentOS6.2X86_64系統定制文檔詳細版  版本:V1.0 版權:GPL 時間:2015-12-17 作者:無影 說明:本文檔所用方法來自網絡,經過本人親自成功實踐總結,如有謬誤,歡迎各位指正,定制系統過程,得到zero,逸馬馳騁等眾多兄弟的幫助,在此表示感謝! 一,基礎環境的搭建 操作環境: VM7.1(版本不限)+centos6.2X86_64 VM需設置2個光驅,分別掛載DVD1和DVD2 安裝centos6.2X 86_64系統,所需組件自行定義,安裝后得到install.log和anaconda-ks.cfg文件(在此基礎上修改比較方便)   mkdir /mnt/cd{1,2}?????????????????建立光盤的掛載目錄  mkdir /home/centos/Packages?-p????建立定制光盤文件目錄  mkdir /home/source????????????????建立放置軟件資源目錄  mount /dev/cdrom?/mnt/cd1?????????掛載DVD1  mount /dev/cdrom1 /mnt/cd2?????????掛載DVD2  二,ks文件的準備 ks文件由系統安裝所得anaconda-ks.cfg進行修改,當然也可以用system-config-kickstart工具制作而得,此處省略ks制作方法。  # Kickstart file automatically generated by anaconda. #Itnihao OS #date 2012-04-24 #version=V1.0 install?????????????? text????? cdrom lang en_US.UTF-8 keyboard us skipx 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 rootpw?itnihao firewall --service=ssh --port=80:tcp authconfig --enableshadow --passalgo=sha512 selinux --enforcing timezone --utc Asia/Chongqing bootloader --location=mbr --driveorder=sda --append=" rhgb crashkernel=auto quiet" # 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 --none clearpart --all --initlabel part /boot --fstype=ext4 --size=2000 part /var --fstype=ext4 --size=80000 part swap --size=5000 part / --fstype=ext4 --grow --size=200  reboot #repo --name="CentOS"?--baseurl=cdrom:sr0 --cost=100  %packages?--nobase @base @chinese-support @client-mgmt-tools @core @development @legacy-unix @network-file-system-client @network-tools @php @performance @perl-runtime @system-management-snmp @server-policy @system-admin-tools @web-server sgpio imake tcp_wrappers iptraf php-mysql perl-DBD-SQLite rrdtool crypto-utils perl-Cache-Memcached perl-CGI-Session perl-CGI lrzsz bind bind-chroot bind-devel mysql perl-DBD-MySQL mysql-server mysql-devel createrepo python-devel -vconfig -rng-tools -readahead -prelink -rfkill -pinfo -rdate -words -pm-utils -pcmciautils -usbutils -samba-client -nfs4-acl-tools -nfs-utils -cifs-utils -webalizer -httpd-manual zlib-devel openssl-devel openssl-perl openssl098e ?  %post --nochroot????????此處是定義從光盤拷貝文件到安裝后的系統 cp /mnt/source/Packages/conf/settings.sh /mnt/sysimage/tmp/ mv /mnt/sysimage/etc/httpd/conf/httpd.conf /mnt/sysimage/etc/httpd/conf/httpd.conf.back mv /mnt/sysimage/etc/snmp/snmpd.conf /mnt/sysimage/etc/snmp/snmpd.conf.back cp /mnt/source/Packages/conf/httpd.conf /mnt/sysimage/etc/httpd/conf/httpd.conf cp /mnt/source/Packages/conf/snmpd.conf /mnt/sysimage/etc/snmp/snmpd.conf cp /mnt/source/Packages/cacti.tar.gz /mnt/sysimage/tmp  %post??????????????????從光盤切換到新安裝的系統里面,相當于chroot的功能  /tmp/settings.sh???????運行自定義腳本,對新安裝的系統進行設置,系統優化參數都可以寫在此腳本,各位童鞋只有發揮 cd /tmp  tar zxvf cacti.tar.gz -C /var/www/html??此處是安裝cacti,下面都是對cacti的安裝 service mysqld restart?????????????? mysqladmin -uroot password itnihao mysql -uroot -pitnihao -e "create database cacti;" mysql -uroot -pitnihao -D cacti -e "source /var/www/html/cacti/cacti.sql" mysql -uroot -pitnihao -e "grant all privileges on cacti.* to cacti@localhost identified by 'cacti';" mysql -uroot -pitnihao -e "flush privileges;" #mysql -ucacti -pcacti -D cacti</var/www/html/cacti/cacti.sql sed -i "s/cactiuser/cacti/g" /var/www/html/cacti/include/config.php sed?-i "s/;date.timezone/wqdate.timezone =\/Asia\/Chongqing/g" /etc/php.ini chmod 777 -R /var/www/html/cacti/rra??? /var/www/html/cacti/log echo "* * */2 * * /usr/sbin/ntpdate time-a.nist.gov && hwclock -w" >/tmp/crontab.tmp crontab -uroot /tmp/crontab.tmp   /usr/sbin/eject???彈出光盤  rm /tmp/*?????????刪除/tmp/*下文件  %end?????????????結束  三,定制系統文件的準備 新定制系統由以上系統組件包說決定,文件由安裝日志得來  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` do cp /mnt/cd1/Packages/$packges*?/home/centos/Packages [ $? != 0 ] && echo "copy?$packges is faied!"&& cp /mnt/cd2/Packages/$packges*?/home/centos/Packages done  rsync -a --exclude=Packages /mnt/cd1?/home/centos??注意rsync拷貝了影藏文件  ls -a /home/centos/.discinfo ?查看discinfo文件是否已經拷貝過來,沒有的從原光盤中拷入。  四,生成新的配置文件  rm -rf /home/centos/repodata? cd /home/centos?  createrepo /home/centos/?#重新生成repodata文件   createrepo -g repodata/repomd.xml /home/centos?#創建組文件,此處似乎有bug,需經過以下處理   vim repodata/repomd.xml?將goup文件重新改寫  ================================================= <data type="group_gz"> <location xml:base="media://1323560292.885204#1" href="repodata/bedb7dc8fdf920deffbdc5a70ea0d6d77255656556184f5e996e8a88a 63d145c-c6-x86_64-comps.xml.gz"/> <checksum type="sha256">bedb7dc8fdf920deffbdc5a70ea0d6d77255656556184f5e996e8a88a63d145c</checksum> <open-checksum type="sha256">3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c724d098</open-checksum> <timestamp>1324003565</timestamp> </data> <data type="group"> <location xml:base="media://1323560292.885204#1" href="repodata/3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c 724d098-c6-x86_64-comps.xml"/> <checksum type="sha256">3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c724d098</checksum> <timestamp>1324003565</timestamp> </data> ===================================================== /home/centos/repodata存在以下文件,沒有的文件需要從光盤里面復制到此,這里要特別注意,為成功安裝的關鍵 #ls /home/centos/repodata 207ae7829f9e94a26b62d3d2d370c39c43e020f5a56d01baff38f85c5d4323e7-primary.xml.gz  3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c724d098-c6-x86_64-comps.xml??  badeded316fc87571779d92c5cde816fdc357646b84cb191c4611e05c981ffa1-c6-x86_64-comps.xml.gz bedb7dc8fdf920deffbdc5a70ea0d6d77255656556184f5e996e8a88a63d145c-c6-x86_64-comps.xml.gz filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml repomd.xml.gz    五,系統logo的修改  如何修改安裝過程中的centos字樣呢? 5.X定制使用如下方法  如何去掉安裝過程中的CentOS 字樣? 在安裝光盤里面有兩個.buildstamp 文件,一個位于stage2.img?中,一個位于initrd.img 中, 安裝光盤運行時讀取的是initrd.img 中的那個.buildstamp 文件,所以只要把initrd.img 文件改了就可以了。 如何解壓initr.dimg 文件: 2.6 內核中的initrd.img 采用cpio 壓縮,不再是2.4 內核使用的ext2 格式,無法使用mount -o loop掛載。需要使用gunzip 解壓縮,然后再使用利用cpio 給img 解包 #cd?/home/centos/isolinux/ #cp?initrd.img /tmp/initrd.img.gz #cd?/tmp #gunzip?initrd.img.gz #mkdir?initrd #mv?initrd.img?initrd #cd?initrd #cpio?-ivmd?<?initrd.img 仍后修改.buildstamp 文件,將CentOS 改為Itnihao?即可. 如何制作initrd.img 文件: #假設當前目錄位于準備好的initrd 文件系統的根目錄下 #find . | cpio -c -o > ../initrd.img #gzip ../initrd.img #mv initrd.img.gz initrd.img #rm /home/centos/isolinux/initrd.img #cp initrd.img /home/centos/isolinux/ 仍后將initrd.img 復制到/ltos/isolinux/  6.X方法如下,為這個問題,糾結了一個半小時,官方文檔找到解決辦法 http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/6.2_Release_Notes/index.html  #mkdir /tmp/initrd #cp /mnt/cd1/isolinux/initrd.img /tmp/initrd #cd /tmp/initrd  #xz -dc initrd.img | cpio -id???不在使用原先的gzip格式  #rm initrd.img???????????????????解壓完畢,刪除原先的initrd.img文件  #vim /tmp/initrd/.buildstamp?????編輯此文件 201204251719.x86_64  Itnihao???????????????????????????修改此處,變為自己的標識符 1.0  http://itnihao.blog.51cto.com/???  # find . | cpio -c -o | xz -9 --format=lzma > initrd.img??重新生成img文件 xz: Adjusted LZMA1 dictionary size from 64 MiB to 26 MiB to not exceed the memory usage limit of 320 MiB?????????????此處似乎是警告,忽略不管,對結果沒有影響  #rm /home/centos/isolinux/initrd.img???刪除源img文件  #cp /tmp/initrd/initrd.img /home/centos/isolinux/initrd.img??拷貝新img文件   最終,系統目錄下面存在以下文件  ?.discinfo ?EFI ?EULA? ?GPL ?images ?isolinux  ?ItnihaoOS_BuildTag?這個可以自己修改的 ?Packages ?repodata ?TRANS.TBL ?.treeinfo  多余文件可以全部刪除 六,引導文件的修改  vim /home/centos/isolinux/isolinux.cfg default auto timeout 600 label auto kernel vmlinuz  append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img?設置ks文件位置?initrd位置  display boot.msg    七,ISO文件的生成   mkisofs -o /home/tistoneOS.iso -V tistoneOS -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long /home/centos-tistone   八.寫入MD5   
                        
                        
                        #/usr/bin/implantisomd5 centos6.5Release.iso
(將md5值嵌入ISO中,防止復制過程中數據損壞;效驗checkisomd5?centos6.5Release.iso。)
總結
以上是生活随笔為你收集整理的CentOS6.5X86_64系统定制文档详细版的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 10亿数据导入oracle方案
- 下一篇: JAVA国际化教程【转载】
