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:
what do u mean by important? like ‘essential to the system’, or ‘important to consider when choosing a distro’, or what?
I mean “something out of ordinary about it affects your experience with this distro the most”.
i see
Wouldn’t the c library be more important than the init system?
You are probably right. It is probably even more important than kernel.
Not really.
deleted by creator
One thing I don’t know: if C is a compiled language already, what exactly does the C library do?
it is a dynamically linked library, meaning its not in the compiled binary, but its assumed to already be on the system. as opposed to a statically linked binary. this lowers the file size of the binaries, because most will use the standard library.
edit: this may not be 100% correct, but its the general idea
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.