发布时间:2014-09-05 17:14:28作者:知识屋
我已经参考本文制作成功了,那在这儿记录一下,希望大家也能打造自己的linux版本。。
工欲善其事,必先利其器。在制作发行版之前,需要安装一些软件,最简单的方法当然是用CentOS的yum来安装啦!
#yum -y install anaconda-runtime createrepo yum-utils anaconda anaconda-help busybox-anaconda mkisofs
工具安装完成了,可以开始制作linux了。
要想做好一个机遇CentOS发行版的linux,继续要安装一次CentOS,安装时,将必要的包选中,比如,base,develop-tools,text-internet等等,其他的,用不到的东西最好不要选,这样做出来的系统,可以保证体积。
我是在vmware workstation上完成第一次CentOS安装的。安装完成之后,可以在/root/目录下,找到anaconda-ks.cfg这个文件,可以用cat命令看一下这个文件的内容,就大体知道之前装了那些软件包了。
# cat anaconda-ks.cfg
# Kickstart file automatically generated by anaconda.
install
cdrom
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
rootpw --iscrypted $1$mrG7rARX$2zkvd4WLl2Lh5sD9aNP5Q.
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda
# 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 --all --drives=sda
#part /boot --fstype ext3 --size=100 --ondisk=sda
#part pv.2 --size=0 --grow --ondisk=sda
#volgroup VolGroup00 --pesize=32768 pv.2
#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1024 --grow --maxsize=2048
#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
%packages
@development-libs
@editors
@text-internet
@legacy-network-server
@dialup
@core
@base
@network-server
@admin-tools
@development-tools
kexec-tools
device-mapper-multipath
imake
有了上述信息,制作linux的时候就有底了。
在完成上述动作之后,我们可以在/目录下创建一些目录,用来存放linux发行版需要的文件,比如,我将我的系统命名为RiceOS,则,我在/目录下创建一个rice的目录,用来存放linux发行版制作时需要的文件。
p.s.这里的系统因为可以算是再发行版了,所以,可以自己定义,不必死板。
#mkdir /rice
我们需要将CentOS的dvd光盘挂载到linux上来,可以通过挂载光驱,也可以通过挂载iso文件,在挂载之前,我们先在/mnt/目录下创建一个目录,用来挂载。
#mkdir /mnt/cdrom
#mount -t iso9660 -o loop /dev/cdrom /mnt/cdrom //挂载光驱
#mount -t iso9660 -o loop /xxx/CentOS-5.3-i386-bin-DVD.iso /mnt/cdrom //挂载iso文件,此处的xxx是CentOS-5.3-i386-bin-DVD.iso文件所在的绝对路径。
挂载完成之后,利用tar命令将光驱中所有的文件复制至/rice目录:
#cd /mnt/cdrom
#tar -cf - . | ( cd /rice ; tar -xvpf - )
复制完成之后,进入rice目录,ls -al一下:
# ls -al
drwxr-xr-x 7 root root 6144 03-21 23:05 .
drwxr-xr-x 4 root root 4096 08-12 22:03 ..
drwxr-xr-x 2 ossec ossec 407552 03-21 23:05 CentOS
-rw-r--r-- 1 root root 112 03-21 23:05 .discinfo
-rw-r--r-- 7 root root 212 2008-06-15 EULA
-rw-r--r-- 7 root root 18009 2008-06-15 GPL
drwxr-xr-x 4 root root 2048 03-21 23:04 images
drwxr-xr-x 2 root root 2048 03-21 22:46 isolinux
drwxr-xr-x 2 root root 12288 03-17 09:30 NOTES
-rw-r--r-- 2 root root 655 03-09 11:12 RELEASE-NOTES-cs
-rw-r--r-- 2 root root 1401 03-09 11:12 RELEASE-NOTES-cs.html
-rw-r--r-- 2 root root 839 03-09 11:12 RELEASE-NOTES-de
-rw-r--r-- 2 root root 1571 03-09 11:12 RELEASE-NOTES-de.html
-rw-r--r-- 2 root root 694 03-09 11:12 RELEASE-NOTES-en
-rw-r--r-- 2 root root 1367 03-09 11:12 RELEASE-NOTES-en.html
-rw-r--r-- 2 root root 694 03-09 11:12 RELEASE-NOTES-en_US
-rw-r--r-- 2 root root 1367 03-09 11:12 RELEASE-NOTES-en_US.html
-rw-r--r-- 2 root root 788 03-09 11:12 RELEASE-NOTES-es
-rw-r--r-- 2 root root 1619 03-09 11:12 RELEASE-NOTES-es.html
-rw-r--r-- 2 root root 852 03-09 11:12 RELEASE-NOTES-fr
-rw-r--r-- 2 root root 1641 03-09 11:12 RELEASE-NOTES-fr.html
-rw-r--r-- 2 root root 766 03-09 11:12 RELEASE-NOTES-ja
-rw-r--r-- 2 root root 1565 03-09 11:12 RELEASE-NOTES-ja.html
-rw-r--r-- 2 root root 706 03-09 11:12 RELEASE-NOTES-nl
-rw-r--r-- 2 root root 1433 03-09 11:12 RELEASE-NOTES-nl.html
-rw-r--r-- 2 root root 752 03-09 11:12 RELEASE-NOTES-pt_BR
-rw-r--r-- 2 root root 1480 03-09 11:12 RELEASE-NOTES-pt_BR.html
-rw-r--r-- 2 root root 801 03-09 11:12 RELEASE-NOTES-ro
-rw-r--r-- 2 root root 1473 03-09 11:12 RELEASE-NOTES-ro.html
drwxr-xr-x 2 root root 2048 03-21 22:35 repodata
-rw-r--r-- 7 root root 1512 2008-06-15 RPM-GPG-KEY-beta
-rw-r--r-- 2 root root 1504 2008-06-15 RPM-GPG-KEY-CentOS-5
-r--r--r-- 1 root root 7048 03-21 23:05 TRANS.TBL
-rw-r--r-- 2 root root 413 03-21 23:04 .treeinfo
这些文件中,有需要的仅仅是显示结果中标红的文件或者目录,其余可以全部删除,顺便说一下,在CentOS这个目录下存放的是rpm包,在此处操作时,CentOS这个目录下所有的内容删除(CentOS这个目录保留,之后有用)。
删除一些不必要的文件之后,再ls -al一下,看看/rice/目录的结构:
#ls -al
drwxr-xr-x 2 ossec ossec 155648 09-03 01:44 CentOS
-rw-r--r-- 1 root root 112 03-21 23:05 .discinfo
drwxr-xr-x 4 root root 4096 03-21 23:04 images
drwxr-xr-x 2 root root 4096 09-03 19:51 isolinux
drwxr-xr-x 2 root root 4096 09-03 19:47 repodata
-rw-r--r-- 1 root root 1318 2009-09-04 TRANS.TBL
-rw-r--r-- 1 root root 413 03-21 23:04 .treeinfo
文件这样看起来就舒服多了。
在CentOS系统安装完成之后,会将所有rpm包的安装信息记录在/root/目录下的install.log文件中,我们可以将这个文件输出为我们想要的格式,在通过一些脚本,将需要的rpm包复制到/rice/CentOS/目录下。
#cd /root/
#cat install.log | grep Installing | sed s/Installing //g|sed s/^[0-9]+://g > packages.list //生成packages.list,以便之后复制rpm包。
创建自动提取相关rpm脚本:
#vi cprpms.sh
#!/bin/bash
DEBUG=0
LT_CD=/mnt/cdrom
ALL_RPMS_DIR=/mnt/cdrom/CentOS #挂载光盘存放的目录
LT_RPMS_DIR=/rice/CentOS #存放RPM包的目录
packages_list=/root/packages.list
number_of_packages=`cat $packages_list | wc -l`
i=1
while [ $i -le $number_of_packages ] ; do
line=`head -n $i $packages_list | tail -n -1`
name=`echo $line | awk {print $1}`
version=`echo $line | awk {print $3} | cut -f 2 -d :`
if [ $DEBUG -eq "1" ] ; then
echo $i: $line
echo $name
echo $version
fi
if [ $DEBUG -eq "1" ] ; then
ls $ALL_RPMS_DIR/$name-$version*
if [ $? -ne 0 ] ; then
echo "cp $ALL_RPMS_DIR/$name-$version* "
fi
else
echo "cp $ALL_RPMS_DIR/$name-$version* $LT_RPMS_DIR/"
cp $ALL_RPMS_DIR/$name-$version* $LT_RPMS_DIR/
# in case the copy failed
if [ $? -ne 0 ] ; then
echo "cp $ALL_RPMS_DIR/$name-$version* "
cp $ALL_RPMS_DIR/$name* $LT_RPMS_DIR/
fi
fi
i=`expr $i + 1`
done
执行以上脚本将定制ltos必要的rpm
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能