this post was submitted on 08 Jun 2024
266 points (97.5% liked)

Linux

48245 readers
479 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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 5 months ago* (last edited 5 months ago)

Honestly, having a declarative package manager is pretty important.

Consider the following: We've had the transition from Sys V Init to Systemd recently. But what does it actually mean?

It means, that instead of running a command to start a service, you now flip a switch in a clear, standardized way. The advantage is that you can get a table-like overview over all the services that are currently running. You get an overview, in other words. That is worth a lot because it brings structure and clarity into your system.

Now, with package management it's the same way. Instead of running a command to install a package, we should instead give a list of all the packages that we want to have installed, and the package manager should take care of making sure that they are installed. That would improve clarity, because you get a list of all the packages that are installed. It might also increase efficiency if you're installing many packages, because large parts of the work can be done in parallel. And importantly, you get reproducibility. Imagine you just have a file where it names all the packages that should be installed. You can just take that list and copy it to another machine. Now you've cloned your package installations. I guess things like Docker, with their docker files, are kinda already going in that direction. But it would be nice to have support for it in the mainline operating systems.

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago)

Is it ostree based? I guess I should RTM

[–] [email protected] 1 points 5 months ago

I'd love this for Artix because I just prefer the experience of runit

[–] [email protected] 18 points 5 months ago

This is just NixOS with extra steps

[–] [email protected] 22 points 5 months ago (8 children)

I just wanted to say this is all very confusing. I barely installed Ubuntu on my laptop as a daily driver mostly due to the MS Recall debacle. It's fine, it's great. However, reading all the Linux Lemmy posts makes me feel like I'll never understand. I know all these words and what they mean, just not in an OS context.

[–] [email protected] 7 points 5 months ago
  • repeat the “Don’t sweat it.”
  • Ubuntu is a perfectly fine starting point (the other “beginner distro” that’s commonly recommended is LinuxMint)
  • »AFTER« you become comfortable with what you have:
    • try familiarizing yourself with the command line
    • get overwhelmed with all the distro choices available
      • get bitten by the distro-hopping bug (“Gotta try them all!”)
        • and then try Distrobox (“ALL the distros at once!”)
  • »THEN« take a look at immutable distros
    • “immutable distro” is a catch-all term that embraces several concepts
      • immutable – the root filesystem is set to read-only – makes it harder to mess up your system
      • declarative – your hardware and packages and configs are declared in a master configuration file
      • atomic / transactional – updates are checked as they’re applied, if it fails, it gets rolled back to a previous “safe state”
      • container / sandbox – ex. Flatpak or Docker or OCI – apps are isolated in their own sandbox and not allowed to mess up anything else
[–] [email protected] 8 points 5 months ago

Don't sweat it. There were people doing advanced things in Windows that would probably have blown your mind as well. It's just that most people that use Linux just enjoy tinkering for the sake of tinkering so it's more visible, and Linux lends itself to people doing weird and wonderful things never envisioned by it's creators.

You just started on the road, where you stop is entirely up to you. Just know that the view is way more interesting going this route. Take a few pictures on the way.

[–] [email protected] 24 points 5 months ago

Welcome to the Linux community. :)

You will probably never understand everything about Linux and all of its included and associated systems. That's completely fine, no one does! That's why we are many, and it's what asking for advice or help is for. You can just learn whatever interests you at your own pace, and know that there will always be interesting things you haven't seen yet.

[–] [email protected] 5 points 5 months ago

It's fine you don't have to understand any of these just use the computer normally and you're good

[–] [email protected] 33 points 5 months ago

Think about it this way: going onto Linux communities and listening to what people say can be like listening to car mechanics chat.

But do you need to know what all of that stuff means to drive your car? Nah. But that info could come in handy, if you wanted to modify your car or something like that.

You don't need to know what Wayland/X11, PipeWire, GTK4/Qt6, or anything like that is, in much the same way you don't need to know what PowerShell, Event Viewer, NT kernel, or registry are to use Windows.

[–] [email protected] 17 points 5 months ago

You probably think of yourself as pretty knowledgeable regarding Windows, but have you ever studied for a Microsoft certification exam? This in depth knowledge is not something the average user needs for his daily usage, but can be interesting to read/know.

[–] [email protected] 19 points 5 months ago (1 children)

