При работе с менеджером deb-пакетов Advanced Packaging Tool (APT) могут возникать ситуации, когда нужно зафиксировать какой-либо установленный пакет на текущей версии и запретить обновление этого пакета при последующих регулярных обновлениях системы командами типа apt-get update && apt-get upgrade
или aptitude update && aptitude upgrade
. Существует несколько вариантов выполнить данную задачу в зависимости от используемых инструментов работы с пакетной базой.
В базовом наборе утилит APT за запрет обновлений пакетов отвечает утилита apt-mark.
Чтобы зафиксировать текущую версию и заблокировать обновление пакета, например с именем «nano», выполним:
# apt-mark hold nano
Чтобы снять блокировку пакета, выполним:
# apt-mark unhold nano
Чтобы показать все зафиксированные пакеты с меткой hold:
# apt-mark showhold
В оболочке Aptitude (оболочка для APT) есть свои команды для работы с меткой «hold».
Чтобы получить список зафиксированных пакетов, выполним:
# aptitude search "~ahold"
В результате выполнения команды появится перечень пакетов, в котором убрать метку удержания на том или ином пакете.
Для снятия с фиксации определённого пакета, можем выполнить команду вида:
# aptitude unhold nano
Если используется какая-либо графическая оболочка, то для управления пакетами может использоваться графическая утилита Synaptic. Здесь можно выделить нужный пакет и в меню «Пакет» выбрать пункт «Заблокировать версию».
Проверено на следующих конфигурациях:
Версия ОС Linux | Версия APT |
---|---|
Debian GNU/Linux Buster 10.11 | apt 1.8.2.3 (amd64) |
Debian GNU/Linux Bullseye 11.2 | apt 2.2.4 (amd64) |
Автор текущей редакции:
Алексей Максимов
Время публикации: 16.03.2022 13:27