Tiny CentOS 5.5 64 bit (x86 64)

From WBITT's Cooker!

Jump to: navigation, search

I have been thinking to do this for a long time. Finally, yesterday, I got it done. The idea is to have an absolute minimum number of packages. The driving force behind this thought is the latest RedHat Virtualization solution, RHEV, or, RedHat Enterprise Virtualization. RHEV is a slim/cut down version of RHEL 6, working as a KVM Hypervisor, with a very small install foot-print. I noticed that it is a similar concept as Citrix XEN Server. So, I wanted to see, if I can be successful in creating a similar product, based on CentOS. Notice that the procedure explained below DOES NOT contain libvirt, as yet. This is only because I was first interested in creating as small a collection of files as possible. Since I have included yum in it, I (and you) can add any other RPM based package to it. In coming days however, I will release a (so called) hypervisor version, InshaAllah (God Willing).

You will notice that the list of files and the total size is less than what is available in the "@core" group, in any RHEL/CENTOS distribution CD. I came up with a very small list, starting with kernel, and kept trying to install the related RPMS in a temporary directory, until all dependencies got resolved. When I completed the basic, I added ssh-server, wget and yum to it. That would essentially make it a working server installation/distribution. Anything else can be added through "yum". The packages size is 99 MB in total. And only 104 files.

Note that I (generated and) tested this on a KVM based VM. This list does not include kernel-xen.

I used the following two line script to test install the RPMs.

[root@vm2 centos-micro]# cat testrun.sh 
#!/bin/bash
rpm --initdb --dbpath /data/RPMtest/ 
rpm --test --dbpath /data/RPMtest/ -ivh *.rpm

[root@vm2 centos-micro]# 

Here are the basic stats:

Total packages:

[root@vm2 centos-micro]# ls -1 | grep -v testrun.sh | wc -l
104
[root@vm2 centos-micro]#>

Un-installed size of all RPMs in this directory:

[root@vm2 centos-micro]# du -sh .
99M     .
[root@vm2 centos-micro]# 

Includes ssh-server, wget and yum:

