LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions
User Name
Password
Linux - Distributions This forum is for Distribution specific questions.
Red Hat, Slackware, Debian, Novell, LFS, Mandriva, Ubuntu, Fedora - the list goes on and on... Note: An (*) indicates there is no official participation from that distribution here at LQ.

Notices


Reply
  Search this Thread
Old 06-18-2011, 11:22 AM   #16
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600

Quote:
Originally Posted by vzxen View Post
Here is the RPMS list
Focusing solely on the ruthless liposuction for a headless server aspect one approach may be to start by listing what groups contain packages (/usr/share/doc/rpm-.*/GROUPS) as it doesn't need Xorg, DE, WM, development or related tools and libraries. Example: 'rpm -q -g 'User Interface/X';'. *Note there's also lucky shots: if you 'yum remove pango' it will take a lot of dependencies with it. An even less intelligible approach could be to list installed packages by size ('rpm -qa --qf="%{size} %{name}\n"|sort -ngr;') and just snipe the largest ones you think you can do without (you'll find out ;-p). Re-list packages again and pick off everything else you don't need like IPv6 support ('rpm -qa|grep -i ipv6'), Trousers (TPM), etc, etc. Since this is a trial and error thing and will cause major breakage virtualization will come in handy as restoring state is cheaper than time taken up getting way too familiar with Anaconda.
 
Old 06-19-2011, 12:57 AM   #17
vzxen
Member
 
Registered: Jul 2010
Posts: 126

Original Poster
Rep: Reputation: 4
Hi,

I am using a VMPlayer based system
I removed Pango and it removes ecryptfs-utils.
Are they useful ?

Also should I remove setup RPM ?
 
Old 06-19-2011, 04:45 AM   #18
acid_kewpie
Moderator
 
Registered: Jun 2001
Location: UK
Distribution: Gentoo, RHEL, Fedora, Centos
Posts: 43,417

Rep: Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985
well everything is useful if you need the functionality that it provides... I'm sure you can do your own research of what the packages are... "rpm -qi <packagename>" for a start.
 
Old 06-19-2011, 01:11 PM   #19
vzxen
Member
 
Registered: Jul 2010
Posts: 126

Original Poster
Rep: Reputation: 4
Hi,

Thanks for your help and i am researching on packages that I didnt find useful by their names.
I will post an update once I know which packages I finalised to remove to run a LAMP box.
 
Old 06-20-2011, 03:39 AM   #20
vzxen
Member
 
Registered: Jul 2010
Posts: 126

Original Poster
Rep: Reputation: 4
Hi,

Is it ok to remove :
groff - I couldnt really understand what it is
redhat-logos - I guess this is safe to remove.
 
Old 06-20-2011, 08:00 AM   #21
vzxen
Member
 
Registered: Jul 2010
Posts: 126

Original Poster
Rep: Reputation: 4
Hi,

Sorry for triple posting, but the following is a list of RPMs I am removing :
Code:
rpm -e --nodeps redhat-logos
rpm -e --nodeps zlib.i386
rpm -e --nodeps zlib-devel.x86_64
rpm -e --nodeps zip.x86_64
rpm -e --nodeps yum-updatesd.noarch
rpm -e --nodeps xorg-x11-filesystem.noarch
rpm -e --nodeps vim-enhanced.x86_64
rpm -e --nodeps vim-common.x86_64
rpm -e --nodeps udftools.x86_64
rpm -e --nodeps trousers.x86_64
rpm -e --nodeps trousers.i386
rpm -e --nodeps traceroute.x86_64
rpm -e --nodeps tmpwatch.x86_64
rpm -e --nodeps time.x86_64
rpm -e --nodeps telnet.x86_64
rpm -e --nodeps tcpdump.x86_64
rpm -e --nodeps tcp_wrappers.i386
rpm -e --nodeps tcl.x86_64
rpm -e --nodeps system-config-securitylevel-tui.x86_64
rpm -e --nodeps sysfsutils.x86_64
rpm -e --nodeps specspo.noarch
rpm -e --nodeps setuptool.x86_64
rpm -e --nodeps setserial.x86_64
rpm -e --nodeps setools.x86_64
rpm -e --nodeps selinux-policy.noarch
rpm -e --nodeps selinux-policy-targeted.noarch
rpm -e --nodeps rootfiles.noarch
rpm -e --nodeps redhat-lsb.x86_64
rpm -e --nodeps redhat-lsb.i386
rpm -e --nodeps readline.i386
rpm -e --nodeps quota.x86_64
rpm -e --nodeps pygobject2.x86_64
rpm -e --nodeps psacct.x86_64
rpm -e --nodeps procmail.x86_64
rpm -e --nodeps prelink.x86_64
rpm -e --nodeps policycoreutils.x86_64
rpm -e --nodeps pm-utils.x86_64
rpm -e --nodeps pkgconfig.x86_64
rpm -e --nodeps pciutils.x86_64
rpm -e --nodeps pax.x86_64
rpm -e --nodeps patch.x86_64
rpm -e --nodeps parted.x86_64
rpm -e --nodeps parted.i386
rpm -e --nodeps pango.x86_64
rpm -e --nodeps pango.i386
rpm -e --nodeps pam_krb5.x86_64
rpm -e --nodeps pam_krb5.i386
rpm -e --nodeps pam.i386
rpm -e --nodeps openssl.i686
rpm -e --nodeps ntsysv.x86_64
rpm -e --nodeps nss.i386
rpm -e --nodeps nspr.i386
rpm -e --nodeps mlocate.x86_64
rpm -e --nodeps mkinitrd.i386
rpm -e --nodeps mgetty.x86_64
rpm -e --nodeps man-pages.noarch
rpm -e --nodeps make.x86_64
rpm -e --nodeps mailcap.noarch
rpm -e --nodeps m4.x86_64
rpm -e --nodeps lsof.x86_64
rpm -e --nodeps libxml2-python.x86_64
rpm -e --nodeps libvolume_id.x86_64
rpm -e --nodeps libutempter.i386
rpm -e --nodeps libusb.x86_64
rpm -e --nodeps libtiff.x86_64
rpm -e --nodeps libtiff.i386
rpm -e --nodeps libtermcap.i386
rpm -e --nodeps libsysfs.i386
rpm -e --nodeps libsysfs-devel.x86_64
rpm -e --nodeps libstdc++.i386
rpm -e --nodeps libstdc++-devel.x86_64
rpm -e --nodeps libsepol.i386
rpm -e --nodeps libsemanage.x86_64
rpm -e --nodeps libselinux.i386
rpm -e --nodeps libselinux-utils.x86_64
rpm -e --nodeps libselinux-python.x86_64
rpm -e --nodeps libpng.i386
rpm -e --nodeps libjpeg.i386
rpm -e --nodeps libhugetlbfs.x86_64
rpm -e --nodeps libhugetlbfs.i386
rpm -e --nodeps libgpg-error.x86_64
rpm -e --nodeps libgpg-error.i386
rpm -e --nodeps libgomp.x86_64
rpm -e --nodeps libgcrypt.x86_64
rpm -e --nodeps libgcrypt.i386
rpm -e --nodeps libgcc.i386
rpm -e --nodeps libXrender.x86_64
rpm -e --nodeps libXrender.i386
rpm -e --nodeps libXrandr.x86_64
rpm -e --nodeps libXrandr.i386
rpm -e --nodeps libXinerama.x86_64
rpm -e --nodeps libXinerama.i386
rpm -e --nodeps libXi.x86_64
rpm -e --nodeps libXi.i386
rpm -e --nodeps libXft.x86_64
rpm -e --nodeps libXft.i386
rpm -e --nodeps libXfixes.x86_64
rpm -e --nodeps libXfixes.i386
rpm -e --nodeps libXext.x86_64
rpm -e --nodeps libXext.i386
rpm -e --nodeps libXdmcp.x86_64
rpm -e --nodeps libXdmcp.i386
rpm -e --nodeps libXcursor.x86_64
rpm -e --nodeps libXcursor.i386
rpm -e --nodeps libXau.x86_64
rpm -e --nodeps libXau.i386
rpm -e --nodeps libX11.x86_64
rpm -e --nodeps libX11.i386
rpm -e --nodeps kudzu.x86_64
rpm -e --nodeps krb5-workstation.x86_64
rpm -e --nodeps krb5-libs.i386
rpm -e --nodeps keyutils.x86_64
rpm -e --nodeps keyutils-libs.i386
rpm -e --nodeps kernel-headers.x86_64
rpm -e --nodeps kbd.x86_64
rpm -e --nodeps irqbalance.x86_64
rpm -e --nodeps iptables-ipv6.x86_64
rpm -e --nodeps imake.x86_64
rpm -e --nodeps hwdata.noarch
rpm -e --nodeps hicolor-icon-theme.noarch
rpm -e --nodeps hesiod.x86_64
rpm -e --nodeps hdparm.x86_64
rpm -e --nodeps gtk2.x86_64
rpm -e --nodeps gtk2.i386
rpm -e --nodeps gpm.x86_64
rpm -e --nodeps gnutls.x86_64
rpm -e --nodeps gnutls.i386
rpm -e --nodeps glibc.i686
rpm -e --nodeps glibc-headers.x86_64
rpm -e --nodeps glibc-devel.x86_64
rpm -e --nodeps gettext.x86_64
rpm -e --nodeps gcc.x86_64
rpm -e --nodeps gcc-c++.x86_64
rpm -e --nodeps gamin.x86_64
rpm -e --nodeps gamin-python.x86_64
rpm -e --nodeps ftp.x86_64
rpm -e --nodeps freetype.x86_64
rpm -e --nodeps freetype.i386
rpm -e --nodeps freetype-devel.x86_64
rpm -e --nodeps freetype-devel.i386
rpm -e --nodeps fontconfig.x86_64
rpm -e --nodeps fontconfig.i386
rpm -e --nodeps expat.i386
rpm -e --nodeps esound.x86_64
rpm -e --nodeps esound.i386
rpm -e --nodeps ed.x86_64
rpm -e --nodeps ecryptfs-utils.x86_64
rpm -e --nodeps ecryptfs-utils.i386
rpm -e --nodeps e2fsprogs-libs.i386
rpm -e --nodeps dmidecode.x86_64
rpm -e --nodeps directfb.i386
rpm -e --nodeps dhcpv6-client.x86_64
rpm -e --nodeps device-mapper.i386
rpm -e --nodeps dbus.x86_64
rpm -e --nodeps dbus-python.x86_64
rpm -e --nodeps dbus-libs.x86_64
rpm -e --nodeps dbus-glib.x86_64
rpm -e --nodeps cyrus-sasl.x86_64
rpm -e --nodeps cyrus-sasl-plain.x86_64
rpm -e --nodeps cyrus-sasl-plain.i386
rpm -e --nodeps cups-libs.x86_64
rpm -e --nodeps cups-libs.i386
rpm -e --nodeps cryptsetup-luks.x86_64
rpm -e --nodeps cracklib.i386
rpm -e --nodeps cpp.x86_64
rpm -e --nodeps checkpolicy.x86_64
rpm -e --nodeps cairo.x86_64
rpm -e --nodeps cairo.i386
rpm -e --nodeps bitstream-vera-fonts.noarch
rpm -e --nodeps bind-utils.x86_64
rpm -e --nodeps bc.x86_64
rpm -e --nodeps automake.noarch
rpm -e --nodeps autoconf.noarch
rpm -e --nodeps audit-libs.i386
rpm -e --nodeps audit-libs-python.x86_64
rpm -e --nodeps audiofile.x86_64
rpm -e --nodeps audiofile.i386
rpm -e --nodeps attr.x86_64
rpm -e --nodeps atk.x86_64
rpm -e --nodeps atk.i386
rpm -e --nodeps at.x86_64
rpm -e --nodeps apr.i386
rpm -e --nodeps anacron.x86_64
rpm -e --nodeps alsa-lib.x86_64
rpm -e --nodeps alsa-lib.i386
rpm -e --nodeps acl.x86_64
rpm -e --nodeps SDL.x86_64
rpm -e --nodeps SDL.i386
Please let me know if I am removing ANYTHING
which is very important !
 
Old 06-20-2011, 10:37 AM   #22
acid_kewpie
Moderator
 
Registered: Jun 2001
Location: UK
Distribution: Gentoo, RHEL, Fedora, Centos
Posts: 43,417

Rep: Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985
You're going about this wrong. you do NOT need to remove cairo as it should not be installed in the first place. You have 300 different web apps to run on this? Well it's YOU that needs to know if things work with or without these packages, not us, as we don't know anything about what it's going to be dong.

What a LAMP server does can vary massively, PHP can do all sorts of things, and ultimately I don't think you really understand the consequences of what you're doing. Why on earth would you ditch vim? zlib?

Whilst you want to reduce size, it is not easier to run a crippling basic system with no useful utilities.

Last edited by acid_kewpie; 06-20-2011 at 10:39 AM.
 
Old 06-20-2011, 04:51 PM   #23
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600
...and in addition to the above "are you sure you know what you are doing" kind of warning: 0) what's with the i386 PLUS x86_64? Is that a hedge or did you manage to pollute your machine with both? 1) You didn't even bother to try my "remove by group" suggestion so why should I bother to suggest you more? And finally if you think using "--nodeps" as a generic way to ward off dependency warnings you really shouldn't even bother doing a lipo as you WILL horribly break things...
 
