Замена apt в Debian/Ubuntu
Стандартный менеджер пакетов APT медленный. Загрузка в один поток через, обычно, медленные зеркала (поскольку не оптимизирует их из коробки). Кроме того, у него нет истории, поэтому откат установки/удаления пакетов может быть очень неприятным.
Nala (:octocat: https://github.com/volitank/nala) прекрасно с этим справляется, к тому же, она еще и делает это красиво.
![]() |
![]() |
Установка
Первым делом нужно добавить источник в sources.list:
echo "deb http://deb.volian.org/volian/ scar main" | sudo tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list; wget -qO - https://deb.volian.org/volian/scar.key | sudo tee /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg
Для Debian Sid и Ubuntu 22+ установка стандартная:
sudo apt update && sudo apt install nala
Для Debian Stable и Ubunntu старше 22 версии, нужно устанавливать nala-legacy
sudo apt update && sudo apt install nala-legacy
Ускоряем загрузку и обновление пакетов
Одна из крутых фишек Nala в том, что мы можем простым действием проверить скорость загрузки с известных зеркал и настроить, какие из них использовать. Штука удобная для проверки и выбора наиболее близких к вам зеркал.
Делается следующей командой:
sudo nala fetch
На данный момент
fetchработает только наDebian,Ubuntuи производных сборках привязанных к основным репозиториям. Например,Pop!_OS
После проверки зеркал, будет выведен список самых быстрых из них (оценка производится по скорости загрузки Release файла с зеркала):

Рекомендуют выбирать 3 самых быстрых зеркала из предложенных. Я же выбираю 6 или меньше, в зависимости от их оценки:

История
Помимо прочего, nala ведет историю установки/удаления пакетов. Посмотреть которую можно командой:
nala history
С помощью undo и redo можно соответственно отменять и повторять действия в истории. Штука очень удобная.
На данный момент поддерживаются только операции Установки и Удаления. Обновление системы нельзя отменить с помощью истории.
И undo, и redo требуют в качестве параметра ID записи из истории. Например:
sudo nala history undo 55
, отменит действие 55 (установка cpp-10 см. скрин выше).
Создание алиаса с apt на nala
Чтобы не переучиваться писать или просто лень, или вы часто копируете установки из интернета, можно создать в .bashrc алиас на nala.
Для этого добавим следующие строки в файлы ~/.bashrc и /root/.bashrc:
# replace apt with nala
alias apt='nala'
Хотя у меня этот вариант работает нормально с sudo, в интернетах пишут, что может и не работать. Если у вас не сработало, попробуйте вместо предыдущего добавить такое:
apt() {
command nala "$@"
}
sudo() {
if [ "$1" = "apt" ]; then
shift
command sudo nala "$@"
else
command sudo "$@"
fi
}
На этом все. Теперь можно спокойно писать apt и вместо него будет работать nala.
Nala сильно упрощает жизьн, ускоряя процесс загрузки и помогая легкого отменять и применять действия в истории. Штука очень удобная.
Теги: Linux


