Please do not use this until complete. This should probably be broken down into separate guides.
This document provides tips on minimalism. Possibly rework some of this into other documents. Just some notes at the moment to make starting this document easier.
Reclaiming disk space
Remove unwanted package caches
Removing unnecessary locales
Note: debsums will complain about this.
Removing unwanted junk from the system
Bleachbit allows the users to remove a variety of unwanted files from the system.
Removing references to systemd in the filesystem
Since we don't have systemd we can remove systemd service files wherever we find them. /etc/services? idk.. check.
Free up memory
Disabling unwanted daemons.
update-rc.d -f daemonname remove
or apt-get purge daemonname
Easy to do /etc/inittab
Possibly not recommended. Where is the upstream site ??? Try fgetty instead.
Cleaning up /tmp at boot
Somewhere in /etc is a config file for this.
Using your own iptables script
Always the best approach.
Using dropbear in place of openssh
Minimal, but openssh should be considered as more trustworthy.
Using a different shell
Using only the dash shell. This requires changing the login shell (chsh). Do not try to remove bash.
Aside from customizing the kernel to your specific system, there are a few ways we can simplify a kernel.
Disable OSS support
Use only ALSA kernel modules. Don't install any pulse or OSS stuffs in the system. OR..
Use only OSS, but I don't recommend it (outdated, perhaps proprietary, out of tree.. plus how TF do you even build it???).
Disable kernel module support
This should be considered for systems that do not require out of kernel modules such as the NVIDIA driver. If you require any packages to install drivers for you at all, then you should not consider this.
The smaller your kernel, the more likely you are to benefit from doing this. Full desktop kernels with all the trimmings don't seem to benefit.
A kernel can be made quite small with effort and some time going through menuconfig. Once this is done if you disable support for modules you will end up with a much simpler and faster kernel. This can more easily be done on small systems with fixed hardware that never changes, or with a desktop that uses one of the free software drivers - such as nouveau, radeon.
Radeon or Nouveau users may in fact be able to build their firmwares into the kernel in case these are required. I do not recommend this because they are not free software. However, these pages are about minimalism and some users will continue to use these features. So here I will still describe how to use this software in a way that is good for security and simplicity.
Run a pure 64-bit system.
This is a great idea if you have no use for 64 bit applications, or just feel that some of those programs are getting too old anyways.
Definitely not for gamers as most games are 32bit, or you want wine support.. though it's important to note that DOSBOX is also an x86 emulator. Which means when you run your DOS games there, you do not need native 32-bit support. So DOSBOX gamers are OK.
After these changes in the kernel I'd be surprised if you can't notice the difference.
Autoremove --purge and dist-upgrade --autoremove --purge
Config files can be axed during upgrades by invoking apt-get dist-upgrade --autoremove --purge
It is also possible to set 'purge' as the default for all removals (I need to document this).
This work is released under the Creative Commons Attribution-ShareAlike 4.0 International [CC BY-SA 4.0] license. All trademarks are the property of their respective owners. This work is provided "AS IS" and comes with absolutely NO warranty.