West Asia - Communist - international politics - anti-imperialism - software development - Math, science, chemistry, history, sociology, and a lot more.
For #2,
For gaming, if you use steam, you may not face more than the following:
For programming, you will love your life because everything programming is way easier on Linux.
For #1, I’ve made the realization that most distros are lightweight skins or addons on top of another distro. Most of the time, if you start with the base distro, all you have to do is install some apps, change some configurations, and suddenly you have that other distro. It is much easier than doing a reinstallation.
If you filter out all of these distros that only do a little on top of an existing, you’re left with a quite small number actually. I’d bet it’s less than 10 that are not super niche. Fedora, Arch, debian, gentoo, nixos are the big ones. There’s some niche ones, like void Linux and Alpine.
So I’d say if you try all of those, you don’t need to try any more 😁
Just come ask here when you have trouble, and we’ll try to help.
When troubleshooting, the biggest thing is searching the web honestly. But some more things to help you out: look for logs. Linux has loads of logs and sometimes can tell you how to fix the problem.
Logs may not be immediately apparent. Some programs have their own log files that you can look into. Sometimes, if you run the program from the terminal, it’ll print out logs there. Otherwise, you read look through journalctl, although this has logs for everything so might be harder to search.
Another useful tip, particularly for system tools and terminal tools, is manual pages. Just run man ls
and replace ls with any command, you’ll get the documentation on how to use that tool.
There are many ways to do this, but the next up from users is using groups!
For each file or data directory, create a group that owns it. This group should have the service’s user as member. Then create a user for running the backups, and add it to all these groups.
The benefit of this is you don’t have to use root, and you have an association of directory to group that you can always change. You can for example grant a user access to a data directory by just adding it to its group.
I know someone who’s literally making that right now. Remind me in a week, I’ll send you the link. He’ll probably be done by then.
Edit: donetick.com
Here is a docker compose: https://snikket.org/service/resources/docker-compose.yml
You only two configuration options in the config file: domain and email.
Arch works well for gaming. However, depending on what you’re doing, you should keep this in mind:
To summarize: the major difference is that Arch Linux gives you the latest versions of all programs and packages. You can update anytime, and you’ll get the latest versions every time for all programs
Debian follows a stable release model. Suppose you install debian 12 (bookworm). The software versions there are locked, and they’re usually not the latest versions. For example, the Linux kernel there is version 6.1, whereas the latest is like 6,9 or something. Neovim is version 0.7, whereas the latest is 0.9. Those versions will remain this way, unless you update to, say, debian 13 whenever it comes out. But if you do your regular system updates, it will only do security updates (which do not change the behavior of a program).
You might wonder, why is the debian approach good? Stability. Software updates = changes. Changes could mean your setup that was previously working, suddenly isn’t, because now the program changed behavior. Debian tries to avoid that by locking all versions, and making sure they are fully compatible. It also ensures that by doing this, you don’t miss out on security updates.
Why is that? It shows proof of the exact thing I said. If you don’t like that it’s on Reddit, I can copy paste it here.
If you want more examples, I’m happy to provide them. Here is another example:
https://security-tracker.debian.org/tracker/source-package/linux
I have read that it is faster, though I have not tested it myself. Personally, my initial reason to use it was just to try something new and explore the unix world. My reason for staying is that it is a very simple init system that is pleasant to work with. It made me understand what an init system is and use it a lot more.
Systemd is good if you just want something invisible and you do not want to mess too much with an init system unless you have to. Everything integrates with it
OpenRC is nicer if you want to write your own init scripts. It is very well documented also.