this post was submitted on 28 Aug 2023
187 points (100.0% liked)

Linux

47918 readers
1184 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
 

For once I feel a little out of touch after I took a bit of a break from following the news to focus on studying, and suddenly everyone is talking about immutable distributions. What are they exactly? What are the benefits and the disadvantages of immutable systems?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 98 points 1 year ago* (last edited 1 year ago) (2 children)

Have you used Android? Has it ever failed an update or break due to an app install in a way that can't be fixed by uninstalling it or factory resetting? Android is an immutable Linux OS. Its system files are stored on a read-only partition. They're only mounted read-write during update. (That's a lie, this is no longer the case, but it used to be, these days there are two partitions and the whole inactive partition is written during an update, or a volume snapshot pretending to be a partition is created and then merged, but functionally it's consistent with the lie.) Apps are also stored in read-only form. One implication of this is that upon update, the partition/files you want to update are always in a predictable, unchanged state. That guarantees successful updates. It also allows trivial diff updates. The other implication of these facts is that you can always delete the mutable part of the OS, where your data and the apps' data is stored, and you'll always end up with a clean, working OS in a factory state. On Android you can also do this per-app by tapping "Clear data".

Wouldn't it be nice if you desktop or server behaved like this? Some folks think so and are trying to implement it.

There are few disadvantages beyond having to change how some systems work to accomodate this model. There's typically more space wasted.

[–] [email protected] 8 points 1 year ago

Thank you for this explanation.

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

With tbis update system, I don't understand why you can't use your phone while doing it.

[–] [email protected] 23 points 1 year ago (1 children)

You can. Google pixel updates are just a reboot. Sadly many OEMs don't do A/B updates, like samsung, so your phone can't be used while updating the system partition

[–] [email protected] 8 points 1 year ago (1 children)

It's worth mentioning that they often do this to reduce flash size, i.e. save 💰. Virtual AB was introduced to help with this but it's relatively new. With it, there's no need to reserve the space for 2x system partition. The needed extra space during update is taken from /data and released post success. There's also a compressed virtual AB scheme now which helps reduce the space needed from /data to enable really space-crippled devices like CCwGTV and other Android TV things like Sony and other TVs.

[–] [email protected] 1 points 1 year ago

Interesting! I didn't know that, thanks for responding