Old 06-20-2011, 10:22 PM   #24
vzxen
Member
 
Registered: Jul 2010
Posts: 126

Original Poster
Rep: Reputation: 4
Hi,

I have tested the system and it looks to be fine.
> Why on earth would you ditch vim? zlib?
VIM is not required because VI is there
zlib.i386 is removed and not zlib.x86_64 (The system is a x86_64 BTW)

Also I removed the packages before installing Apache, PHP, MySQL.
When installing Apache, PHP, MySQL they reinstall the Dependencies they require.

Cairo was installed when I did a minimal install of CentOS with no GUI. Hence I removed it.
I will be testing all the Distro full time for a month before launching it.

@unSpawn I did try your method and it helped me quite alot.
The above is not yet final and if you say its wrong I will do it all over again.
> what's with the i386 PLUS x86_64?
Thats what I was thinking. Why does CentOS install both arch rpms for some of the packages.
e.g. OpenSSL had both i386 and x86_64 RPMs.
Is there a way to make a PURE x86_64 system only. I had used the Latest DVD of CentOS x86_64 5.6
 
Old 06-21-2011, 07:32 PM   #25
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600
Quote:
Originally Posted by vzxen View Post
@unSpawn I did try your method and it helped me quite alot. The above is not yet final and if you say its wrong I will do it all over again.
I vaguely remember installing Centos-5.5 in a compact matter so I tried it again with a VMware Server guest. Short account follows. Note I use CentOS-5.6-i386-netinstall.iso with text-based install and only selected "Base". Ensure you visit and deselect all other package groups and packages.

