this post was submitted on 25 Nov 2023
79 points (91.6% liked)
Linux
48090 readers
792 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
No worries, it's a lot of details to take in having never been part of it. The thing about the open source world is that there's no central authority figure to say "this is what we're doing, stop doing that other stuff". So instead, anyone can do anything without consideration for what else is out there.
So yeah, package managers are one way to install software, there are many different package managers out there, and virtually every distro ships with the one that fits their design philosophy best. Package managers tend to point to a set of repositories (servers full of packages) that are managed by your distro maintainers. Depending on the package manager, a "package" may be a pre-built binary, or it might just reference some source code and scripts to build it. Either way, the purpose is to make it easy to install packages that someone has theoretically taken a look at and given a thumbs up to, indicating that it should work on your distro, in combination with the other packages in the repo (theoretically).
But not every single binary out there has been inspected by every distro maintainer. There are often licenses that prevent them from re-hosting proprietary binaries on their servers, and even if the license is permissive, it's not uncommon for maintainers to disallow packages that aren't open source. So ex. Discord has a Linux binary you can download and use, but it's not commonly served from a package manager.
"Wine Is Not an Emulator" because it's not emulating hardware. At the end of the day, windows and Linux are both running on your x86-64 CPU. In theory you should be able to point the Program Counter at the first instruction in a binary, and the CPU won't care which OS it's running on....until it tries to make a system call, or jump to a windows-specific dll. Wine basically tries to create an environment so that when a binary tries to do something that is normally only offered by the windows runtimes, there is code loaded to do what it expects.
These days, I recommend trying out Bottles to run arbitrary windows apps. It's user-friendly, you create "containers" for specific windows apps, and it uses wine under the hood.
And then you have things like "flatpack" which are kind of like package managers where the package is a bottle/container, but the software it runs could be for any platform (Linux or windows). There are pros and cons to this (pros usually being stability, cons usually relating to the size of the containers on disk).
There are people who are adamantly for/against each thing, which is why distros exist in the first place. That's just how the open source world works. I recommend finding something that works for you and not feeling obligated to worry about the 10 other ways people have gotten it working.
Good luck!