this post was submitted on 08 May 2024
256 points (87.6% liked)
Linux
48655 readers
898 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
How's arch any different?
It's either following FHS or not. I've never seen them dropped in random places and also differing between distros.
Not knowing about FHS is not distro specific.
And why would a brand new beginner touch any of those? If you need to enable something specific, the guide will most likely include systemd instructions. If you need something that's not in the repo, use flatpak for example. If you're not pointlessly compiling, you don't need to manage dependencies, your PMs are doing it for you.
You can do the same things, and AUR doesn't change that, it only gives you an additional source of packages that can't be blindly trusted.
They can be set up on other distros, if you don't like timeshift or other solutions. Btrfs is also not really necessary on a stable distro. A security patch is far less likely to break your system when compared to random bleeding edge releases.
Check out MX, it's Debian with some desktop improvements, and a far more sensible default DE for the distro. I'm using it and it's pretty great, nix makes it a lot better, but flatpak does the job as well.
Also, it's really funny that a Debian user goes all fangirl over plasma 6
Plasma 6 - soon on a desktop near you (in 1-3+ years when it stops being a broken mess early enough to be tested and included in the new release)
PS, why is it funny Debian users like plasma? Such a rarity?
But to be fair, plasma has only become good recently imho, I really liked concept years ago but it was way to fragile and incomplete then.
Pretty much. Plasma depends on regular updates, and is not nearly as good on stable distros that freeze it for years at a time. The version in Debian is almost 2 years old by now, and a new one isn't coming out for at least a year.
I think what makes arch different for first time users is mainly the user repository. If I want to have glassy themed desktop for example on Ubuntu I need to understand kvantum, which folder need which permissions, download themes from a website, kvantum from the terminal and install them, while on arch I type yay glassy-themeXY
Sure arch comes with more possibilities in terms if what combinations of software are possible and rolling release etc. Pp. But that's not that tangeble or import for the beginners usage.
When installing teamspeak for Ubuntu I need to understand how to make my own desktop entries, mark files as executable, how to install .deb packages etc, while on arch I type yay teamspeak, done.
Sure aur is not the most secure source, but better (and easier) then blindly copy pasting commands from some forum or manually downloading dubious python scripts from github.
In a nutshell: I can rely on other (smarter) users better on arch than Ubuntu.
For the customization at the time Ubuntu only had gnome, which is easy but not very powerful in its GUI options from my experience. Manjaro came with KDE plasma which is way more in depth with its GUI.
I don't know what you are talking about with everything in the same place regardless of distro, I seldom find any config file i dont already know without googleing it for my system. Package names are different, the according folders are different, depending on you DE all paths regarding this will be different.
In win you have all your settings in the settings app (and the values stored in registry) EVERY file of the program you would need to accsess is in the program folder (or roaming).
On Linux, the steam installation via snap has another file structure than via apt, and another for flatpack and another for appimage and another for the aur version which is different from the selfcompiled version. Depending on your Linux version the gamebug could be produced by a file in any of those folders (mostly not one place but some in /etc some in /home/steam some in home/.local some in /home/.share etc. Pp.) Also steam depends on like 100 libraries which are stored in different places. Not to even start with symlinks, config files you should not edit because they get generated from a template in another dir which you instead should be editing and stuff like this.
For people who are working in the field or using the system since decades this becomes natural at some point. But for people who can't (yet) deal with this kind of stuff it makes a HUGE difference if they can type "yay teamspeak" or not.
Sure, by now it seems trivial for me to know about sudo, chmod, .deb files, apt, .desktop files how to add a repository, manage gpg keyrings and so on but in the beginning, coming from windows this was confusing and overcomplicated as heck (remember under win installing a programming is literally double klicking an installer and that's it) When you don't know about this stuff and don't have the time to watch tutorials or read man pages when wanting to do anything, the difference between this and "yay teamspeak" was like day and night, a matter of usable vs. Unusable.
People good with this stuff underestimate how valuable it is for noobs to be able to rely on smarter people. If I had installed ts when starting with Linux it would have been way more prone to failure and insecurity than a package by an experienced arch user.
The "why would a beginner need those" question always strikes me as odd, because it always sounds love me people wanna deny use cases. I tried changing my local one time, because I accidentally installed the us English default and in the end it was easier to reinstall, because changing the local here doesn't automatically changes the local there, and for this the locale gets baked in when installing and then your off chasing details and suddenly needing systemctl commands or editing system.d config files or stuff like that. (Again, for something that is literally one klick in a drop down menu for win). I have never seen someone who uses Linux without ever needing the terminal, while doing more than webbrowsing and emails (while for win it is the default to never need the cmd) So if you didn't study IT for 6 semesters you come to the point where GUI is not working anymore and you don't know what to do REALLY fast. In this case you are of to either fail if you don't want to spend hours tinkering and learning about internals of Linux or you have the aur, where its not that unlikely that someone has already written a package to accomplish the task.
"You can do the same things with the aur as without" is the dumbest shit I've ever heard (sry) Its like saying you can do the same thing with a guitar as with a CD. Sure, if you are skilled enough you can produce similar results, but for 90% of humanity its either you have the CD and can hear Elvis Presley or you can tinker with the guitar for hours and in the end get something that doesn't even vaguely resembles Elvis Presley. --> you can't hear Elvis Presley.
For btrfs: OK, give me the Debian bookworm installer where you can select ANY enrcrypted format that is not luks-->lvm-->ext. I looked lastime I installed there wasnt an option for encrypted btrfs on Debian, but there was on arch Maybe I could customize filesystems and install drivers/libs etc afterwards, but from what I've read its not that easy to get it working and it for sure didn't work out of the box. But please correct me if I am wrong.
For flatpack: I avoid it, as people who are far more deep into the topic than me said its basically snap with extra steps, bloated, insecure, against the Linux philosophy of interlocking FOSS software blah blah. Didn't understand most of it but followed the advice.
part 1/2
huh?
But yeah, the large repo + AUR do make some things easier. Although the additional package managers are quite close, while allowing for a more dependable base system.
flatpak search teamspeak
->flatpak install com.teamspeak.TeamSpeak
-> done (I'll get to flatpak later)Sure, and that's why you can use something like flatpak in any scenario. I prefer nix, but that's still not user friendly.
They have flavours for each DE, same as Fedora has spins. It's an easy way to ensure default apps go with the correct DE.
Most packages follow FHS and XDG, but there are still plenty of them that just drop it in ~ and call it a day.
The FHS ones (
/etc
,/usr/share
,/usr/local/etc
) are where you're supposed to find default configs. But,/usr
should be read-only and only ever copied from, while/etc
is for system wide configs.The XDG configs are tied to your user, and only located at your ~. Usually in ~/.config but there are some cases where you might want to use ~/.local/
Yes, but that's got nothing to do with the distro.
Apt and pacman follow the FHS, AUR just provides instructions to pacman.
Appimages contain everything they need to run in a single file that you execute.
Flatpak, snap, nix, guix, distrobox, etc. don't save in the exact same directories because it's much safer that way, but they still roughly follow FHS. For example nix symlinks everything into ~/.nix-profile and provides you with the same structure as apt (/etc, etc.)
GUI stores like discovery allow you to install and update packages from different stores at the same time. You can search for teamspeak and chose to install the deb or flatpak. Can't get more user friendly than that.
No, you have the available windows settings in the settings apps. KDE approaches it the same way, and is far superior IMO. The difference is that if you want to change something that's not covered by the settings apps, windows forces you to blindly copy-paste regedit commands, while linux has a text file.
For packages there is no FHS, they might or might not include default configs if they support text configs in the first place (a BIG part of the UNIX philosophy), or they might generate them when needed. It might be in one of the program files, in multiple locations in my documents and app data, or you might need to once again blindly copy-paste regedit commands. Hell, a windows program might use different 5 location for different configs.
It's more because Linux has come a long way. For example I can just use MX Date & Time and use a gui to adjust my local and hardware time without ever touching the terminal.
part 2/2
Nah, that's coming right up:
Argument from authority is a logical fallacy, and I don't think basing your entire argument on willful ignorance requires further comment
People have issues with snap due to following reasons, and none of them apply to flatpak:
For example: you want to install the newest obs, but it requires a higher version glibc than your KDE. Installing the newer glibc in the exact same location as your system could possibly break your system. Pacman simply errors out, on the other hand flatpak provides the correct version to each of the packages it installs. And that's possible because:
each package gets its own private sandbox with a filesystem, libraries, dependencies, runtimes, etc.
there are built in systems to further isolate packages from each other and your system
you can use tools like flatseal to control permissions on top of whatever the base system uses (AppArmor/SELinux).
no sudo privileges required
Pacman can only use AppArmor/SELinux, and AUR is the riskier version of community flatpaks.
The default one, and therefore essentially everything downstream: guided partition -> change from ext4 to btrfs and set to mount to / -> run the encryption wizard. Do read the maintenance section though, there are reasons why stable distros don't default to it. Besides that, rsync does the job more than well enough. You can use the timeshift gui to have it periodically take snapshots, or easily automate it in different ways.
Honestly, monthly snapshots are going to be just fine. That's the whole benefit of this kind of a setup. Your base system almost never changes, while everything you need to be up to date is completely separate. Half of my packages are nix unstable and just as bleeding edge as on arch, but my system is not at real risk of failing to boot due to an update because it's still Debian, and quite close to vanilla at that. You don't need btrfs and snapshots on every update because both flatpak and nix support rollbacks, and that's the only scenario where updates could be risky.
There are downsides, and possible complications during setup though, but I'd say the trade is more than worth it, especially if you depend on your device and can't have it break down because you ran a system update or installed a package without updating the whole system. Working abroad with bad internet really drew it home for me, and caused me to finally drop arch.
I think me admitting not understanding something and following advice of trusted humans is a very different thing than will full ignorance and you framing it as such is telling of the ivory tower you sit in.
Maybe what you tell me about flatpac being better and more secure is right, but trusting you, a stranger from the internet is certainly not better than trusting friends studying in the field. Is flatpack the more secure version of the aur though? The aur ist fully foss, so public scrutiny takes places. In my mind, flatpac wasn't, but maybe I'm wrong here.
As for point 5.: again: I don't argue that the way its done in Linux is bad or without reason. I just state that it is more difficult for the end user.
For btrfs: As for my understanding: the graphical installer only supports one option for encrypted file system: lvm-ext4. When you select encryption it is not possible to select btrfs anymore (or any other). As soon as you tick "encrypt system" it defaults to luks-->lvm-->ext4 and doesn't allow you to change it Maybe because it only support encrypted lvm and subvolumes won't work with btrfs (+to quote your own link: "The DebianInstaller can format and install to single-disk Btrfs volumes, but does not yet support multi-disk btrfs volumes nor subvolume "
I don't understand the part about "rsync", but im pretty sure its not what I had in mind when talking about first time user friendly options.
Kvantum was choosen arbitrarily to make it tangeble what I mean, I don't know what specific customization option is was missing I. Ubuntu gnome 5 years ago exactly.
I guess you misunderstood my point, Its not that the specific team speak package is not in the apt repo (but available via flatpack) its again only chosen for illustration. My point is that in my Ubuntu experience I came acroos many different packages only available in certain stores/repos/as sourcecode/flatpack/snap/appimage/wine/bottles/lutris etc. Pp. Which package is available in which formats is secondary, my point is that there are a lot (especially coming from win where there is 1 [plus the win-store]).
Those behave very differently under the hood and in the beginning it feels like for every second program you need to learn about a new format/store/manager/package, which is exhausting quickly, because while appimages are quite close to .exes and easy to understand, flatpacks, snap, apt wine etc. Are not. Nearly All of those are available in one place if u use arch: the aur. It really doesn't matter if the aur package really only also installs and configures bottles for you, the fact that you need one command and one command only to get all your stuff (yay xyz) instead of 5 [to be honest maybe less or more, I still haven't found how to configure bottles, wine, lutris etc. Myself for things like league, on Debian I just download lutris, the league install script fails and I have no idea what to do and just play other games, and even if I would know how to do it, there's a chance it would break every league update and I would need to get Into it again, while on arch I type yay league-lutris or smithing like that, and it works ]
I didn't know kubuntu was part of Ubuntu, I thought its more or less another Debian derivative made by different people... or is there literally an Ubuntu with kde (which is not kubuntu) I have never heard of?
I think your description of the file structure proves my point of it being hard to grasp for a beginner and some programs just handling it differently because they can. And you didn't even touch on program files, custom temp directories or trying to install a programm to a different location (like an HDD instead of an the main ssd etc.) Stuff like symlinks doesn't make stuff easier but harder for a beginner in my opinion.
With your descriptions of the different stores/package managers/packs/etc. I again think it proves my point of being difficult, especially when just coming from win where you just double click on the .exe Not needing to know any of this and just typing yay xyz is a huge bonus on terms of ease of use and low starting threshold.
For discovery: it frequently crashes on my system so I tend to use apt, but sure with flatpack you could get team speak there, but again for league you would need lutris and understand wine settings and so on. Its not about the specific package, its about needing to understand many different installation methods and background systems, and even when understanding most, its not enough to get all programs.
I agree with you that the config file approach might be more customizable friendly for experts than the registry, but for a beginner? On win I never ever in over 10 years needed a setting which wasn't in the settings (at least before the hyper enshityfication that is win 11) On Debian you can't even change the fucking input method without using commands. (There is an option in the kde settings but it just displays "cannot connect to fcitx dbus" which is like Chinese for me and would require an evening of tinkering and reading docs or more to fix. I also ran into stuff I could not find in the settings (in like only some months of usage) and needed commands for, but can't remember what it was. But IF KDE settings would cover everything and work reliable, it would be as good (and better) than windows. This just isn't the case.
Sure the win programs may don't have configs for everything, but every intended function works. In 97℅ the time it is just available from the gui of the program, and even If someone tells me to run the forge installer and select the Minecraft mods folder, its at least the same on every win system. With every second guide for Linux the (official) website tells me "locate foo under /usr/foo/bar and append allow online = true" and the file just doesn't exist in this location for me. For an intend function of the program I never ever in 10 year of windows needet to open the console. Its always just in the GUI which makes the underlying system and its complexity irrelevant for the casual user. With Linux half of the stuff I can only do from terminal so I need to understand the folder system, config files, fhs etc.
Its not that fhs and having multiple locations which get used more or less consequently in more or less most of the cases is a bad thing in general. I am sure a lot of smart people have had very smart thoughts about this, but from a user perspective learning about all off it is way harder than not needing to know about it at all.
For the datetime thing, I don't wanna make it look bad or be ignorant and say there is no reason for it to be complicated. Of course you can't have the same expectations for a Foss project as for a commercial project, I am just stating, that there is stuff like this and that it is way harder from a user perspective so there are no wrong expectations set. That the local stuff from KDE settings won't work (at least for me) because of some fcitx dbus I already told you, but also other stuff like trying to change the username won't work as expected. I did it without knowing you should never change the username on Linux... It didn't tell me that the option is experimental or won't work for some stuff so I expected it to just enter new name and that's it, like on win or Mac, but it wasn't and stuff broke all over the place (desktop entries, file locations, automatically generated vs code scripts, default locations, some programs entierly,) and I still haven't got my taskbar panel to acknowledge the new path, it was always trying to open from the old path, even after regenerating the shortcuts and uninstalling and reinstalling panel. Maybe if I would understand fhs better I could know the place where some cofig lies where I need to change the path in line 253 and it would be clear to me that this isn't regenerated when reinstalling the programming, but as a casual user, I (didnt know (and still dont know) how i could have fixed it and just gave up at some point and reinstalled Debian fro scratch with The correct username.
Sure, I theory thing could be a lot better, but for someone without an degree in IT stuff like this is far from trivial, especially when you just wanted to correct the typo In your username before starting to work and instead spending one day trying to fix changing the name and two days reinstalling and reconfigurating Debian after giving up. Sure, a texfield in the windows settings might not give you the same freedom, but it does what you expect and works (again, at least before win 11).