On i386 the list of packages to remove then is:
Code:
rpm -e udftools dump rmt nano tree lftp rsync ftp telnet mtr talk nc rsh finger htmlview pinfo dosfstools fbset rdate\
 rdist conman parted bluez-gnome mkbootdisk ecryptfs-utils bluez-utils irda-utils system-config-network-tui aspell\
 dos2unix aspell-en crash firstboot-tui gamin gamin-python yum-updatesd sos NetworkManager-glib NetworkManager\
 desktop-file-utils redhat-menus iptables-ipv6 wireless-tools numactl iptstate cpuspeed eject pam_smb pam_passwdqc\
 xorg-x11-filesystem anacron system-config-securitylevel-tui rhpl amtu GConf2 wpa_supplicant notification-daemon\
 libnotify dhcpv6-client ipsec-tools pam_ccreds pam_pkcs11 pam_krb5 ifd-egate pcmciautils ORBit2 gpm portmap ppp\
 ypbind nfs-utils rp-pppoe yp-tools coolkey libjpeg freetype libICE libSM libtiff cairo libXft pango fontconfig\
 gtk2 cups-libs startup-notification libwnck trousers pcsc-lite ccid oddjob oddjob-libs hicolor-icon-theme\
 bitstream-vera-fonts libX11 libXext libXrender libXfixes libXcursor libXrandr libXres libXi libXinerama
