Skip to content

fosskers/aura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Aura Package Manager

img Crates.io Version img Uptime Robot ratio (30 days)

🇬🇧 🇯🇵 🇭🇷 🇸🇪 🇩🇪 🇪🇸 🇵🇹 🇫🇷 🇷🇺 🇮🇹 🇷🇸 🇳🇴 🇮🇩 🇨🇳 🇳🇱 🇹🇷 🇸🇦 🇺🇦 🇷🇴 🇻🇳 🇨🇿 🇰🇷 🇮🇳 🇧🇩

Welcome to the main repository for Aura, a multilingual package manager for Arch Linux.

Looking for help? Try:

  • The Aura Book for the online Manual.
  • info aura for an offline variant of the Book.
  • man aura for a detailed explanation of the entire command-line interface.
  • aura -h for simple CLI help.

Looking to migrate from Aura 3 to Aura 4? See the Migration Guide.

If this project is useful to you, please consider sponsoring it.

Table of Contents

What is Aura?

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.

The Aura Philosophy

Aura is Pacman

Aura doesn't just mimic pacman; it is pacman. All pacman operations and their sub-options are accepted, as-is.

Arch is Arch - AUR is AUR

Aura does not augment or alter pacman's commands in any way.

-S yields repository packages and only those. In Aura, the -A operation is introduced for obtaining AUR packages. -A comes with sub-options you're used to (-u, -s, -i, etc.) and adds new ones to enhance AUR interaction.

Downgradibility

Aura allows you to downgrade individual packages to previous versions with -C. It also handles snapshots of your entire system, so that you can roll back whole sets of packages when problems arise. The option -B will save a package state, and -Br will restore a state you select. -Au also invokes a save automatically.

Independence

Aura has its own configuration file, its own local package cache, and its own Metadata Server called the Faur. The Faur in particular helps reduce traffic to the main AUR server and allows us to provide unique package lookup schemes not otherwise available.

Multilingualism

English is the dominant language of computing and the internet. That said, it's natural that some people are going to be more comfortable working in their native language. From the beginning, Aura has been built with multiple-language support in mind, making it very easy to add new ones via the Project Fluent format.

Installation

From the AUR

The Tagged Release

The recommended package is simply named aura. It uses cargo to build a fresh binary on your machine, based on releases made to Rust's crates.io.

git clone https://aur.archlinux.org/aura.git
cd aura
makepkg -s
sudo pacman -U <the-package-file-that-makepkg-produces>

The git-based Build

If instead you'd like to directly track updates to Aura's master branch, install the git variant:

git clone https://aur.archlinux.org/aura-git.git
cd aura-git
makepkg -s
sudo pacman -U <the-package-file-that-makepkg-produces>

The Prebuilt Binary

Finally, if you don't wish to build Aura yourself or want to avoid any trace of Rust tooling on your machine, there is a prebuilt binary of Aura for x86_64 machines:

git clone https://aur.archlinux.org/aura-bin.git
cd aura-bin
makepkg -s
sudo pacman -U <the-package-file-that-makepkg-produces>

Building from Source

If you already have Rust tooling installed on your machine and/or wish to help develop Aura, you can also install it manually:

git clone https://github.com/fosskers/aura.git
cd aura/rust
cargo install --path aura-pm

This will build and install the binary to /home/YOU/.cargo/bin/.

Keep in mind that this variant of Aura won't be tracked in pacman's database, and so it will be easier to miss updates. It also does not install completions or other documentation files like manpages.

Post-installation

The first thing you should do is run check:

aura check

This will scan your system for irregularities and suggest fixes. Second, you should generate an Aura config file:

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

Consider setting the language field here, if you wish to use Aura in a language other than English. The available language codes are viewable via:

aura stats --lang

Aura will also automatically detect your locale via LANG, so you only need to set language if you want a custom combination of system language and Aura language.

Sample Usage

Full usage information can be found in Aura's man page and within The Book.

