In Arch Linux, to check what updates are available, you can use the checkupdates
command, but this command does not apply to the AUR package. To check what AUR package updates are available, use the yay -Qua
command. Both commands will display a list of packages that have the latest version, but both commands also display packages that are installed as dependencies. Here, I only care about the list of packages that I installed myself (Explicitly installed). Therefore, I created a cli tool called axu (Arch eXplicit Updates).
axu is similar to the checkupdates
and yay -Qua
commands, except that it only displays a list of explicitly installed packages (not dependencies). axu also provides better output than checkupdates
and yay -Qua
because axu separates each update into 5 categories, namely:
- Major
- Minor
- Patch
- Build
- Git
Determining the type of update is by following the semantic versioning (SemVer) rules.
For those of you who want to try it, this package is already available on AUR:
yay -S axu-bin
This program was originally written in TypeScript, but then I ported it to Rust.
I’m not sold, why do I need this?
If I’m checking for updates, I will usually need to update any dependencies too.
I don’t see a reason why only showing updates to explicitly installed packages is a good thing.
If I’m updating or checking for updates, I need to update it all.
This looks like something perfect for Manjaro, they like impartial updates, right?
I would want to see all upstream updates for anything installed on my system to avoid even considering a partial upgrade.