TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 9.03K subscribers
Post #4379 2.55K
​​Как узнать какие пакеты установлены из определенного репозитория

Очень часто, наводя порядок или планируя обновление системы встает вопрос о подключенных репозиториях, в частности о том, для чего они нужны и какие пакеты из них установлены.

Прямого способа сделать это нет, но Linux тем и хорош, что позволяет решить задачу различными способами, в нашем случае мы будем использовать apt-patterns, позволяющий использовать регулярные выражения с командами apt.

Чтобы получить интересующую нас информацию прежде всего выведем список подключенных репозиториев командой:

apt policy 


В ее выводе нас прежде всего будет интересовать опция «источник (origin)», которая выводится после ключа o=.

Теперь мы можем получить полный список пакетов из этого репозитория командой:

apt list ~Onginx


В данном случае указываем наименование источника сразу после ключа ~O, без пробела. Обратите внимание, что данная команда выводит все пакеты, содержащиеся в репозитории, установленные пакеты при этом помечены отдельно как [установлен].

Если репозиторий небольшой, то этого достаточно. Вы можете быстро понять, что из него уже установлено, что вы можете установить и нужно ли это вам вообще в текущий момент времени.

В противном случае нужно будет добавить дополнительные отборы, например, добавим фильтр по только установленным пакетам:

apt list ?and\(~i\,~Oprox\)


Здесь мы соединили через логическое И два условия: пакет установлен ~i и пакет принадлежит определенному источнику ~O, также не забывайте использовать обратный слеш для экранирования служебных символов.

Также обратите внимание, что имя источника не обязательно указывать полностью, так как это регулярное выражение. Так для репозитория o=Proxmox мы использовали просто ~Oprox.

Но здесь нас может поджидать несколько иная сложность, среди установленных пактов нам могут попасться пакеты со статусом [установлен, автоматически] и их может быть много, очень много.

Статус [установлен, автоматически] обозначает что мы не выбирали этот пакет для установки, и он был получен автоматически, по зависимостям. Для больших репозиториев таких пакетов может оказаться сильно много, и они серьезно ухудшают восприятие. Поэтом добавим еще одно условие:

apt list ?and\(~i\,\!~M\,~Oprox\)


Где параметр !~M обозначает «кроме установленных автоматически». Теперь вывод команды покажет только пакеты, которые были установлены вручную из указанного репозитория.

Данные конструкции можно использовать не только с командой apt list, но и с любыми другими командами apt, например для установки или удаления пакетов. А больше информации вы можете получить при помощи:

man apt-patterns


Ну или обратившись к подобной информации в сети интернет.
  • 👍 22
  • ❤ 4
  • ⚡ 1
More from @interface31
  1. Oct 16, 2026Selectel обновил пользовательское соглашение. А что там? Правильно: 6.4. Исполнитель не не…
  2. Oct 16, 2026Post #6889
  3. Oct 15, 2026И еще немного про алиасы в PowerShell PowerShell предлагает большой набор встроенных алиас…
  4. Oct 15, 2026Post #6883
  5. Oct 15, 2026Настраиваем политику паролей в Linux Во многих дистрибутивах Linux (а более подробно мы бу…
  6. Oct 15, 2026Post #6881
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →