Hi all - I am learning about Linux and want to see if my understanding is correct on this - the list of major parts of any distro:
- the Linux Kernel
- GRUB or another bootloader
- one or more file systems (gotta work with files somehow, right?)
- one or more Shells (the terminal - bash, zsh, etc…)
- a Desktop Environment (the GUI, if included, like KDE or Gnome - does this include X11 or Wayland or are those separate from the DE?)
- a bunch of Default applications and daemons (is this where systemd fits int? I know about the GNU tools, SAMBA, CUPS, etc…)
- a Package Manager (apt, pacman, etc…)
Am I forgetting anything at this 50,000 foot level? I know there are lots of other things we can add, but what are the most important things that ALL Linux distributions include?
Thanks!
I would say, that from most important to least important components are:
One thing I don’t know: if C is a compiled language already, what exactly does the C library do?
Most C binaries usually do not contain everything needed for their execution. It would make them too platform-specific. What most c programs do is that they use standard c library from platform for low-level things and communication with the system like memory allocation or stdin/stdout things, for example.