De release van project Aura 4.0.0 is gepresenteerd, dat de pakketbeheerder voor de Arch Linux-distributie ontwikkelt en de mogelijkheden van de standaardpakketbeheerder Pacman uitbreidt. Het project is opgericht in 2012 en was oorspronkelijk gericht op het bieden van hulpmiddelen voor het bouwen van pakketten voor de AUR (Arch User Repository), die wordt gebruikt voor de distributie van pakketten van externe ontwikkelaars die niet in de hoofdrepositories van de Arch Linux-distributie zijn opgenomen. De code van het project is beschikbaar onder de GPLv3-licentie.
Naast AUR-specifieke functies biedt Aura ook andere mogelijkheden die de functionaliteit van Pacman uitbreiden (momenteel is slechts 1/3 van de uitgebreide mogelijkheden van Aura gerelateerd aan AUR). Bijvoorbeeld, er zijn hulpmiddelen beschikbaar voor visuele analyse van afhankelijkheden, het werken met snapshots van pakketten (om de toestand op te slaan en te herstellen), het beheren van overgebleven afhankelijkheden en het terugdraaien van afzonderlijke pakketten of het hele systeem naar eerdere versies.
De Aura-pakketbeheerder is volledig achterwaarts compatibel met Pacman en ondersteunt al zijn opdrachten en opties (Aura kan worden gebruikt als vervanging voor Pacman met uitgebreide functies). Extra mogelijkheden gerelateerd aan AUR worden geactiveerd door de optie van de opdrachtregel «-A» op te geven, terwijl de hulpmiddelen voor het werken met snapshots en versies via de opties «-B» en «-C» worden benaderd, die niet overlappen met de opties van Pacman. Verder worden extra opdrachten zoals «check», «conf», «free», «stats» en «deps» aangeboden voor systeemintegriteitscontrole, configuratiebeheer, licentieanalyse, statistiekweergave en afhankelijkheidsanalyse.
De functionaliteit van Pacman wordt gereproduceerd door het gebruik van de libalpm-bibliotheek, die de basisfunctionaliteit voor pakketbeheer biedt, die wordt toegepast in de pakketbeheerder Pacman. Het project ondersteunt ook een eigen server met pakketmetadata, waardoor het zoeken naar pakketten en het oplossen van afhankelijkheden aanzienlijk wordt versneld.
De nieuwe versie is opmerkelijk vanwege de volledige herschrijving van de codebase, die is overgezet van het gebruik van de programmeertaal Haskell naar de programmeertaal Rust. De taalswitch heeft de prestaties aanzienlijk verbeterd, de installatie vereenvoudigd, gebruik gemaakt van bestaande Rust-bindingen voor libalpm, het project aantrekkelijker gemaakt voor nieuwe ontwikkelaars, de commandoregelinterface verbeterd en de grootte van het uitvoerbare bestand met vier keer verminderd.
De opdracht Ā«aura depsĀ» is toegevoegd, waarmee afbeeldingen van afhankelijkheden kunnen worden gegenereerd. Om bijvoorbeeld pakketten te bekijken die van gcc afhankelijk zijn, kan het commando Ā«aura deps gcc āreverse āoptional āopenĀ» worden uitgevoerd, en om de pakketten te bekijken waarvan gcc afhankelijk is ā Ā«aura deps gcc ālimit=3 āopenĀ»:


Bron: opennet.ru
