centos6.2_X86_64系统定制详细版

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

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

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

系统环境

vm7.14+centos6.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. #复制系统安装文件到定制的系统目录

  2. 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`

  3. do  

  4. cp /mnt/cd1/Packages/$packges*  /home/centos/Packages  

  5. [ $? != 0 ] && echo "copy  $packges is faied!"  

  6. done  

  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,需经过以下处理

  12. cp  /mnt/cd1/repodata/* /home/centos/repodata

附件中有我的packges.list文件列表

前面的内容,百度都能搜到,下面内容是成功的关键所在


 
 
  1. vim repodata/repomd.xml

  2. =============================================原文件为  

  3. </data>

  4. <datatype="group_gz">

  5. <locationhref="repodata/repomd.xml.gz"/>

  6. <checksumtype="sha256">76f27114ff5588340a0b175f382a6c32185f94b36fc3495b8ae03db5724a943f</checksum>

  7. <open-checksumtype="sha256">ae80d0c6948e128556f79d5b8b69b030899f5a825ada4a0779c29f5f94b9d912</open-checksum>

  8. <timestamp>1335105744</timestamp>

  9. </data>

  10. <datatype="group">

  11. <locationhref="repodata/repomd.xml"/>

  12. <checksumtype="sha256">ae80d0c6948e128556f79d5b8b69b030899f5a825ada4a0779c29f5f94b9d912</checksum>

  13. <timestamp>1335105744</timestamp>

  14. </data>

  15. </repomd>

  16. ==============================================修改为  

  17. <datatype="group_gz">

  18. <locationxml:base="media://1323560292.885204#1"href="repodata/bedb7dc8fdf920deffbdc5a70ea0d6d77255656556184f5e996e8a88a  

  19. 63d145c-c6-x86_64-comps.xml.gz"/>

  20. <checksumtype="sha256">bedb7dc8fdf920deffbdc5a70ea0d6d77255656556184f5e996e8a88a63d145c</checksum>

  21. <open-checksumtype="sha256">3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c724d098</open-checksum>

  22. <timestamp>1324003565</timestamp>

  23. </data>

  24. <datatype="group">

  25. <locationxml:base="media://1323560292.885204#1"href="repodata/3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c  

  26. 724d098-c6-x86_64-comps.xml"/>

  27. <checksumtype="sha256">3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c724d098</checksum>

  28. <timestamp>1324003565</timestamp>

  29. </data>

  30. =====================================================

不修改上面的group,安装的时候会提示无法找到group组里面的包,如core组件无法安装,导致系统无法安装,附图

将ks.cfg文件复制到


 
 
  1. cp ks.cfg  /home/centos/isolinux/ks.cfg  

  2. #此处的ks.cfg可以自己制作,也可以用我上面的  关于ks文件中的自定义脚本和文件如下所示   ls /home/centos/Packages/conf/
     httpd.conf  settings.sh  snmpd.conf

修改isolinux.cfg  ,此文件是光盘启动的自动应答第一步


 
 
  1. cat  /home/centos/isolinux/isolinux.cfg  

  2. default auto  

  3. timeout 600  

  4. label auto  

  5. kernel vmlinuz  

  6. append ks=cdrom:/isolinux/ks.cfg initrdinitrd=initrd.img  

  7. #default vesamenu.c32  

  8. #prompt 1  

  9. display boot.msg  

经过以上处理,系统可以成功定制,下面是对文件打包


 
 
  1. mkisofs -o itnihaoOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /home/centos

总结一下,其实对系统简单的定制不是很难,难的是需要反复验证,反复测试,以上的内容经过测试完全可以使用

以上内容简单的写写,后面继续完善,会上传系统文件,有问题的朋友可以留言


光盘安装,指定ks文件的方法


 
 
  1. linux ks=http://192.168.16.254/ks.cfg ip=本机ip netmask=掩码 gateway=网关ksdevice=eth0(表示选择第一块网卡)



本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/841149,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
4月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
772 69
|
2月前
|
监控 关系型数据库 MySQL
在CentOS系统中,如何统计哪个进程打开了文件描述符?
利用上述方法,你可以有效地监控和统计CentOS系统中的进程打开的文件描述符数量,以帮助排查错误或优化系统配置。通过组合使用各种工具和命令,可以获得对系统状态和行为的深入了解,进而做出相应的调整和
120 5
|
4月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
388 78
|
5月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
423 79
|
4月前
|
缓存 监控 Linux
CentOS系统如何查看当前内存容量。
以上方法都不需要特殊软件或者复杂配置即可执行,在CentOS或其他Linux发行版中都适合运行,并且它们各自透露出不同角度对待问题解答方式:从简单快速到深入详尽;从用户态到核心态;从操作层数到硬件层数;满足不同用户需求与偏好。
345 8
|
4月前
|
存储 Linux 数据安全/隐私保护
确定CentOS系统分区表类型(MBR或GPT)
以上方法均能够帮助用户准确地识别出CentOS下连接硬件所应用得具体磁盘标准,并根据实际需求做进一步处理与管理工作。
478 0
|
6月前
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
501 18
|
4月前
|
Ubuntu Linux 云计算
CentOS与Ubuntu:Linux系统的双璧
选择Ubuntu还是CentOS,取决于用户的具体需求,如是否需要图形化界面、对稳定性的要求、软件包管理的偏好以及对商业支持的需求等。两者都是优秀的Linux发行版,只是在设计理念和目标用户群体上有所不同。#深度好文计划#
|
7月前
|
Unix Linux 程序员
在Centos系统上如何有效删除文件和目录的指令汇总
记住,有了这个指南,你就不再为删除文件和目录感到困扰。快去尝试一下,让你的CentOS更上一层楼吧!
455 24
|
6月前
|
安全 Linux 网络安全
在CentOS 7系统上创建SSL/TLS证书以启用HTTPS
请记住,这只是单枚勋章,在野外,CA签发的证书才是堂堂正正的金盾牌。如果您打算让这个小兵走得更远,考虑一下像Let's Encrypt这样的免费CA服务,它会给您的小兵颁发一个大家都认可的荣誉勋章。而且,千万不要忘了定期更新您的装备哦,毕竟,没有哪件盔甲是永远坚不可摧的。
337 4