`

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方法如下,为这个问题,纠结了一个半小时,官方文档找到解决办法
#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
# 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.5-x86_64系统.docx

    在本文档中,我们详细介绍了如何在虚拟机中安装CentOS 6.5-x86_64系统,以及后续的一些关键组件的安装与配置。首先,安装的是Red Hat 5.6_x64作为基础操作系统,使用序列号550dd56b51499bd5,并设置为中文界面,同时...

    CentOS-6.9-x86_64-bin-DVD1.iso官方高速下载链接 亲测可用

    通过以上介绍,我们可以看到CentOS 6.9 x86_64 版本提供了稳定且功能丰富的操作系统环境,适合各种服务器部署场景。同时,对于初次接触CentOS的用户来说,了解这些基本信息和安装步骤是十分重要的。

    CentOS 6.5_x64安装Oracle 11g R2

    在本文中,我们将详细介绍如何在CentOS 6.5_x64系统上安装Oracle 11g R2数据库,并创建一个自启动脚本来简化数据库服务的管理流程。 #### 安装环境 - **操作系统**:CentOS 6.5_x64 Desktop - **主机名**:Oracle ...

    pdksh-5.2.14-37.el5.x86_64 pdksh-5.2.14-37.el5_8.1.i386.rar

    由于CentOS 7.6是一个64位操作系统,所以应该使用`pdksh-5.2.14-37.el5.x86_64.rpm`。 安装`pdksh`包的步骤如下: 1. 首先,确保你的系统已经安装了`rpm`工具。如果尚未安装,可以使用以下命令安装: ``` sudo ...

    pdksh-5.2.14-37.el5_8.1.x86_64.rpm(pdksh和sysstat)

    CentOS 6.5是一个基于Red Hat Enterprise Linux的稳定版发行版,它为Oracle 11g提供了一个可靠的操作系统平台。在CentOS 6.5上安装64位Oracle 11g,需要确保所有依赖项都已满足,包括pdksh和sysstat。安装这些依赖包...

    CentOS6.5系统安装配置图解教程详细图文.doc

    下载地址分别为 mirror.centos.org/centos/6.5/isos/i386/CentOS-6.5-i386-bin-DVD1to2.torrent 和 mirror.centos.org/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1to2.torrent。 二、CentOS 6.5 系统安装...

    CentOS6.5_x64安装oracle所需的i386rpm包及dpksh包

    内部包含dpksh包:pdksh-5.2.14-37.el5_8.1.x86_64.rpm; 以及7个i386的安装包:libaio-0.3.105-2.i386.rpm;libaio-devel-0.3.105-2.i386.rpm;libgcc-3.4.6-11.i386.rpm;libstdc++-3.4.6-11.i386.rpm;unixODBC-...

    CentOS6.5安装图解

    - **64位版本**:`CentOS-6.5-x86_64-bin-DVD1.iso` - 备注:通常推荐大内存服务器(4GB及以上)选择64位版本以充分利用资源。 2. **镜像文件**: - 安装过程中仅需使用第一个镜像文件,该文件包含了必要的安装...

    linux系统内核kernel-4.9.86-30.el6.x86-64.rpm,无外网升级内核使用

    linux内核版本kernel-4.9.86-30.el6.x86_64,亲测CenttOS6.5,CentOS6.8可用。

    centos 6.5下离线安装svn

    在有网络连接的机器上,可以访问`http://vault.centos.org/6.5/updates/x86_64/Packages/`这样的CentOS软件仓库,找到`subversion`及相关依赖的RPM包,如`apr`, `apr-util`, `neon`等。 - 将这些下载的RPM包复制到...

    CentOS6.5下安装fastDFS

    - **操作系统**: CentOS 6.5 x86_64 - **软件包**: - libfastcommon-1.13-2.x86_64.rpm - fastdfs-5.0.5-1.el6.x86_64.rpm - db-6.1.19-1 (Berkeley DB) **2. 安装必备工具** - EPEL: Extra Packages for ...

    CentOS6.5+OpenStack+kvm云平台部署

    ### CentOS6.5 + OpenStack + KVM 云平台部署详解 #### 一、项目概述与环境准备 本文档旨在详细介绍如何在CentOS 6.5操作系统上搭建一个基于OpenStack Havana版本的KVM虚拟化云平台。此文档将涵盖从环境搭建到各个...

    CentOS 6.5下安装Oracle 10g

    在CentOS 6.5上部署Oracle 10g需要满足一定的硬件和软件要求,同时需要对系统进行一系列的配置。 一、硬件要求 为了确保Oracle 10g的稳定运行,至少需要1GB的RAM和推荐2GB或更多的内存。通过`grep MemTotal /proc/...

    nginx--centos6.5(日志功能)安装文档以及安装文件

    本篇文章将深入探讨如何在CentOS 6.5操作系统上安装Nginx,并着重讲解如何配置和使用其日志功能,以及解决日志记录中文乱码的问题。 首先,让我们了解Nginx的基本安装过程。在CentOS 6.5上安装Nginx,我们需要添加...

    CentOS6.5下Oracle11G-R2安装、卸载

    在本文中,我们将深入探讨如何在CentOS 6.5操作系统上安装和...提供的文档“CentOS6.5下Oracle11G-R2安装、卸载.docx”应包含更详细的指导和截图,帮助用户顺利完成整个过程。如有疑问,可参考文档或寻求专业技术支持。

    centos6.5(64位)离线情况下静默安装oracle11g

    ### CentOS 6.5 (64位)离线...这包括创建响应文件、设置环境变量等步骤,这些操作将在后续的文档或指南中详细说明。通过以上步骤,我们可以确保安装过程顺利进行,并且Oracle数据库能在CentOS 6.5 64位系统上稳定运行。

    oracle11g安装手册-CentOS6.5

    ### Oracle 11g R2 在 CentOS 6.5 上的安装步骤详解 #### 一、准备工作 在正式安装 Oracle 11g R2 数据库之前,需要完成一系列的准备工作来确保系统的兼容性和稳定性。 ##### 1. **Windows 系统准备** - 安装 `...

    centos6.5+openstack+kvm云平台部署

    在本篇文档中,我们将详细介绍如何在CentOS 6.5操作系统上搭建一个结合OpenStack Havana版本和KVM虚拟化技术的云平台。OpenStack是一款开源的云计算管理平台项目,它提供了对大型集群计算设施的有效管理。而KVM...

    VMware 10 安装Centos 6.5.pdf

    首先,文档提到了CentOS 6.5系统镜像有32位和64位两种版本,分别为CentOS-6.5-i386-bin-DVD1.iso和CentOS-6.5-x86_64-bin-DVD1.iso。用户可以根据自己的硬件架构选择对应的镜像进行下载。通常来说,32位镜像用于较老...

Global site tag (gtag.js) - Google Analytics