ANN: Aura 4.0 Released (Package Manager)

Hi everyone, I’m happy to announce the release of Aura 4.

Aura is a package manager for Arch Linux. Its original purpose was in supplementing Pacman to support the building of AUR packages, but since its creation in 2012 it has evolved to enable a variety of use cases.

Aura 4 represents a signicant body of work to port Aura from Haskell to Rust, which I hinted about on here some time ago. The full motivations for this rewrite are discussed here. Overall, Aura is now much more performant, has a 4x smaller binary, and is much easier to install.

Give it a shot: https://aur.archlinux.org/packages/aura

Features

aura can be used in place of pacman in all situations. At the very least, this is two fewer letters to type! Otherwise, Aura adds a few new commands:

  • -A: AUR package installation.
  • -B: Package state snapshots.
  • -C: Analyse local package caches and downgrade packages.
  • check: Various system validation checks.
  • deps: Dependency analysis.
  • And more!

You can explore all of Aura’s features in the online Manual, Aura’s man page, or its new info entry.

Migration from Aura 3

The normal aura package is now the recommended installation method. For everyone who used to use aura-bin, please consider switching to aura (unless you’re unable to build it yourself for some reason).

It is no longer necessary to run aura with sudo. Aura is now internally aware of when sudo is necessary and will prompt you as needed.

Aura’s configuration format has also changed and it is much more customisable in
general. You can generate a new config file via:

aura conf --gen > ~/.config/aura/config.toml

For more details, see the Migration Guide.

FAQ

Why Rust?

Haskell is an excellent language, but Rust offered some specific advantages for a system tool like Aura. Further, being a Rust project (an approachable, modern language) hosted on Github (the largest FOSS platform) allows for many more people to participate in the package management world.

I thought Aura was an AUR helper?

In 2012 Aura started as just another way to install AUR packages, but since then has evolved to handle many more use cases. Projects like Pacman, Aura, and Manjaro’s Pamac are all called “libalpm frontends”, and perform a variety of system management tasks. These days, only about 30% of Aura’s code is actually related to AUR handling.

How is this different from Yay or Paru?

Alongside Yaourt and pacaur, Aura is one of the originals, about 4 years older than Yay. Paru’s author made a number of innovations in handling Arch packages with Rust, some of which Aura now uses as well.

Otherwise, Aura has the smallest binary of the three yet offers unique features. Historically Aura has also kept all AUR operations to -A, while Yay and Paru mix that into -S. Aura makes no modifications to existing Pacman commands.

Aura utilises its own metadata server for extremely fast package lookups and dependency resolution.

Aura is localised through Mozilla’s Project Fluent system, which is easy to extend. If you’re interested in translating Aura into your language, see the Localisation Guide.

Links

4 Likes