Пакетный менеджер Aura для дистрибутива Arch Linux вырос до версии 4.0.0 — его полностью переписали на Rust

Это позволило увеличить производительность и не только.

Aura, пакетный менеджер, расширяющий возможности штатного Pacman для дистрибутива Arch Linux, выпущен в версии 4.0.0. Проект, запущенный в 2012 году, изначально был нацелен на работу с репозиторием AUR (Arch User Repository), где сторонние разработчики размещают свои пакеты. А сейчас Aura может предложить набор функций, которые выходят за рамки AUR.

archlinux_title.jpg

Новая версия знаменует собой радикальное изменение в архитектуре проекта: кодовая база полностью переписана с языка Haskell на Rust. Данное решение позволило не только увеличить производительность и упростить установку, но и сделать проект более привлекательным для новых разработчиков. В числе других преимуществ — улучшенный интерфейс командной строки и сокращение размера исполняемого файла в четыре раза.

Aura обеспечивает полную обратную совместимость с Pacman, поддерживая все его команды и опции. Фактически, Aura можно рассматривать как расширенную версию Pacman. Дополнительные функции, связанные с AUR, вызываются с помощью опции »-A», а для работы со снапшотами и версиями используются опции »-B» и »-С», не конфликтующие с опциями Pacman.

Среди дополнительных возможностей Aura — инструменты для визуализации зависимостей, работы со снапшотами наборов пакетов (сохранение и восстановление состояния), управления остаточными зависимостями, а также отката отдельных пакетов или всей системы на предыдущие версии. Также доступны новые команды, такие как «check», «conf», «free», «stats» и «deps» для проверки целостности системы, работы с конфигурацией, анализа лицензий, просмотра статистики и разбора зависимостей.

В новой версии появилась команда «aura deps», отвечающая за генерацию изображения с наглядным представлением зависимостей. Например, чтобы увидеть, какие пакеты зависят от gcc, можно выполнить команду «aura deps gcc --reverse --optional --open», а для просмотра списка пакетов, от которых зависит gcc — команду «aura deps gcc --limit=3 --open».

Для ускорения поиска пакетов и разрешения зависимостей разработчики Aura поддерживают собственный сервер с метаданными пакетов. Переход на Rust также позволил использовать готовые Rust-биндинги к библиотеке libalpm, которая отвечает за базовые функции управления пакетами. Код проекта открыт и распространяется под лицензией GPLv3.

©  overclockers.ru