CaffeineAddict
Well-Known Member
This thread is open to discussion about what do you think are essential components of GNU/Linux that a user "should" become master of, to become effective with managing, troubleshooting and administering their Linux OS.
First what is "component"?
My definition is as follows, it's a distro agnostic and DE agnostic software (or related group of software) that governs large part of how OS function and how it's administered.
Agnostic means that any distro and DE will usually have these components in them, there are exceptions of course, few distros or DE's took freedom to use alternative components or parts of them.
Examples such as:
This are all basics, no server management, no coding, no maintaining of packages, no compiling/building or any other advanced things that aren't essential.
Stuff that's not agnostic is also not included, such as specific DE like KDE, Cinnamon, LXDE etc.
Also random software such as password manager or audio player can't be part of this list, this depends a lot on what certain individual uses rather than forming an essential part of Linux.
Feel free to exclude or include certain parts, redefine them or add new components depending on what you consider essential to know, and post your list.
Btw. I haven't learned good amount of this list above, only scratched the surface, and I'm out of energy to learn more.
First what is "component"?
My definition is as follows, it's a distro agnostic and DE agnostic software (or related group of software) that governs large part of how OS function and how it's administered.
Agnostic means that any distro and DE will usually have these components in them, there are exceptions of course, few distros or DE's took freedom to use alternative components or parts of them.
Examples such as:
- init system (e.g. systemd, including various systemd commands, there are many)
- Boot management (boot loader/ boot manager, e.g GRUB, configuring, manual booting, rescue shell etc.)
- Kernel (e.g. kernel command line arguments, reading and understanding kernel state that's written to various places on FS)
- Terminal (a set of CLI software present on every distro, irrelevant of which terminal emulator one uses)
- Shell (e.g. bash, sh, zsh etc. how it's config files are read, configured, organized etc. including writing scripts with them)
- Logs (e.g. interpreting logs, rotating logs and other manipulation with the logs)
- Security (e.g. apparmor, aide, nftables etc.)
- Audio (e.g. alsa, wireplumber, pipewire etc.)
- Networking (e.g. NetworkManager and systemd-networkd)
This are all basics, no server management, no coding, no maintaining of packages, no compiling/building or any other advanced things that aren't essential.
Stuff that's not agnostic is also not included, such as specific DE like KDE, Cinnamon, LXDE etc.
Also random software such as password manager or audio player can't be part of this list, this depends a lot on what certain individual uses rather than forming an essential part of Linux.
Feel free to exclude or include certain parts, redefine them or add new components depending on what you consider essential to know, and post your list.
Btw. I haven't learned good amount of this list above, only scratched the surface, and I'm out of energy to learn more.
Last edited:

