CentOS6.5X86

    xiaoxiao2021-11-30  119

    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 3a 27232698a 261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c724d098-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。)

    转载请注明原文地址: https://ju.6miu.com/read-679245.html

    最新回复(0)