This should get things down to about 650M.

The list of packages to remove with "--nodeps" is:
Code:
rpm -e --nodeps pax bc time ed redhat-logos
Now run a first 'yum -y update' which brings the size back up to 700M after which you could run:
Code:
rpm -e words specspo kernel-2.6.18-238.el5
Finally I did some liposuction I'd really advice against:
Code:
doLipo() { cd "$1" || exit 1; find ./* -maxdepth 0 -type d | while read DIRNAME; do DIRNAME=$(basename "${DIRNAME}"); 
 case "${DIRNAME}" in "$2") continue;; *) tar -cjf "${DIRNAME}.tar.bz2" "${DIRNAME}" --remove-files && rm -rf "${DIRNAME}";; esac; done
 } # End of doLipo

doLipo /usr/share/zoneinfo posix
umask 0027; mkdir /usr/share/doc/fake; doLipo /usr/share/doc; rm -rf /usr/share/doc/fake
doLipo /usr/share/locale/ en_US
...bringing post-install size down to 645M.


Quote:
Originally Posted by vzxen View Post
> what's with the i386 PLUS x86_64?
Thats what I was thinking. Why does CentOS install both arch rpms for some of the packages. e.g. OpenSSL had both i386 and x86_64 RPMs. Is there a way to make a PURE x86_64 system only. I had used the Latest DVD of CentOS x86_64 5.6
Apparently this approach is how the North-American Upstream Vendor supports multiarch. The workarounds, unfortunately not usable at install time, comprise of editing /etc/yum.conf and adding the lines:
Code:
exactarch=1
exclude=*.i386 *.i586 *.i686
and always specifying the arch when installing or upgrading as in 'yum install foo.x86_64'.


In closing I would like to emphasize three "rules" that spell success: being the best, using resources well and keeping up with things. Being the best in this case could mean that the product you offer your customers or users fits their needs and maximizes your profits (if any) or at least minimizes the amount of support you must offer: there is a thin line between minimizing a base install and mutilating it beyond recognition. Using your resources well could mean that you let whatever you use work for you and not against you: if what RHEL slash Centos offers and stands for doesn't work for you do look at other distributions or OSes. Keeping up with things (efficiency, research, or words made hollow by ads like "innovation") for you, and I would strongly urge you to give it some thought, could mean revisiting your core ideas to ensure what you do will keep working for you as you expand and scale up. Fifty times a base install image is okay, three hundred is ridiculous but scaling up to one thousand times is ludicrous. At least look at other methods available to you like Kickstart (or P2P, CDN or whatever else: I don't know what env your customers are in?).

Good luck!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Smallest Possible SupremeBeing Linux - Distributions 6 03-24-2010 11:27 PM
What is the smallest PC in the world? frenchn00b General 9 10-22-2009 04:44 PM
Need smallest distro possible phantom_cyph Linux - Distributions 23 10-31-2008 06:34 AM
what is the smallest RH 8 or 9 install markkreuzz Red Hat 4 08-17-2004 07:17 AM
What is the smallest distro? MatMan5959 Linux - Distributions 16 08-15-2002 08:56 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions

All times are GMT -5. The time now is 01:58 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration