Eos-update news

eos-update is an app for updating the EndeavourOS system.
It uses pacman and yay or paru in its operation.

Please note that eos-update is not a replacement for pacman/yay/paru nor a requirement in any way, but can make life a bit easier at times.

The purpose of eos-update is to add some useful features on top of the mentioned tools, for example:

  • Has options (--clear-databases and --keyrings-reset) for dealing with update failures due to package database or keyring issues.
  • Can clear pacman database lock if the lock is not actively used by another update program.
  • Makes simple checks about Nvidia driver update when using packages nvidia or nvidia-lts. If nvidia-dkms is in use, then these checks are not needed.

Use command

eos-update --help

to see more details.

eos-update app is included in package eos-bash-shared.

Note that option --clear-databases is new, implemented today, in package version 24.15-1.

23 Likes

I just don’t quite understand the point of it. What makes eos-update better than a simple yay in the konsole?

Looking at the code: https://github.com/endeavouros-team/eos-bash-shared/blob/main/eos-update

It looks like it automates some things that the user, particularly new-to-Arch users, may not know about. For seasoned users, this automation would just remove an extra step you normally do.

At least, that’s what it appears to do. I’m not that good at reading code.

Also, the other thing would be not having to remember all the different commands used to manage pacman and packages.

To this day I can’t memorise: sudo rm -r /var/lib/pacman/db.lck.

I had to type “db” then press up so that fish would figure out what I’m looking for, as I keep thinking it’s “sudo pacman -R something”.

2 Likes

thx @ddnn , I understand that

1 Like

Short list of examples here. I don’t use it myself though, I preferr to work out the issues if I ever get any.

3 Likes

The main reason for this is to learn about how my system works

1 Like

Does it run the necessary commands after a grub update?

No, it can’t do that in a general way.

  • Has options (--clear-databases and --keyrings-reset) for dealing with update failures due to package database or keyring issues.

I encounter the broken keyring issue way too often. :frowning: It also happens on my Steam Deck which is annoying. I’m super interested to look into the script now, and I will probably start using it.

Thank you for adding simple but useful things!

1 Like

Since I’ve been using Arch-based distros full-time, this has happened what feels like twice a year at most. How often does it happen to you?

1 Like

I would say maybe once every 2-3 months. On my Steam Deck, it happened twice, which was basically both of the times where I didn’t go into desktop mode for a while, then I went in and tried to install something.

I think it happens when the keys don’t get updated for a while, then once they are too far out-of-date, you can’t install or update anything. Updating the “keyring” packages only seems to fix it half the time for me.

I keep thorough notes, so after the second time, I documented how I fixed it and saved links to useful things, so at least I can solve it nowadays. But I’ve been this close to scripting a fix for it. It seems like the eos-update script basically does that for me.

How often do you normally update your systems (assuming you have more than one device and two OSes here)?

I have read that some people struggle with this regularly, but it’s just not something I’ve ever experienced personally. I’ve been using Linux as a daily driver for 15 years and Arch specific distros for the past 3 and never had it happen.

I only have a very elementary understanding of keyrings and as such don’t completely understand what causes the problems. From what I’ve read it can be caused by a user not updating regularly and the keys expire. It can also happen from user error, often (though far from exclusively) due to key deletion - either intentional or accidental. There are other user related or caused things that impact it, but aside from that, I don’t quite understand what causes the problem.

Probably every 3-8 weeks. I’m working towards having my systems configured more tightly, and setting the update to happen automatically on a schedule with the ability to rollback.

Well, therein lies the likely issue. Arch-based distros (rolling releases) are meant to be updated each time an update is available. This means several times a day in some cases.

That being said, there are some users who go weeks without updating and are just fine, but it is only recommended for advanced users or users with specific use cases, like devs.

It is your choice in the end, of course. I do once a week most times, or maybe during the week if the updates won’t affect booting (grub, mkinit, etc.) or audio (pipewire/wireplumber, gstreamer, etc.) or wifi (networkmanager, etc.).

That doesn’t necessarily make sense though, from a usability standpoint, does it?

If I’m supposed to update more frequently, okay. But the fact that there’s no intuitive way to resolve this is a UX shortfall. Not to mention, the actual problem and the way to solve it are quite confusing to find answers to.

I’m sure some people would say “well Arch isn’t meant for those users,” but that’s a cop-out. I don’t think we should allow Linux to fall into the trap of ignoring what is poor design or a lack of UX.

Note: Since 2022-07-29, the archlinux-keyring-wkd-sync.service and the associated systemd timer have been created and enabled by default, solving signature from "Some Developer <developer_email@archlinux.org>" is marginal trust issues (e.g. BBS#278332) without requiring any user intervention, by fetching new signatures of already trusted keys once a week.

:eye: https://wiki.archlinux.org/title/Pacman/Package_signing#Upgrade_system_regularly

6 Likes

2024-03-26_09-22

4 Likes

The actual issue here is updating. And it doesn’t matter if you have a pretty UI, a general user-friendly process, or a terminal. If you are on a rolling release, and you take too long to update, it may cause issues. It’s as simple as that.

It’s not a cop-out and Arch/Arch-based isn’t the only option:

Arch Linux is a versatile, and simple distribution designed to fit the needs of the competent Linux® user. It is both powerful and easy to manage, making it an ideal distro for servers and workstations.
Excerpt from: https://archlinux.org/about/

The UI/UX for updating Arch has been discussed at length in several other threads. Let’s not get into that here.

5 Likes