[root@vm2 centos-micro]# ls -1 | sort
audit-libs-1.7.17-3.el5.x86_64.rpm
basesystem-8.0-5.1.1.el5.centos.noarch.rpm
bash-3.2-24.el5.x86_64.rpm
binutils-2.17.50.0.6-14.el5.x86_64.rpm
bzip2-libs-1.0.3-4.el5_2.x86_64.rpm
centos-release-5-5.el5.centos.x86_64.rpm
centos-release-notes-5.5-0.x86_64.rpm
chkconfig-1.3.30.2-2.el5.x86_64.rpm
coreutils-5.97-23.el5_4.2.x86_64.rpm
cpio-2.6-23.el5_4.1.x86_64.rpm
cracklib-2.8.9-3.3.x86_64.rpm
cracklib-dicts-2.8.9-3.3.x86_64.rpm
crontabs-1.10-8.noarch.rpm
db4-4.3.29-10.el5.x86_64.rpm
device-mapper-1.02.39-1.el5.x86_64.rpm
device-mapper-event-1.02.39-1.el5.x86_64.rpm
device-mapper-multipath-0.4.7-34.el5.x86_64.rpm
dmraid-1.0.0.rc13-63.el5.x86_64.rpm
dmraid-events-1.0.0.rc13-63.el5.x86_64.rpm
e2fsprogs-1.39-23.el5.x86_64.rpm
e2fsprogs-libs-1.39-23.el5.x86_64.rpm
elfutils-libelf-0.137-3.el5.x86_64.rpm
ethtool-6-4.el5.x86_64.rpm
expat-1.95.8-8.3.el5_4.2.x86_64.rpm
filesystem-2.4.0-3.el5.x86_64.rpm
findutils-4.2.27-6.el5.x86_64.rpm
fipscheck-1.2.0-1.el5.x86_64.rpm
fipscheck-lib-1.2.0-1.el5.x86_64.rpm
gawk-3.1.5-14.el5.x86_64.rpm
gdbm-1.8.0-26.2.1.x86_64.rpm
glib2-2.12.3-4.el5_3.1.x86_64.rpm
glibc-2.5-49.x86_64.rpm
glibc-common-2.5-49.x86_64.rpm
grep-2.5.1-55.el5.x86_64.rpm
gzip-1.3.5-11.el5.centos.1.x86_64.rpm
hmaccalc-0.9.6-3.el5.x86_64.rpm
info-4.8-14.el5.x86_64.rpm
initscripts-8.45.30-2.el5.centos.x86_64.rpm
iproute-2.6.18-11.el5.x86_64.rpm
iputils-20020927-46.el5.x86_64.rpm
kernel-2.6.18-194.el5.x86_64.rpm
keyutils-libs-1.2-1.el5.x86_64.rpm
kpartx-0.4.7-34.el5.x86_64.rpm
krb5-libs-1.6.1-36.el5_4.1.x86_64.rpm
less-436-2.el5.x86_64.rpm
libacl-2.2.39-6.el5.x86_64.rpm
libattr-2.4.32-1.1.x86_64.rpm
libcap-1.10-26.x86_64.rpm
libgcc-4.1.2-48.el5.x86_64.rpm
libselinux-1.33.4-5.5.el5.x86_64.rpm
libsepol-1.15.2-3.el5.x86_64.rpm
libstdc++-4.1.2-48.el5.x86_64.rpm
libsysfs-2.0.0-6.x86_64.rpm
libtermcap-2.0.8-46.1.x86_64.rpm
libxml2-2.6.26-2.1.2.8.x86_64.rpm
logrotate-3.7.4-9.x86_64.rpm
lvm2-2.02.56-8.el5.x86_64.rpm
m2crypto-0.16-6.el5.6.x86_64.rpm
MAKEDEV-3.23-1.2.x86_64.rpm
mcstrans-0.2.11-3.el5.x86_64.rpm
mingetty-1.07-5.2.2.x86_64.rpm
mkinitrd-5.1.19.6-61.x86_64.rpm
mktemp-1.5-23.2.2.x86_64.rpm
module-init-tools-3.3-0.pre3.1.60.el5.x86_64.rpm
nash-5.1.19.6-61.x86_64.rpm
ncurses-5.5-24.20060715.x86_64.rpm
net-tools-1.60-81.el5.x86_64.rpm
nspr-4.7.6-1.el5_4.x86_64.rpm
nss-3.12.3.99.3-1.el5.centos.2.x86_64.rpm
openssh-4.3p2-41.el5.x86_64.rpm
openssh-server-4.3p2-41.el5.x86_64.rpm
openssl-0.9.8e-12.el5_4.6.x86_64.rpm
pam-0.99.6.2-6.el5_4.1.x86_64.rpm
pcre-6.6-2.el5_1.7.x86_64.rpm
popt-1.10.2.3-18.el5.x86_64.rpm
procps-3.2.7-16.el5.x86_64.rpm
psmisc-22.2-7.x86_64.rpm
python-2.4.3-27.el5.x86_64.rpm
python-elementtree-1.2.6-5.x86_64.rpm
python-iniparse-0.2.3-4.el5.noarch.rpm
python-sqlite-1.1.7-1.2.1.x86_64.rpm
python-urlgrabber-3.1.0-5.el5.noarch.rpm
readline-5.1-3.el5.x86_64.rpm
rpm-4.4.2.3-18.el5.x86_64.rpm
rpm-libs-4.4.2.3-18.el5.x86_64.rpm
rpm-python-4.4.2.3-18.el5.x86_64.rpm
sed-4.1.5-5.fc6.x86_64.rpm
setup-2.5.58-7.el5.noarch.rpm
sgpio-1.2.0_10-2.el5.x86_64.rpm
shadow-utils-4.0.17-15.el5.x86_64.rpm
sqlite-3.3.6-5.x86_64.rpm
sysklogd-1.4.1-46.el5.x86_64.rpm
SysVinit-2.86-15.el5.x86_64.rpm
tar-1.15.1-30.el5.x86_64.rpm
tcp_wrappers-7.6-40.7.el5.x86_64.rpm
termcap-5.5-1.20060701.1.noarch.rpm
testrun.sh
tzdata-2010e-1.el5.noarch.rpm
udev-095-14.21.el5.x86_64.rpm
util-linux-2.13-0.52.el5_4.1.x86_64.rpm
wget-1.11.4-2.el5_4.1.x86_64.rpm
yum-3.2.22-26.el5.centos.noarch.rpm
yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm
yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
zlib-1.2.3-3.x86_64.rpm
[root@vm2 centos-micro]#
Personal tools