I need delta updates.

Debian_SuperUser

Active Member
Joined
Mar 18, 2024
Messages
161
Reaction score
41
Credits
1,949
I have been an Arch user and it took me sometime to realize just how bad plain Arch Linux actually is. It's not a proper operating system someone should daily drive. It's only a niche distribution which is known for giving full control over your system. I am still gaining knowledge of what all features I should have in my distribution. Stuff like apparmor and all is pretty cool and is not pre-configured on Arch. Again, I emphasized on "plain", because you could configure Arch Linux to be really proper, but it still fundamentally lacks some features at the distribution level. Like delta updates, atomic transactions, and importantly because it is a rolling release distribution, there is no ABI stability, so most people don't bundle packages for Arch Linux but instead choose Debian (and derivatives) and Fedora. And I even get package version conflicts on some updates, which is just poor package version handling.

One of my main hurdles with Arch Linux is delta updates. On any update, I end up downloading gigabytes of data and unpacking many gigabytes of data. I cannot continue doing this. Even if it is a personal matter like my drive being one really slow, one should not need to do so much I/O for updates, which is especially for SSDs which hammer their lifespan. And even though networking today can be really fast and cheap, that does not justify having no bandwidth optimization, like delta updates.

I don't use container based packaging formats like Snap and Flatpak. I think they provide delta updates? But still in my system updates, the space isn't primarily taken by program updates. A lot of it is system level packages. And I just don't like the overhead of using Snap and Flatpak.

So the answer is Fedora's Atomic Desktops distributions. They use rpm-ostree which compare the snapshots at the file system level and only update the differences. I have not yet tried out Fedora Atomic to see how much of a difference this makes. And also it is an immutable distribution which does add some proper safety, and the overhead of this seems to be pretty low.

They even have Sway Atomic desktop! Though still with me, I want the most minimal distribution and configure it as I want. But I am said not to use CoreOS as my desktop OS?

So I could just switch to Fedora. But I had some other things in mind, which Fedora doesn't allow.

I like CachyOS. Even if how niche is its feature that is popular, the compiler optimized packages, is what I am all for. I wanted to switch to CachyOS from Arch, or replace all my packages on Arch with CachyOS's packages. But this does not solve the delta updates issue. So my question is how much does CachyOS improve peformance? I mean, there must be a reason they have created this big repository containing more CPU optimized packages, right?

And I also wanted to get away from Systemd. I am all in for the no-bloat OS, and Systemd is a part of it. CachyOS uses Systemd and I guess I can use another init system as Arch allows, but it still does not solve the delta updates problem.

Why does Arch Linux not support delta updates? And how is this not a big deal? Downloading and unzipping many gigabytes of data? Or is this only on such a low level distribution like Arch Linux? It has been a while since I used Ubuntu and I actually don't think so that I had to download and unzip so much data, but it still was quite a bit I think. And it does use Snap. Am I missing something that Ubuntu does?
 


And even though networking today can be really fast and cheap, that does not justify having no bandwidth optimization, like delta updates.
Delta updates for a Linux distro don't make much sense to me, I've googled for the term:
A delta update is a software update that requires the user to download only those parts of the software's code that are new, or have been changed from their previous state, in contrast to having to download the entire program.
Linux distros ship updates as packages (*.deb, *.rpm etc), you can think of them as downloading only those parts of OS that need update, you don't need to download the whole OS system every time there is update.

Going even more granular than this would require splitting individual packages somehow which just doesn't exist.

Delta updates make more sense for game updates and similar because games consist of many executable files that can be individually patched and replaced.

One of my main hurdles with Arch Linux is delta updates. On any update, I end up downloading gigabytes of data and unpacking many gigabytes of data.
Sounds like you're doing something wrong or confusing something.
Gigabytes of updates, how?
 
Delta updates for a Linux distro don't make much sense to me, I've googled for the term:

Linux distros ship updates as packages (*.deb, *.rpm etc), you can think of them as downloading only those parts of OS that need update, you don't need to download the whole OS system every time there is update.

Going even more granular than this would require splitting individual packages somehow which just doesn't exist.

Delta updates make more sense for game updates and similar because games consist of many executable files that can be individually patched and replaced.


Sounds like you're doing something wrong or confusing something.
Gigabytes of updates, how?
So these are the updates available right now. It's low because I recently updated.
1778002462407.png


I don't know how many of these user applications are available on Snap/Flatpak. And some of the bloat is my requirement such as DBeaver and Dosbox-x. But something like clang, llvm, ffmpeg, sdl3, sqlite, etc., these are system packages and have no delta updates from Snap/Flatpak, right? I mean Snap/Flatpak do bundle these and provide delta updates as a whole package but that means these are not shared libraries anyways.

Usual updates after some time can take like over 2.5 GB to download and 7 GB to unpack.

Even besides that, the Linux package itself is over 100 MB. I do not want to download a 100 MB package every update.
 
I have been an Arch user and it took me sometime to realize just how bad plain Arch Linux actually is. It's not a proper operating system someone should daily drive. It's only a niche distribution which is known for giving full control over your system. I am still gaining knowledge of what all features I should have in my distribution.
For a greater control over a linux system, perhaps consider gentoo. Gentoo offers configuration at the level of apps which package based distros don't routinely offer, and gentoo has the software to match. In other words the user can control the compilation of apps to exclude what's extraneous to their needs. It's a linux system designed to cater for both the minimalists and the maximalists and all those in between, but does depend to a degree on an appropriate level of linux knowledge and skills. It's ideal for deep tinkerers :-) .
 
Stop using rolling distro, as @CaffeineAddict said. Your next best thing for now is Devuan, which does not use systemd, just like you wanted.
That's what I am using daily, works well, just like Debian would but no systemd abomination.
 
I have been an Arch user and it took me sometime to realize just how bad plain Arch Linux actually is. It's not a proper operating system someone should daily drive. It's only a niche distribution which is known for giving full control over your system.
my daily driver is Arch, I have been using it for about a year now and I have yet to experience any issues. I've found it to be more stable than other distros. SteamOS is based on Arch so that should tell you something.

One of my main hurdles with Arch Linux is delta updates. On any update, I end up downloading gigabytes of data and unpacking many gigabytes of data. I cannot continue doing this.
so switch to a standard release distro? rolling release isnt for everyone but you dont need to complain about it.

Why does Arch Linux not support delta updates? And how is this not a big deal?
it's due to security vulnerabilities in versions of pacman prior to version 5.2 - reference CVE-2019-18183 for more information
 
Stuff like apparmor and all is pretty cool and is not pre-configured on Arch. Again, I emphasized on "plain", because you could configure Arch Linux to be really proper, but it still fundamentally lacks some features at the distribution level.
You can use something like apparmor.d-git from the AUR, those are pre-configured Apparmor profiles for different distributions.
Sounds like you're doing something wrong or confusing something.
Gigabytes of updates, how?
I agree because I update daily several times a day and I only have a few updates a day.
I like CachyOS. Even if how niche is its feature that is popular, the compiler optimized packages,
With optimized packages aren't going to notice a difference unless maybe you are running on low-end hardware as I've used those optimized packages and didn't notice a difference, not even on fps in games.
And I also wanted to get away from Systemd. I am all in for the no-bloat OS, and Systemd is a part of it. CachyOS uses Systemd and I guess I can use another init system as Arch allows, but it still does not solve the delta updates problem.
You can use Artix Linux.

it's due to security vulnerabilities in versions of pacman prior to version 5.2 - reference CVE-2019-18183 for more information
 
Don't use rolling release distro then, rolling release means frequent updates.
Also if you install a lot of programs that's another matter that makes updates big.

Switch to Debian if you want rare and small updates and forget about shiny new things.
It's not about frequent updates. I do like updates. It's about having no delta updates. In my opinion, delta updates is one of the most basic and fundamental optimization for update delivery and distribution. All mainstream consumer (as in consumer oriented and funded by them) operating systems have delta update mechanisms. Android, iOS, Windows, MacOS, all of them have it. It's not acceptable to download and unpack so much data as I do, and that's okay for Arch Linux because it is a niche distribution. I don't remember how it was on Ubuntu. Snap takes care of all user applications. As for system packages I think updates were just not that frequent. Downloads could go high but they weren't that frequent I think.
For a greater control over a linux system, perhaps consider gentoo. Gentoo offers configuration at the level of apps which package based distros don't routinely offer, and gentoo has the software to match. In other words the user can control the compilation of apps to exclude what's extraneous to their needs. It's a linux system designed to cater for both the minimalists and the maximalists and all those in between, but does depend to a degree on an appropriate level of linux knowledge and skills. It's ideal for deep tinkerers :-) .
Quite unrelated to my topic :confused:. I don't see how this helps my problem in any way. Updates are updates. And it is a rolling release distribution. The same number of updates will pile up. If I want updates, I need to update all anyways. And I do not have the compute and space to compile every package.

Stop using rolling distro, as @CaffeineAddict said. Your next best thing for now is Devuan, which does not use systemd, just like you wanted.
That's what I am using daily, works well, just like Debian would but no systemd abomination.
There is no scarcity of non-Systemd distributions. And anything Debian based has very slow update cycle. Btw, how much memory do you save by using a lighter init system?

my daily driver is Arch, I have been using it for about a year now and I have yet to experience any issues. I've found it to be more stable than other distros. SteamOS is based on Arch so that should tell you something.
There is a difference between you have found out and the factual truth. Arch is not a safe OS. It lacks atomic transactions of updates. There is no ABI stability due to it being rolling release and so there can be package version and dependency conflicts. I just had one for ntfsprogs. It doesn't come with Apparmor and SELinux. And updates can actually break your system. I was an actual victim of it once. That update that broke pango, breaking GTK font rendering on most programs using GTK.

I would like to state that about security and stability, not all can be handled by the OS. A part of it is using sudo so frequently in our daily lives. What happened once is that I wanted to spin up a VM in QEMU. I wanted to make use of my host's components directly instead of getting a whole ISO of a distribution. For that I created a directory, chroot into it, and used pacstrap to bootstrap an Arch instance in it. Now I don't exactly understand how chroot works, but what happened is that I wanted to delete that directory and I don't remember what I had exactly done, but what I lastly did is force delete that directory, and my whole system just became broken. All programs were behaving weird. It became unusable. After a restart, everything was normal. Somehow Systemd-boot's EFI entry was removed (yes, I use Systemd-boot), so I had to find its file manually. Upon asking AI, what likely happened is that I didn't properly unmount the temporarily mounted directories, and so that's why everything broke. This is something that even Atomic desktops probably can't solve. What they can however solve is me deleting my swap file and forgetting to update /etc/fstab. A lot of users face problems due to boot config changes, and Atomic desktops can largely solve these. However what I was saying that when we use sudo, we take full responsibility of the system. Android is safe because we don't use sudo on it that often. I did find out about a program called proot, which I think allows chroot in userpace. We should look for more userspace alternatives than using sudo.

I agree because I update daily several times a day and I only have a few updates a day.
That does pile up to what I stated if you don't update your system in sometime. And you update several times a day? Bro is ahead of beta testers.

With optimized packages aren't going to notice a difference unless maybe you are running on low-end hardware as I've used those optimized packages and didn't notice a difference, not even on fps in games.
Yes I thought so. Maybe I shouldn't chase behind it. Doesn't make much difference.

You can use Artix Linux.
I have plenty options for non-Systemd distributions. I was asking if there is one that solves my main problem that I stated. Artix will be just as heavy as Arch in updates.

I don't like how Fedora wasn't mentioned once, which is what I am trying to switch to. Does nobody use Fedora Atomic here?

I want to finish distro hopping for once. I don't have space for it. I wish if partitions could fill from the other end, making consolidating free space much more efficient.

Edit: I think the reason delta updates on Arch is not that big of a deal is because unpacking data is just really fast today. I have another machine with a very modest NVMe SSD and it does unpack gigabytes of data quite fast. It's just my current machine with a horribly slow M.2 SATA SSD for writes. I actually cannot open any program while my system is updating. Should have considered upgrading before the DRAM and NAND flash shortage.
 
There is no scarcity of non-Systemd distributions. And anything Debian based has very slow update cycle. Btw, how much memory do you save by using a lighter init system?
Devuan, just like Debian, comes with rolling release model too. The branch is called Unstable, with codenames Sid in Debian, or Ceres in Devuan. If you like, you can keep your system at cutting edge at all times.

Avoiding systemd is not about saving memory - it's about cutting the abomination out. You said yourself you don't want systemd, quote:
And I also wanted to get away from Systemd. I am all in for the no-bloat OS, and Systemd is a part of it
Systemd brings bloat, age verification, bugs, and who knows what else. I prefer KISS principle.
 
Systemd brings.., age verification
Don't talk about that topic here, but in the designated topic.
 
Don't talk about that topic here, but in the designated topic.
I am not talking about it. I mentioned it while talking about what systemd is.
 
I am not talking about it. I mentioned it while talking about what systemd is.
Sure thing, however it's an easy hook to start about it.There is no age verification in systemd just an optional field which could be used by other apps and it's possible to disable the service that would allow using all user fields in systemd. For the rest, just continue in the other topic of you want to discuss it.
 
Sure thing, however it's an easy hook to start about it.There is no age verification in systemd just an optional field which could be used by other apps and it's possible to disable the service that would allow using all user fields in systemd. For the rest, just continue in the other topic of you want to discuss it.
My apologies for mentioning unspeakable systemd feature, won't happen again in this topic. You can delete my post.
 
My apologies for mentioning unspeakable systemd feature, won't happen again in this topic. You can delete my post.
Can keep it, all good. I may have been wrong as your comment didn't involve the political element. But just wanted to have mentioned it, so we don't go down that road.
 
Last edited:
I don't like how Fedora wasn't mentioned once, which is what I am trying to switch to. Does nobody use Fedora Atomic here?
I've been Arch user for 10+ years. I'm toying with fedora on the machine I write from, for the first time ever actually. Not using Atomic, the regular workstation. Unsurprisingly it runs very polished and smooth out of the box. I'm not too bothered with delta updates and am very certain there is no noticeable regular difference (say I leave both systems not update for a month, it's probably roughly the same amount of GB - If I had GNOME on Arch). I have already done one fedora release upgrade on it, and a couple of applications I installed from their regular repos broke (the wayland migration, I believe). That was surprising, but well - happens with Arch rolling too.

I've been most interested to see how fedora applies SElinux out of the box. My gist for it is, it is very basic. As an example, the regular user you setup during installation ends up as unconfined_t, meaning there is no policy applied per default. So, even something like the default firefox runs unconfined. I was surprised by that. As a positive example, I do run virt-manager on it, and that does MCS separate VMs by default, which is brilliant. The two example indicate how it defaults, i.e. if you run server processes, they do make use of SELinux since they are packaged for it. If you just use it as a basic workstation, there is little benefit unless you get into learning and using the features, e.g. changing the user from default unconfined_t context takes only a few commands, but don't expect fedora providing much info on it.

I'm also a long time apparmor user (both on Arch and debian) and am pretty certain it is pretty soon falling apart :D This because Ubuntu with their snap neglect regular users in my opinion. They have for a long time and it gets worse and worse. You could always get benefit out of it, if you digged into specific profiles, but customing it is rather fragile with updates and got much more so since snap. What I will switch to on Arch is the hardened kernel with SELinux. I toy with such changes in a small VM first. It's much easier to play and see how it rolls, make mistakes, rather than doing them on metal first. Good luck on your delta journey.
 


Follow Linux.org

Members online


Top