How does it compare to NixOS rolling?

[–] [email protected] 14 points 5 months ago* (last edited 5 months ago)

I don't think that this one is as reproducible and declarative as NixOS or Guix.

[–] [email protected] 6 points 5 months ago (1 children)

Does anybody know if configurations are also declarative?

Basically I want some easy way to spin up something arch linux based with my KDE Plasma settings, pacman hooks, grub configurations etc.

[–] [email protected] 9 points 5 months ago (1 children)

Oh yep, they are declarative, and that's what we've tried to implement with /system.yaml. pacman hooks and grub configs can be defined through /system.yaml (through a combination of the packages and commands arrays), but Plasma config is per-user and so wouldn't be possible to declare unfortunately :( you can declare GNOME config though, fwiw

(disclaimer: blendOS dev here)

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago) (2 children)

nix has home manager for that, but even then, plasma configs are a huge mess there.

thanks for the reply and your hard work :)

[–] [email protected] 0 points 5 months ago

Why not just use home-manager on arch?

[–] [email protected] 5 points 5 months ago* (last edited 5 months ago)

oh yep, should've clarified, /system.yaml's, as the name might suggest (lol), for system-wide config only, and GNOME just so happens to support system-wide config (dconf and gsettings overrides); we used to have a utility for declaring config for individual users akin to home-manager in blendOS v3, but dropped it with v4 since that wasn't used much; still might make a return though :)

thank you for your support! :)

[–] [email protected] 5 points 5 months ago (1 children)

Very intriguing. Is there a wiki or support forum in the works, too?

[–] [email protected] 8 points 5 months ago (2 children)

Oh, the main utilities exclusive to blendOS have been documented here: https://blendos.co/reference/ And all the installation/post-install guides: https://blendos.co/install/

For support, we primarily use Discord, although there are plans to set up Discourse eventually: https://discord.gg/fvMpV8ZNxD

(disclosure: blendOS dev here)

[–] [email protected] 1 points 5 months ago (1 children)

Follow-up question: I'm in the US and the initial installation is taking forever. Pacman seems to be running at just 60-80 KiB/s when I normally get 5MiB/s. IS there a way to have the installer choose a local mirror before downloading all the packages?

[–] [email protected] 3 points 5 months ago (1 children)

Oh, blendOS uses cloudflaremirrors.com during installation, which points at the Arch mirror it thinks it closest to you, and installation should be quite fast in North America (the blendOS package repo's hosted in Germany, but it shouldn't be too slow and doesn't host too many packages required for installation). However, I do plan to make that configurable (as an option for users that know what they're doing, or perhaps through a CLI installer for advanced users), and might implement it in the coming few days.

(disclaimer: blendOS dev here)

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago)

Ok, thanks for the heads-up. I'm running it in a local VM and for some reason my host Arch system is significantly faster at downloading and installing packages than the blendOS guest. Not sure why, but just thought I'd mention it.

Edit: never mind, I messed up the first installation so had to do-over, and the slow download speed seems to have recovered this time.

[–] [email protected] 3 points 5 months ago

Cool. Will definitely be giving blendOS a spin in a VM.

[–] [email protected] 8 points 5 months ago* (last edited 5 months ago) (2 children)

I'm not super clear on what being declarative and atomic means in an OS context. Does it mean there's a file describing what packages are installed, kind of like nix?

[–] [email protected] 6 points 5 months ago* (last edited 5 months ago)

It's new to me, I think it's saying that your system is built up by you declaring what you want in a file, a single source that everything comes from.

It's atomic because each action the system takes is carefully completed rather than bailing out and requiring you to fix something.

It's immutable meaning you declare how you want things to be set up and then critical changes stem from those declarations and nothing else. You would obviously generate preferences, save data, etc. but the files that make the system / packages work are carefully locked.

It's like the concept of flatpaks + structured system defining + modern common sense OS operations?

[–] [email protected] 9 points 5 months ago (1 children)

I am no expert, please correct me if I’m wrong

From what I understand, it’s like Nix but Arch based. The /system.yaml file contains all of the packages installed on the system.

[–] [email protected] 6 points 5 months ago

Also it’s the worst when you download an operating system and you realize that it’s mutable

You’re like “oh no I did not want the mutable one I wanted the immutable one”

I know what all words mean

load more comments
view more: next ›