Замена apt в Debian/Ubuntu

Замена apt в Debian/Ubuntu

Стандартный менеджер пакетов APT медленный. Загрузка в один поток через, обычно, медленные зеркала (поскольку не оптимизирует их из коробки). Кроме того, у него нет истории, поэтому откат установки/удаления пакетов может быть очень неприятным.

Nala (:octocat: https://github.com/volitank/nala) прекрасно с этим справляется, к тому же, она еще и делает это красиво.

Превью. Изображение результата установки Nala Screen from github

Установка

Первым делом нужно добавить источник в 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 fetch

История

Помимо прочего, nala ведет историю установки/удаления пакетов. Посмотреть которую можно командой:

nala history

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

Комментарии ()