Both Debian and Ubuntu end up with 500 Mb to 750 Mb in their "minimal" installations, even after starting with the "netinstall" iso or "business card" iso and no optional packages installed later on in the installation process. The Debian "netinstall" is a 180 Mb download, and the "biz card" iso is 50 Mb.
My question:
is this a typical size for a minimal server install?
In other, more contemporary words:
MINIMAL, Y U SO BIG?
Are there any other options/variants (primarily Debian) for keeping things as lean as possible without having to go the route of customizing one's own bare bones Debian install?
Thnx in advance.
Well, if you were to compile from nothing but source code and a cross compiler... the full kernel and API (libraries+headers), glibc, coreutils, gcc/binutils and a few necessary tools, you would typically be left with about a 600MB or so distro. Add to that your distro's choice of package management and default utilities you can see where your disk utilization is coming from. Micro/gutted distributions typically rip out all lib/binary debugging symbols and compile a smaller libc (such as dietlibc). They may also omit a full compile environment which sucks up a significant amount of disk space.
It is possible to compile a fully bootable x86 linux operating system in about 6MB of disk space. Make some further modifications and you can cram it in just a few hundred K of embedded flash. Take a look at tinycore/ucore linux. It is built off of fltk and I believe dietlibc (8MB with X, 6MB without).
That is a typical install size. However if you're looking for something with a very small footprint you could try:
In terms of storage available even on embedded systems, < 1 GB is hardly "big" any more. An AWS EC2 m1.small instance includes 160 GB storage -- that's more than enough for virtually any server instance you could imagine (few current configurations use more than ~10 GB, and I've yet to see one requiring > 20GB for a base installation).
You seem to think rolling a minimal install is some painful process. It really isn't. Do a minimal base installation. Add only the packages you need. It may take a few days for your system to stabilize (in the sense that you're no longer adding packages), but you'll end up with a lean build. That just works.
If you'll look under various system directories, you'll find that a number of things contribute to size. Kernel and modules (build your own statically compiled kernel), internationalization, documentation, and package repos will account for a lot. There are tools (deborphan, localepurge, etc.)
There are builds which are specifically designed for very small form factors, utilizing mudebs and the like. If you have an interest in these, explore on your own.
If you're specifically interested in reducing the size of a Debian installation, you could follow the suggestions of the ReduceDebian wiki page: http://wiki.debian.org/ReduceDebian
If you uncheck the "standard system tools" option during a debian squeeze install, it takes 380MB and installs the following 152 packages
That saves about 150MB of space by skipping the following 110 packages.
You can try DSL, also known as Damn Small Linux. It's available Here.
During installation of Debian you can unselect the "Base System" task and have an extremely minimal system of only around 200MiB. Doing this wont have a lot of the commonly expected packages installed.
Alternatively there is Emdebian, which can be installed in less than 32MiB.
I can't speak to ubuntu but a redhat install deselecting everything yields about 850-900 MB. Doing a kickstart install and selecting ONLY the @Base package group yields around 700MB and choosing not to install @Base drops it even further. So just less than a gig seems pretty standard for a minimal install across the board. Keep in mind that you can customize it even further and remove bluetooth and other packages to slim it down. They are typically installed so the widest audience can get what they need out of the box. Unfortunately I have no use for qlogic drivers on my laptop, but that lets me remove even more packages. Here's what I remove from a standard RHEL 5 server install: (sorry for the formatting....