This is an experimental spec to create a minimalistic Ubuntu proper.
A lot of extra cruft goes into Ubuntu proper, including vim, tcpdump, telnet, and ed. Most users won't use these; and any scripts or programs requiring them should depend on them.
All uses of Ubuntu will benefit from a smaller install base.
- A typical Ubuntu install will not contain all the excess tools, and thus will be smaller.
- A "power user" can install an ubuntu-poweruser or ubuntu-cli-tools package to restore original behavior.
The scope of this spec excludes the following:
- Any applications visible to the user through the menu
- Any applications supplying a function of a visible application (i.e. bzip2 and tar let file-roller open .tar.bz2 files)
- POSIX tools
The following packages are proposed removed from the seed and relegated to ubuntu-powerusers:
aptitude 7.3M: Who uses this? We have synaptic and apt, only power users use this!
apt-utils 483K: More power user toys for apt.
dc 205K: POSIX specifies bc, we should only install dc if a .deb depends on it.
dnsutils 360K: More power user stuff
dselect 1.8M: Many users find dselect intimidating and why do we even have this? If something wants it it can depend on it.
ltrace 201K: Debugging tool.
nano 1.4M: nano-tiny uses 238K.
netcat 233K: I'm pretty sure this isn't necessary.
screen 999K: Power user tool! (We love it but..)
slocate 156K: More command line tools nobody is going to use unless they're a power user (and I still use pure find)
strace 250K: Debugging tool, like ltrace.
tcpdump 655K: Another toy like netcat.
time 147K: Useful for people testing out optimization hacks on code et al. Not useful on the desktop.
vim 1.4M: I love it. It's too big, no normal user uses it. Replace with nvi (631K) for visudo.
vim-common 582K: With vim.
vim-runtime 22M: With vim.
w3m 1.8M: A text-based browser. Ubuntu ships with firefox.
Partials that need splitting:
bsdutils 168K: Need to keep renice (POSIX) and logger (POSIX)
findutils 1.3M: Need to keep find (POSIX) and xargs (POSIX); locate and updatedb are from slocate and we can leave it at that.
ftp 156K: Not needed for POSIX, but what may it be for? I'm not sure if nautilus uses this (it uses ssh for ssh shares so I could see ftp use for ftp...).
info 332K: Is this even really used? Most apps don't HAVE an info page.
lftp 1.5M: Same question as with ftp; but this does a lot more so it's a bigger question.
lsof 369K: Anything use this?
mawk 229K: Can we pick ONE of this and gawk?
gawk 1.9M: Can we pick ONE of this and mawk?
mtr-tiny 102K: Do we need this?
rsync 483K: Useful, but do we use it?
telnet 184K: Uh... what is this used for?
Things we omitted and want to justify keeping:
cpio 528K: initramfs generation needs this.
dash 209K: Seriously? This should be root's shell, we might totally trash the system and need it.
As well, python should have been relegated to a meta-package like ubuntu-developer-python. It seems it's been removed from ubuntu-desktop but not relegated to a new package. Some packages still around include:
diveintopython 4.3M: A book. Nobody's reading this unless they're not a python programmer, and thus are mostly likely to NOT CARE. If they want to start, then it's there.
Together our certain packages and diveintopython total 44.2M. This should all be packaged on the CD, but omitted from the install base.
Data preservation and migration
- 44 megs isn't a lot. We need to eliminate much more to actually gain anything.
OpenOffice.org takes over 200MB! We must wait it out and hope it shrinks, unfortunately.
BoF agenda and discussion