Замена 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