Hi, just to avoid re-inventing the wheel, is there any document that can help me reduce even further a "minimum" installation of Centos 4.4 (BTW can you say 600mb is minimum)?
I am in the process of creating a small Centos-4.4-based Asterisk box and I need to boot it from a CF card. Deleting useless packages will help me do what i want. Example: even a minimum install of Centos 4.4 (or Redhat EL for what is worth) includes CUPS, among other things.
Any document hyperlink will be more than welcomed!!
The result will be posted to the link for others to use.
On Thu, 2006-09-28 at 01:36 -0500, Erick Perez wrote:
Hi, just to avoid re-inventing the wheel, is there any document that can help me reduce even further a "minimum" installation of Centos 4.4 (BTW can you say 600mb is minimum)?
Yes, isn't it insane?
I usually just start with:
rpm -qa --queryformat "%{SIZE}\t%{NAME}\n" | sort -nr | less
and then start in with:
rpm -e packagename
noting what dependencies each package wants to take with it, of course.
Then, when I reach a point of diminishing returns with that, I switch strategies:
cd / du -ak | sort -nr | less
And start hacking away at any obvious offenders. This breaks package integrity, of course, but on CF, you may not care.
And then, just on general principles, because I simply detest the wretched, bloaty thing, and all its associated detritus:
find / -name "*emacs*" | sort -nr | less
And then I call RMS at 2AM to tell him how much I despise it... but I fear I'm veering off topic. ;-)
-Steve
Erick Perez wrote:
Hi, just to avoid re-inventing the wheel, is there any document that can help me reduce even further a "minimum" installation of Centos 4.4 (BTW can you say 600mb is minimum)?
it is yes, the base minimum is what App and Solution vendors are then able to assume will be the minimum functional level of a machine, running CentOS.
I am in the process of creating a small Centos-4.4-based Asterisk box and I need to boot it from a CF card. Deleting useless packages will help me do what i want. Example: even a minimum install of Centos 4.4 (or Redhat EL for what is worth) includes CUPS, among other things.
it comes from the LSB compatibility specifications. cups is required as is a MTA and a bunch of other things.
if you really want to trim down, get yum going and rpm -qa, check what you dont want, then remove it.
- KB
On Thu, 2006-09-28 at 11:12 +0100, Karanbir Singh wrote:
Erick Perez wrote:
Hi, just to avoid re-inventing the wheel, is there any document that can help me reduce even further a "minimum" installation of Centos 4.4 (BTW can you say 600mb is minimum)?
it is yes, the base minimum is what App and Solution vendors are then able to assume will be the minimum functional level of a machine, running CentOS.
I am in the process of creating a small Centos-4.4-based Asterisk box and I need to boot it from a CF card. Deleting useless packages will help me do what i want. Example: even a minimum install of Centos 4.4 (or Redhat EL for what is worth) includes CUPS, among other things.
it comes from the LSB compatibility specifications. cups is required as is a MTA and a bunch of other things.
if you really want to trim down, get yum going and rpm -qa, check what you dont want, then remove it.
This might also help you ... it seems to produce the minimum workable install that meets all dependency requirements:
http://www.owlriver.com/tips/tiny-centos/
(you may have to modify it slightly for 4.4, but the concepts will work)
Any document hyperlink will be more than welcomed!!
http://www.owlriver.com/tips/tiny-centos/ You did google for this correct? Tiny Centos reveals first hit success.
The result will be posted to the link for others to use.
Assuming they look for it :-P
On Thu, 28 Sep 2006, Erick Perez wrote:
Hi, just to avoid re-inventing the wheel, is there any document that can help me reduce even further a "minimum" installation of Centos 4.4 (BTW can you say 600mb is minimum)?
This is my 'minimal base' that I start from. You could remove the lvm2 stuff as well. It will do an install of 163 packages and take about 540M of disk. About the only thing you will have is ssh and yum. For a card, you obviously want to change the disk layout.
Apply all the other comments to this one.
# Kickstart file automatically generated by anaconda.
install url --url <your url here> lang en_US.UTF-8 langsupport --default=en_US.UTF-8 en_US.UTF-8 keyboard us # xconfig --card "VMWare" --videoram 16384 --hsync 31.5-37.9 --vsync 50-70 --resolution 800x600 --depth 16 network --device eth0 --bootproto dhcp rootpw --iscrypted <your pw here> firewall --disabled selinux --disabled authconfig --enableshadow --enablemd5 timezone America/New_York bootloader --location=mbr # 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 --linux --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 / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1024 reboot skipx
%packages -nobase yum -acpid -authconfig -bc -checkpolicy -dmraid -policycoreutils -selinux-policy-targeted -libxslt -xmlsec1-openssl -xmlsec1 -nc -lsof
-apmd -aspell -aspell-en -autofs -bluez-bluefw -bluez-hcidump -bluez-libs -bluez-utils -crash -cups -cups-libs -dapl -desktop-file-utils -dhcpv6_client -diskdumputils -dos2unix -dosfstools -dump -eject -finger -fontconfig -freetype -ftp -gpm -groff -hdparm -htmlview -ibmasm -indexhtml -ipsec-tools -irda-utils -isdn4k-utils -jpackage-utils -jwhois -kernel-ib -kernel-smp -krb5-workstation -lftp -lha -libgssapi -libibverbs -libmthca -librdmacm -libsdp -libwvstreams -lksctp-tools -logrotate -logwatch -m4 -m4 -mailcap -mailx -man -man-pages -mdadm -minicom -mkbootdisk -mt -mtools -mtr -mt-st -nano -netconfig -netdump -net-snmp-libs -NetworkManager -nfs -nfs-utils-lib -nscd -nss_ldap -numactl -OpenIPMI -OpenIPMI-libs -pam_ccreds -pam_krb5 -pam_passwdqc -pam_smb -parted -patch -pax -pcmcia-cs -pdksh -pinfo -portmap -ppp -procmail -psacct -quota -rdate -rdist -redhat-lsb -redhat-menus -rhpl -rmt -rp-pppoe -rsh -rsync -sendmail -setarch -setools -slocate -specspo -stunnel -sudo -syslinux -sysreport -system-config-mouse -system-config-network-tui -system-config-securitylevel-tui -talk -tcpdump -tcsh -telnet -time -traceroute -unix2dos -up2date -vconfig -wget -which -wireless-tools -wvdial -xorg-x11-libs -xorg-x11-Mesa-libGL -ypbind -yp-tools
%post ------------------------------------------------------------------------ Jim Wildman, CISSP, RHCE jim@rossberry.com http://www.rossberry.com "Society in every state is a blessing, but Government, even in its best state, is a necessary evil; in its worst state, an intolerable one." Thomas Paine
Thanks to all for the references. Being the final goal a machine that *only* does asterisk,httpd(perl,php) and sshd, I will carefully select the packages and make sure only the minimum is there (no cups, no X, no ftp, etc. Let's see how it goes and i will report back. I will start today, hehe. It must fit a CF card and my boss told me that try to put it in a 128 mb CF card. anyway Let's see how it ends....
Cheers,
On 9/28/06, Jim Wildman jim@rossberry.com wrote:
On Thu, 28 Sep 2006, Erick Perez wrote:
Hi, just to avoid re-inventing the wheel, is there any document that can help me reduce even further a "minimum" installation of Centos 4.4 (BTW can you say 600mb is minimum)?
This is my 'minimal base' that I start from. You could remove the lvm2 stuff as well. It will do an install of 163 packages and take about 540M of disk. About the only thing you will have is ssh and yum. For a card, you obviously want to change the disk layout.
Apply all the other comments to this one.
# Kickstart file automatically generated by anaconda.
install url --url <your url here> lang en_US.UTF-8 langsupport --default=en_US.UTF-8 en_US.UTF-8 keyboard us # xconfig --card "VMWare" --videoram 16384 --hsync 31.5-37.9 --vsync 50-70 --resolution 800x600 --depth 16 network --device eth0 --bootproto dhcp rootpw --iscrypted <your pw here> firewall --disabled selinux --disabled authconfig --enableshadow --enablemd5 timezone America/New_York bootloader --location=mbr # 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 --linux --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 / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1024 reboot skipx
%packages -nobase yum -acpid -authconfig -bc -checkpolicy -dmraid -policycoreutils -selinux-policy-targeted -libxslt -xmlsec1-openssl -xmlsec1 -nc -lsof
-apmd -aspell -aspell-en -autofs -bluez-bluefw -bluez-hcidump -bluez-libs -bluez-utils -crash -cups -cups-libs -dapl -desktop-file-utils -dhcpv6_client -diskdumputils -dos2unix -dosfstools -dump -eject -finger -fontconfig -freetype -ftp -gpm -groff -hdparm -htmlview -ibmasm -indexhtml -ipsec-tools -irda-utils -isdn4k-utils -jpackage-utils -jwhois -kernel-ib -kernel-smp -krb5-workstation -lftp -lha -libgssapi -libibverbs -libmthca -librdmacm -libsdp -libwvstreams -lksctp-tools -logrotate -logwatch -m4 -m4 -mailcap -mailx -man -man-pages -mdadm -minicom -mkbootdisk -mt -mtools -mtr -mt-st -nano -netconfig -netdump -net-snmp-libs -NetworkManager -nfs -nfs-utils-lib -nscd -nss_ldap -numactl -OpenIPMI -OpenIPMI-libs -pam_ccreds -pam_krb5 -pam_passwdqc -pam_smb -parted -patch -pax -pcmcia-cs -pdksh -pinfo -portmap -ppp -procmail -psacct -quota -rdate -rdist -redhat-lsb -redhat-menus -rhpl -rmt -rp-pppoe -rsh -rsync -sendmail -setarch -setools -slocate -specspo -stunnel -sudo -syslinux -sysreport -system-config-mouse -system-config-network-tui -system-config-securitylevel-tui -talk -tcpdump -tcsh -telnet -time -traceroute -unix2dos -up2date -vconfig -wget -which -wireless-tools -wvdial -xorg-x11-libs -xorg-x11-Mesa-libGL -ypbind -yp-tools
%post
Jim Wildman, CISSP, RHCE jim@rossberry.com http://www.rossberry.com "Society in every state is a blessing, but Government, even in its best state, is a necessary evil; in its worst state, an intolerable one." Thomas Paine _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
On Thu, 28 Sep 2006 09:33:42 -0500 "Erick Perez" eaperezh@gmail.com wrote:
Thanks to all for the references. Being the final goal a machine that *only* does asterisk,httpd(perl,php) and sshd, I will carefully select the packages and make sure only the minimum is there (no cups, no X, no ftp, etc. Let's see how it goes and i will report back. I will start today, hehe. It must fit a CF card and my boss told me that try to put it in a 128 mb CF card. anyway Let's see how it ends....
Cheers,
Hi Erick, You may want to take a look at AstLinux (http://astlinux.org/) -- it's specifically designed to run Asterisk on an embedded machine and comes in well below 128mb. It may not be perfect for your needs (no perl in the base system, for example), but might be helpful.
-Gabe
On Thu, 2006-09-28 at 09:33 -0500, Erick Perez wrote:
Let's see how it goes and i will report back. I will start today, hehe. It must fit a CF card and my boss told me that try to put it in a 128 mb CF card. anyway Let's see how it ends....
Once you trim it to <128MB... is it really CentOS anymore?
Might you be better off starting with something like Damn Small Linux or DSL-N ( http://www.damnsmalllinux.org/ ) which are already close to what you want. A <128MB CentOS is not just trimming the fat. It's carving off the skin, fat, and muscle, and leaving just the skeleton. Though to get it that small, you might have to amputate a leg. ;-)
DSL is also designed to boot and run from usb sticks and such. In fact, that's its specialty.
-Steve
Steve Bergman wrote:
On Thu, 2006-09-28 at 09:33 -0500, Erick Perez wrote:
Let's see how it goes and i will report back. I will start today, hehe. It must fit a CF card and my boss told me that try to put it in a 128 mb CF card. anyway Let's see how it ends....
Once you trim it to <128MB... is it really CentOS anymore?
Might you be better off starting with something like Damn Small Linux or DSL-N ( http://www.damnsmalllinux.org/ ) which are already close to what you want. A <128MB CentOS is not just trimming the fat. It's carving off the skin, fat, and muscle, and leaving just the skeleton. Though to get it that small, you might have to amputate a leg. ;-)
Also, once you've got it stripped down to the point where you need it, you might be able to save even more space by punting a lot of the more common unix tools and installing busybox instead.
Given how cheap 1 and 2gb flash devices are these days, it shouldn't take a whole lot of effort to get a fully functional CentOS on a chip without a gastric bypass. :)
Cheers,
You can also remove a lot of stuff from /usr/share. You can't do it with rpm but rm will work :)
du -sh /usr/share/doc/ # 207M du -sh /usr/share/locale/ # 234M du -sh /usr/lib/locale/ # 102M
Of course, you can't remove stuff if you want to use it.
John.
Erick Perez wrote:
Thanks to all for the references. Being the final goal a machine that *only* does asterisk,httpd(perl,php) and sshd, I will carefully select the packages and make sure only the minimum is there (no cups, no X, no ftp, etc. Let's see how it goes and i will report back. I will start today, hehe. It must fit a CF card and my boss told me that try to put it in a 128 mb CF card. anyway Let's see how it ends....
Cheers,
On 9/28/06, Jim Wildman jim@rossberry.com wrote:
On Thu, 28 Sep 2006, Erick Perez wrote:
Hi, just to avoid re-inventing the wheel, is there any document that can help me reduce even further a "minimum" installation of Centos 4.4 (BTW can you say 600mb is minimum)?
This is my 'minimal base' that I start from. You could remove the lvm2 stuff as well. It will do an install of 163 packages and take about 540M of disk. About the only thing you will have is ssh and yum. For a card, you obviously want to change the disk layout.
Apply all the other comments to this one.
# Kickstart file automatically generated by anaconda.
install url --url <your url here> lang en_US.UTF-8 langsupport --default=en_US.UTF-8 en_US.UTF-8 keyboard us # xconfig --card "VMWare" --videoram 16384 --hsync 31.5-37.9 --vsync 50-70 --resolution 800x600 --depth 16 network --device eth0 --bootproto dhcp rootpw --iscrypted <your pw here> firewall --disabled selinux --disabled authconfig --enableshadow --enablemd5 timezone America/New_York bootloader --location=mbr # 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 --linux --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 / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1024 reboot skipx
%packages -nobase yum -acpid -authconfig -bc -checkpolicy -dmraid -policycoreutils -selinux-policy-targeted -libxslt -xmlsec1-openssl -xmlsec1 -nc -lsof
-apmd -aspell -aspell-en -autofs -bluez-bluefw -bluez-hcidump -bluez-libs -bluez-utils -crash -cups -cups-libs -dapl -desktop-file-utils -dhcpv6_client -diskdumputils -dos2unix -dosfstools -dump -eject -finger -fontconfig -freetype -ftp -gpm -groff -hdparm -htmlview -ibmasm -indexhtml -ipsec-tools -irda-utils -isdn4k-utils -jpackage-utils -jwhois -kernel-ib -kernel-smp -krb5-workstation -lftp -lha -libgssapi -libibverbs -libmthca -librdmacm -libsdp -libwvstreams -lksctp-tools -logrotate -logwatch -m4 -m4 -mailcap -mailx -man -man-pages -mdadm -minicom -mkbootdisk -mt -mtools -mtr -mt-st -nano -netconfig -netdump -net-snmp-libs -NetworkManager -nfs -nfs-utils-lib -nscd -nss_ldap -numactl -OpenIPMI -OpenIPMI-libs -pam_ccreds -pam_krb5 -pam_passwdqc -pam_smb -parted -patch -pax -pcmcia-cs -pdksh -pinfo -portmap -ppp -procmail -psacct -quota -rdate -rdist -redhat-lsb -redhat-menus -rhpl -rmt -rp-pppoe -rsh -rsync -sendmail -setarch -setools -slocate -specspo -stunnel -sudo -syslinux -sysreport -system-config-mouse -system-config-network-tui -system-config-securitylevel-tui -talk -tcpdump -tcsh -telnet -time -traceroute -unix2dos -up2date -vconfig -wget -which -wireless-tools -wvdial -xorg-x11-libs -xorg-x11-Mesa-libGL -ypbind -yp-tools
%post
Jim Wildman, CISSP, RHCE jim@rossberry.com http://www.rossberry.com "Society in every state is a blessing, but Government, even in its best state, is a necessary evil; in its worst state, an intolerable one." Thomas Paine _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos