this post was submitted on 10 Apr 2024
47 points (96.1% liked)

Linux

48008 readers
853 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
 

I apologize if my english isn't perfect in how you would say it daily, but I hope it'll help with Linux popularity and as a reference for future days.

For this post specifically I want opinions regarding what would be best for school lab of tech vocational high school (for both computer networking and software engineering).

  1. Package update frequency:
  • A. Years per update (Debian, OpenSuse Leap)
  • B. Every 6 month (Ubuntu/Fedora)
  • C. Rolling Release (Debian Sid or Arch but update whenever (every week/month/semester/year))
  1. Desktop environment:
  • A. Gnome
  • B. KDE Plasma
  • C. Cinnamon
  • D. Lightweight DE (XFCE, LXQT, etc.)
  • E. Other DE (Mate, Budgie, etc.)
  • F. Stacking Window Manager (Fluxbox, IceWM, Openbox, etc)
  • G. TIling or Dynamic WM
  1. Community or Company Distro?
  • A. Community Distro
  • B. Company Distro
  1. Display server protocol:
  • A. Xorg
  • B. Wayland
  1. File System:
  • A. EXT4
  • B. BTRFS
  • C. Other
  1. Immutable?
  • A. Not Immutable
  • B. Immutable
  1. Functionality
  • A. General Purpose (Debian, Arch, OpenSuse)
  • B. Specific Purpose (Debian Edu, Parrot Linux, AV linux, etc.)

Let me know your opinion, perhaps I missed some critical question or maybe some question above isn't that important to consider.

all 45 comments
sorted by: hot top controversial new old
[–] [email protected] 40 points 6 months ago (1 children)

I think you are missing the most critical features, stability and support. You need whatever distro you pick to be solid. No one cares about the file system or whether it is immutable or not, your users need the computer to work when they use it, and nothing else matters.

You also need to be confident you can update and upgrade safely and easily, any risk of a broken update will make your life a misery when that happens.

Kickstart support, or some form of automated deployment will also be extremely valuable so that you can easily redeploy broken boxes with minimal effort. And some form of remote config/admin will also be extremely valuable. You dont want to have to do updates manually one at a time.

I would pick a general purpose commercially backed OS, so that if you need it later, you can pay for support if there is a problem. And you need to write some basic usage guides, because no matter which distro you pick, if its not Windows, your users will complain when they cant do X the same way it works on Windows.

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

This 100%. Even if you don't like canonical, you can get Ubuntu for free and then later pay for support if you need. They have experience managing fleets of systems.

There's a post on Reddit where a Brazilian state government org is testing out Ubuntu at scale.

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

Look at what schools in your area are using. Pick that.

If I had to make a recommendation outside that one: RHEL. You’re literally their target audience.

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

Just wanted to say your English is wonderful.

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

thank u for your kind word

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

I'm going to say Debian or RHEL. Both are extremely well supported by software and very stable, but you'd get administration benefits with RHEL that you would be missing with Debian. Since these computers are public-facing I'm going to STRONGLY recommend against smaller distros like Zorin or Manjaro.

Debian and RHEL are proven to be stable for professional work. Debian is especially notable for being on the space station. RHEL is used by basically every company that uses Linux in an enterprise environment.

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

Package update frequency:

With Ubuntu and with Debian there is also LTS (Long Term Support) to choose from. For Ubuntu this is five years for the default Ubuntu. I believe it is three years for the community flavors (Kubuntu, Xubuntu and so on). Personally I find the pushing of snaps and Ubuntu Pro by Ubuntu somewhat annoying and confusing, so I'd for Debian at your school.

[–] [email protected] 9 points 6 months ago (2 children)

I'd use fedora atomic, specifically ublue, because you can fully control what the os is.

  1. It installs updates while it runs and at the next boot it boots into the updated image. If an update fails, it boots into the old image.
  2. Most people don't know WM. Use a DE. It doesn't matter which one you use KDE or GNOME. Both are stable and solid. It's up to you. Maybe choose it based on the apps you use.
  3. Other questions are redundant.
  4. https://universal-blue.org/ https://github.com/ublue-os if you're interested, use https://blue-build.org/ and your own OS is ready to go within minutes.
[–] [email protected] 3 points 6 months ago (1 children)

I would be careful using Fedora Immutable as it is still fairly untested.

A stable base and Ansible is probably a safer bet

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (1 children)

What are your specific concerns such that I can learn and adjust the recommendation?

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

Its unproven and still in beta

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

Still very vague. What needs to be proven such that you would use it?

[–] [email protected] -1 points 6 months ago* (last edited 6 months ago) (1 children)

Proven that it can run without issues. Proven that if you have an issue, you can fix it.

Don't put untested software in prod

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

No idea where you get the idea from that it has to be proven and that it's somewhat unreliable and in beta. I get the impression you talk about something different

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

You don't put untested software in prod. You just don't. It might be fine on your machine but don't put on systems for others

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (2 children)

Fedora Silverblue was released alongside Fedora 30, which was 5 years ago; it is not "untested", in fact it is quite extensively tested by its userbase. It also is not in beta as you claimed previously, its release with Fedora 30 was its full release, after the betas with Fedora 29. Atomic desktops have been around for longer than that, however. They are far more tested and reliable than you seem to be giving them credit for. In fact, they are far more stable and far more resilient because you can simply roll back changes when you boot. A few previous versions of the entire operating system are available to boot from in GRUB, and it's as simple as booting into a previous version if a new one has issues. It's actually the perfect use case for a school computer lab, because each install is perfectly consistent, can be managed and fixed easily if anything were to break (if that were the case then the OS would have broken in non-atomic versions anyway), and nothing the user does will affect the base image of the system. The base image doesn't change unless it is updated. You can overlay things overtop of the base filesystem, but the base filesystem stays the same, so those overlays can be easily reverted.

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

Fedora Silverblue was released alongside Fedora 30, which was 5 years ago; it is not “untested”, in fact it is quite extensively tested by its userbase.

Your comment comes right after Fedora Atomic desktops and a few others were hit by a critical bug, where testing appeared to be missing : https://mastodon.social/@deflockcom/112247891318456315

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

Ansible can do all of that and its been tested for 20 years. Maybe I'm just reading into your comment but it sounds like you are getting upset.

Traditional desktops are much simpler to manage and have more documentation. It would be really cool if immutable desktops became more mainstream but for now they are only a glimpse into what could be. Even uBlue says its in beta.

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

I'd like to clarify that I didn't intend to portray any anger in my comment, I'm sorry if it came across that way. Text is notoriously difficult to convey emotion and intention through without purposefully writing to convey it.

With that said, I am a bit confused. I was not aware that Ansible had the ability to seamlessly roll back updates like an immutable distro, this could certainly influence my opinion. I don't have any personal experience with Ansible myself, so I suppose I'd have to take your word for it since a quick search online didn't provide any results. That would be very useful, indeed.

As I have little experience with large scale deployment, I am unfamiliar with management software that could assist in managing large groups of computers. Would it be possible to use Ansible or some other sort of large scale management software in conjunction with an immutable distro? It seems like the management aspect of Ansible is quite useful and shouldn't be distro-dependent, so I'm unsure why it would be limited to mutable distros. I feel like that could perhaps get the best of both worlds, as it would allow for consistent deployment of atomic distros that have the ability to be automatically rolled back in the event of a bad update, even if they were to be otherwise rendered unbootable (since one of the selling points of immutable distros is that it's as simple as an arrow key down and an enter key press while booting to roll back to a bootable OS). Update rollbacks are also as simple as a single command with atomic distros. You don't have to find a backup to restore from, as the base image is basically organized with version control software (think Git or Subversion, where each update is like a commit/pull request). You can roll back any changes individually or as a group (you can roll back to the exact image you were at during the last successful boot, for instance).

Immutable distros also have plenty of potential for globally shared applications through simple package overlays. The documentation on installing packages through rpm-ostree is fairly competent last I checked, and would be what you're looking for with globally installed apps like LibreOffice or Firefox. It just uses the normal Fedora repos for those packages. The actual install commands aren't different from any other package manager, at least in the sense that all package managers have slightly different syntax, but they have a similar base structure of being able to install/remove/update packages. The backend is unique, yes, but the presentation to the end user isn't far off from any other package manager. Of course, that comes with the caveat that you have to reboot after installing something through rpm-ostree, because the base image cannot be edited while booted in normal operation. User-specific apps can naturally be Flatpaks, as you wouldn't want users installing system packages anyway (if you even allowed installation permission, that is).

You're certainly correct that traditional desktops have more documentation, and I suppose that since it is a change to the norm, it may be more work for someone experienced with mutable distros to learn how to manage immutable distros. I don't feel as if that is an issue OP is currently considering, though. They don't seem to have a whole lot of experience with large scale management of Linux desktops, anyway. Either option could present issues if mismanaged, but if all you need to do to fix something is to roll back a change you made, I feel like that makes immutable distros a little easier to fix (at least when the issue is caused by the user/admin).

Also, I am unsure where uBlue claims to be in beta. I checked their site, and I didn't see anything about their products being solely beta packages. Yes, there are beta packages available (for instance, for Fedora 40 which is still in Beta as it hasn't released yet), but that can be said for practically any software. You can install nightly/beta builds for most packages if you so desire. If there's somewhere on the uBlue website that confirms your point, please feel free to provide it. I don't know a whole lot about uBlue, so I would genuinely be interested in knowing. I just know they're based off the Fedora Atomic desktops with some extra configuration thrown in, and the information readily available on their website.

If you really wanted consistency with ease of deployment, NixOS is also an option. It just takes time to learn how to use its configs, and I believe the wiki is currently down pending a redesign (or so I heard from another post).

I suppose I should clarify that I used Fedora Silverblue for about a year as a test drive, and when I got a new computer I installed basic Fedora Workstation back on it. Immutable distros are particularly difficult for me to use because I do a lot of low level changes that would require a lot of complicated overlays, but I'm not the average user. I'll give Fedora Atomic KDE a shot when Fedora 40 releases, but I've always imagined that the ideal scenario for atomic distros is in applications prone to breakage (like school labs where students might mess around doing something that causes issues accidentally), and situations where you want to have large scale management of computers and ensure they all behave exactly the same (though I suppose that's the draw of Ansible as well). Atomic distros' main selling point is fixing breakage and remaining stable and reliable (with failsafes you can fall back on when necessary).

I suppose I don't have the experience to really conclude whether or not the benefits outweigh any potential costs, though. I am mostly unaware of how large scale management software works, so maybe there would be a lot of disadvantages I don't immediately see, or perhaps the advantages themselves aren't as great as they seem in my head. I chimed in because I felt like the Fedora Atomic distros were being misrepresented. For instance, they aren't in beta, and while they lack the testing of something like Debian, as the community grows, so does the testing userbase. I think that they are an interesting option with distinct benefits, but that of course doesn't mean that they are the best option.

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

Immutable distros aren't bad and can be a good thing. I just think it will take time before they are able to be troubleshooted by someone who may not be all that familiar with Linux.

Maybe I'm just hesitant to use something I don't understand. As far as updates go theoretically you shouldn't need to roll back if your testing is good enough. Reliability is why you use something stable and review each update before deploying. There needs to be a testing and validation pipeline for each update. Then again, that is not really possible for a one man team. In that case I would recommend setting up a generic image that spins up and creates a new machine id and keys before getting taken over by Ansible automation.

This is the kind of stuff that is used to admin thousands of VMs. Maybe it is simpler to use immutable distros but I haven't heard much from people who use them.

Overall I think I'll give them a shot in a VM. As for the user asking for help I'll just let them decide what's best for there needs.

If you have more than a handful of VMs Ansible is the answer

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

I second this recommendation! I'd consider immutably a requirement here. For a little more stability, I'd stay one version behind the current release of Fedora (last 3 are supported at any time). So when 49 comes out, I'd stay on 39 and only update to 40 when 41 releases about 6 months later.

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

if the lab users aren't adults; i would go with an immutable distro

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

that's what I've been thinking

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

You word structure is a little odd but I think I can figure out what you are trying to ask.

If you looking for desktops I would focus on stability and reliability. For the desktop you could use something premade like Linux mint or you could roll your own with custom Xfce4 configs.

The real question is how you are going to manage this. I assume you have some sort of active directory environment but your group policy will not work on Linux. I would setup Ansible so that you can manage all the desktops in one place. You can create a Ansible playbook that domain joins the machines and then sets up the system.

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

I would probably do debian 12 with kde, xorg, ext4. Not familiar with debian edu though.

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

I would go with Xfce4 in this case as it is much simpler in terms of UI and complexity

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

I'd lean towards Xfce as well, but for other reasons; school computers aren't typically the most beefy machines, so a lightweight desktop environment is probably preferable

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

Gnome will run on anything made in the last 10 years. Computers won't last that long in a school environment.

Xfce4 is lighter but it isn't that big of difference. Xfce4 might also have less of a learning curve.

The reason I suggested xfce4 is that it works well with Debian releases.

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

My experience with Gnome vs Xfce has been Gnome being sluggish; there's a difference between running and running well/quickly

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

Kubuntu and Fedora KDE are probably the safest options. Linux Mint (Cinnamon) should also work. I'd go with KDE, as it looks and feels similar to Windows, which will make it easier to learn for new users. Cinnamon is another great choice for new users. The file system doesn't really matter, ext4 should be fine.

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

Opensuse tumbleweed. Its rolling release and gets lots of packages and is pretty stable NASA uses opensuse for there computers. I run tumbleweed on my laptop and btfs is really good and i havent had any issues minus one time i forced powered off while it was updating and it broke zypper. Plus side tho is the live boot can "upgrade an install and fix things like broken package managment. Aswell as opensuse is based off of rhel so package support is really good

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

There are also distros that are meant specifically for educational settings:

https://itsfoss.com/educational-linux-distros/

Note that I don't think that Endless OS restricts it's usage.

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

I'd go with a stable distro, like Debian, or Mint if you wanted something that's also rather stable and easier to use (Ubuntu underlying structure has a lot of fixes/changes compared to debian).

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

Check zorin os, it's Ubuntu LTS with a familiar look, and wine well integrated. Veyon sw then is probably good for pc control

[–] vipaal 2 points 6 months ago

OpenSUSE newcomer here, from decades of Debian and Debian derived systems.

I vote Debian with Xfce4 for the base system with Nix or Guix to let the kids freely install and play with software as required without requiring root. Stable release should be good. Testing release if time and resources to keep up with the updates are at hand.

Along with teaching the kids computers and software, please also consider teaching them how the Debian packagers, maintainers, developers, testers, admins, etc work and might never meet others in the project whilst releasing a great system every couple of years.

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

Debian, honestly.

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

@Fint0034 For those who have never used a Linux distro I would recommend first installing a VM to test a distro without damaging the local system. My suggestion is to always start with well-known and friendly distros like Ubuntu or MINT.

[–] [email protected] 1 points 6 months ago
[–] [email protected] 0 points 6 months ago

Ubuntu LTS with gnome or linux mint. Most available documentation, easy to use, hackable if needed. Make sure it doesn't crash on the kids!

[–] [email protected] -1 points 6 months ago
  1. C
  2. B
  3. A
  4. B
  5. A
  6. A
  7. A
[–] [email protected] -1 points 6 months ago
  1. I'd say go for a rolling, maybe do updates on weekends
  2. The students will very likely appreciate the customizability of Plasma or Cinnamon; if you want them to focus on work, GNOME (probably with some extensions) would be better. Tilers are a bad idea, because they take some getting used to
  3. Doesn't really matter, company distros might be paid tho, and that can obviously get expensive
  4. Wayland if your DE has good support (i.e. is GNOME or Plasma), otherwise X
  5. Btrfs' snapshotting capabilities might be useful to rollback the system to something working if the students fuck something up
  6. Immutable without sudo access should be the safest to hand over to people that you don't want to ruin anything
  7. I don't know enough about specific purpose distros

If you already know Nix, NIxOS would be a good choice