Post History
My understanding is that one of the key advantages of Linux is modularity: the actual Linux kernel is quite small, and then what we call Linux is that plus the "rest of the system" - hence "operati...
#2: Post edited
What's the "big picture" of components of my system?
- What's the "big picture" of how my operating system is put together?
My understanding is that one of the key advantages of Linux is modularity: the actual Linux kernel is quite small, and then a large number of other pieces are built on top of it, and in theory there exist alternatives for many if not most of these pieces.Aside from individual applications that a distro might include (like a web browser or document editors or media players), conceptually what are the "parts" of this system? My package manager reports over 2500 installed packages; how can I get my head around this system architecture? I think that "desktop environment" and "window manager" describe two of the parts, at the level of granularity I want, but I'm missing the big picture.Also, can I indeed replace these parts of the system or swap between alternatives? For example, can I reasonably expect to just install a different desktop environment in parallel with my existing one, from the system package manager, and choose one on the login screen for each session?
- My understanding is that one of the key advantages of Linux is modularity: the actual Linux kernel is quite small, and then [what we call Linux](https://linux.codidact.com/posts/291802) is that plus the "rest of the system" - hence "operating system" (or "Linux Systems"). And then the latter is typically, but not necessarily GNU (or should I say "the GNU system", to distinguish it from the organization?), and it's built up of a lot of smaller pieces.
- Now, my package manager tells me that I have over 2500 installed packages, but it seems like the system isn't really as complicated as that implies. I know that a single application could account for many packages in some cases (e.g. over 100 of them on my system seem to have *something* to do with Python). And I've heard nebulous terms like "desktop environment" and "window manager" that seem like they describe conceptually distinct, separable *components* of this "Linux system".
- Is it really like that? Without getting into details about the dependencies between packages, does it make sense to think of them as logically grouped into a few components?
- If so, what might those components be? And *how modular are they really* - can a distro maintainer basically choose an option for each and call it a day; or does everything have to be stitched together at the level of individual software packages and then carefully reconfigured to cooperate properly; or just what?
#1: Initial revision
What's the "big picture" of components of my system?
My understanding is that one of the key advantages of Linux is modularity: the actual Linux kernel is quite small, and then a large number of other pieces are built on top of it, and in theory there exist alternatives for many if not most of these pieces. Aside from individual applications that a distro might include (like a web browser or document editors or media players), conceptually what are the "parts" of this system? My package manager reports over 2500 installed packages; how can I get my head around this system architecture? I think that "desktop environment" and "window manager" describe two of the parts, at the level of granularity I want, but I'm missing the big picture. Also, can I indeed replace these parts of the system or swap between alternatives? For example, can I reasonably expect to just install a different desktop environment in parallel with my existing one, from the system package manager, and choose one on the login screen for each session?