❗ Attention: As of the 4.x series, sudo is no longer necessary when running Aura. When escalated privileges are required, Aura will automatically prompt you.

  • -A: Search and install packages from the AUR.
> aura -A qlot
  • -B: Create and restore snapshots of installed packages.
> aura -B
aura :: Saved package state.
  • -C: Downgrade installed packages.
> aura -C qlot
aura :: What version of qlot do you want?
 0) 1.5.6-1
 1) 1.5.1-1
>>
  • -L: Search and inspect the ALPM log.
> aura -Li firefox
Name           : firefox
First Install  : 2016-05-03 08:46
Upgrades       : 176
Recent Actions : 
[2024-02-24T07:29:46+0900] [ALPM] upgraded firefox (122.0.1-1 -> 123.0-1)
[2024-03-11T16:42:37+0900] [ALPM] upgraded firefox (123.0-1 -> 123.0.1-1)
[2024-03-24T15:03:33+0900] [ALPM] upgraded firefox (123.0.1-1 -> 124.0.1-1)
  • -O: Handle "orphans" - dependencies whose parent package is no longer installed.
> aura -O
asar 3.2.8-1
  • check: Validate your system.
> aura check
aura :: Validating your system.
aura :: Environment
  [✓] locale -a contains LANG value? (en_US.UTF-8)
  [✓] Aura is localised to your LANG?
  [✓] EDITOR variable set?
  [✓] EDITOR value (emacs) is executable?
  [✓] Java environment set?
... etc. ...
  • conf: Inspect or generate Aura configuration.
> aura conf --gen > ~/.config/aura/config.toml
  • deps: View the dependency graph of given packages.
> aura deps gcc --reverse --optional --limit=3 --open

  • free: List installed packages with potentially non-free software licenses.
> aura free
adobe-source-code-pro-fonts: custom
aspell-en: custom
blas: custom
boost: custom
boost-libs: custom
cantarell-fonts: custom:SIL
... etc. ...
  • stats: View statistics about your machine and Aura itself.
> aura stats
Host                 : yumi
User                 : colin
Distribution         : Arch Linux
Editor               : emacs
Installed packages   : 1144
Pacman Package Cache : 7.05GiB
Aura Package Cache   : 1.29GiB
Aura Build Cache     : 6.49GiB
/tmp Directory       : 11.31MiB
  • thanks: Credit to the Pacman team, Aura's authors, and Aura's translators.

Configuration

Aura looks for a configuration file at ~/.config/aura/config.toml, but won't break if one isn't present. To generate one:

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

Configuration details can be found in The Book or within info aura.

Localisation

As mentioned in the Philosophy above, adding new languages to Aura is quite easy. If you speak a language other than those available and would like it added to Aura, please see the Localisation section of The Aura Book.

Credits

Aura has been translated by these generous people:

Language Translators
Arabic "Array in a Matrix"
Bengali Saif Shahriar
Chinese Kai Zhang and Alex3236
Croatian Denis Kasak and "stranac"
Czech Daniel Rosel
Dutch Joris Blanken and Heimen Stoffels
Esperanto Zachary "Ghosy" Matthews
French Ma Jiehong and Fabien Dubosson
German Lukas Niederbremer and Jonas Platte
Hindi "yozachar"
Indonesian "pak tua Greg"
Italian Bob Valantin and Cristian Tentella
Japanese Colin Woodbury and Onoue Takuro
Korean "Nioden"
Norwegian "chinatsun"
Polish Chris Warrick, Michał Kurek
Portuguese Henry Kupty, Thiago Perrotta, and Wagner Amaral
Romanian "90", "benone"
Russian Kyrylo Silin, Alexey Kotlyarov, SuperSuslik312
Serbian Filip Brcic
Spanish Alejandro Gómez, Sergio Conde and Max Ferrer
Swedish Fredrik Haikarainen and Daniel Beecham
Turkish Cihan Alkan
Ukrainian Andriy Cherniy
Vietnamese "Kritiqual"

Aura's logo is thanks to the designer Cristiano Vitorino.