I have a list of software that I use regularly, and recommend as a consequence. It comes as a slight surprise though, to realize how little is truly required to make a functional, useful system.
Take, for example, the bought-for-scrap Pentium that was promoted to file server and torrent slave a week ago. The kernel I built for it is quite possibly the sparsest I’ve ever built — no USB, no sound, not even generalized support for hard drives.
On top of that, here’s the full and complete list of packages I have installed in Crux 2.6.
autoconf automake bash bc bin86 bindutils binutils bison bzip2 coreutils cpio curl db dcron dhcpcd diffutils e2fsprogs ed elinks exim file filesystem findutils flex gawk |
gcc gdbm gettext glib glibc grep groff grub gzip htop httpup iana-etc inetutils iproute2 iptables iputils kbd less libarchive libattr libcap libdevmapper libgmp libmpfr libpcre |
libsigc++ libstdc++-compat libtool libtorrent m4 make man man-pages mc mlocate module-init-tools nasm ncdu ncurses net-tools nfs-utils ntp openssh openssl patch pciutils perl pkg-config pkgutils portmap |
ports procps prt-get prt-utils psmisc rc readline rsync rtorrent screen-vs sed shadow sudo sysfsutils sysklogd sysvinit tar tcp_wrappers time traceroute udev unzip util-linux-ng vim wget |
which wireless-tools xz zip zlib |
The total space required for the system is around 1.2Gb, which means a whopping 118+ Gb are available for ISOs, file transfers, music and so forth.
More than half of that 1.2Gb is in the kernel source tree. Another 300Mb is in the ports folder, as source and compiled software packages.
So the actual software and system footprint is considerably smaller, although that’s rather hefty for a server system. If I were to throw out the kernel source and clean the ports tree of giant source packages (like gcc π ), I could probably fit it in a slimmer partition.
Point of all this is, it’s an underpowered throwaway machine that almost no one would want, and what it requires — in terms of money, energy, software or even hard drive space — to be a fully functional, critical member of the family … is almost nothing.
Hey, how would you go about doing a minimal install of arch on a netbook? I mean, what do you think can be left out from the base/-devel and what must stay there?
Excuse my newbcakeness π
tomas
No need to apologize, tomas. Being new is not a sin. π
For my own part, I always omit cryptsetup, dash, dcron, device-mapper, jfsutils, licenses, logrotate, lvm2, mailx, mdadm, ppp, reiserfsprogs, rp-pppoe, texinfo, wpa-supplicant, and xfsprogs. I always add in base-devel and nfs-utils, openssh, sudo and wireless-tools.
Aside from that, I can run a wired, e2fs-only system on what’s there, plus or minus any firmware that’s required.
The funny thing about Arch is though, I know for a fact that a few of those will get installed anyway, as dependencies for either other core setup programs, or further on up the road, when I install software I like.
So really, only about three or four of those might not actually get installed. Some will get drawn in anyway. π
Forgot to put my own suggestions in here — on a netbook, I don’t install man-db or the man pages. In addition to the list you provided, K.Mandla. π
I’m curious as to why you would leave out dash, though — it’s slightly more lightweight and works fine as a system-script shell. Or whatever the term for it is.
Since you’re compiling so much anyway, why not make it a uClibc-based system? Possibly see what you can get to compile with tcc (Tiny C Compiler) too, while you’re at it?
Thanks for the listing. I have been taking a look at my own list for a while, and never got under 3 Gb.
Don’t get me wrong but, isn’t still 1Gb a little too much space for a lightweight example?
I mean no disrespect (quite the opposite actually), but, after getting in contact with DSL, and some other Live-Light-Distros, I have the feeling there must be something we can do to lower that down anyhow.
Well, again, the reason it rides at 1.2Gb is because the kernel source folder, after compilation, takes up about 650Mb. Add to that another 300Mb for my ports folder, and the system — the actual system itself — takes up a measly 400Mb or so.
It’s not that bad. Like I said, if I were to clean out those folders it would be much, much smaller.
Sorry for the misunderstanding of the actual post. Being a newbie, I didn’t know that the kernel source tree could be deleted. Now that I know, I’ll get back to the basics, and see what I can do with my 3Gb Installation.
Thank you for maintaining such an inspiring blog(I guess my real-life commitments will not be that happy π ).
Sorry to bother you with replies to old posts, but I just couldn’t get this one out of my mind.
Linux and No TV and no beer make Homer go crazy
Linux and No TV and no beer make Homer go crazy…
So I got a test machine and will soon start testing minimum installations by myself.
Thing is, I remember my first computer (Pentium, 200Mhz 16Mb RAM, R.I.P) used just a 500 Mb HDD, and I got Win95 on it. Either I am remembering it wrong(quite possible after 15 years), or there must be a way for linux to be that small, that fast, and much more useful!
Now, based on this post and some others, I understand you would recommend me trying Crux but, are there any other distros to be really taken into account, if my goal is to have a Desktop environment (running X, if possible) that fits in an old, 2Gb hard drive? LFS, Tiny core, Puppy…all of them seem to be close, but not there.
I know this sounds like hardcore-lightweighting, but still… any suggestion would be very much appreciated.
…as God is my witness, I’m never going to be over 1Gb again!…
PS: I’ll try to document my way to this achievement(if I get it done anyhow) on a blog, and would want to have your permission to mention your work at this blog. Deal?
I enjoyed the little Scarlett O’Hara moment there. And of course, you can link back here if you like. You’re more than welcome. π
Pingback: No two are alike « Motho ke motho ka botho
Pingback: gcc the pig « Motho ke motho ka botho
Pingback: Back to Debian, at 133Mhz and 32Mb « Motho ke motho ka botho