ZaLinux.ru

Как в Linux Mint проверить, установлен ли пакет

Дистрибутивы Linux состоят из одинаковых компонентов: ядро, менеджер отображения, графическое окружение рабочего стола, предустановленные программы. Чтобы пользователи как-то отличали дистрибутивы друг от друга, их сборщики устанавливают разные обои и добавляют свои собственные программы.

К сожалению, желание составителей дистрибутивов выделиться и стать более «дружественным» пользователю приводит к нелепым (скажем прямо, идиотским) проблемам. И, скорее всего, вы уже догадались об этом по заголовку данной статьи.

В любом дистрибутиве, который является производным Debian, используется файловый менеджер apt. Чтобы узнать, установлен ли определённый пакет, достаточно использовать команду apt search и указать имя пакета:

apt search ПАКЕТ

К примеру, меня интересует, установлены ли заголовки ядра:

apt search linux-headers-

Хорошо, команда неудачная, т. к. много разных ядер, возьмём более конкретную и зададим вопрос так «установлены ли заголовки текущего ядра»:

apt search linux-headers-`uname -r`

Вы можете ответить, установлен данный пакет или нет? На самом деле, ответ присутствует, просто из-за того, что вместо оригинальной программы используется файл /usr/local/bin/apt, который является скриптом на Python, использующим программу aptitude (!), формат вывода совершенно отличный от того, который мы ожидаем.

Ответ находится в самом первом столбце, где всего один символ. Значение символов следующее:

  • p — означает, что в системе нет никаких следов этого пакета
  • c — означает, что пакет был удалён, но его конфигурационные файлы остались в системе
  • i — означает, что пакет установлен
  • v — означает, что пакет является виртуальным.

Как в Linux Mint использовать apt вместо aptitude

Много лет я работаю именно с программой apt, а aptitude на многих дистрибутивах, производных от Debian, вовсе не установлена. Поэтому для меня намного привычнее оригинальная программа apt.

Чтобы использовать apt вместо aptitude выполните команду вида:

/usr/bin/apt search ПАКЕТ

Например:

/usr/bin/apt search linux-headers-`uname -r`

Отлично, именно этого я и хотел, краткая информация о пакете с однозначной надписью «[установлен]»:

Всегда полностью вводить /usr/bin/apt неудобно, поэтому возникает вопрос, как избавиться от этого идиотского Python скрипта? Достаточно выполнить команду:

sudo mv /usr/local/bin/apt /usr/local/bin/-apt

И теперь программа вида:

apt search ПАКЕТ

будет давать именно тот результат, который вы ожидаете.

Например:

apt search linux-headers-`uname -r`

Если вы захотите вернуть скрипт обратно, то просто выполните команду:

sudo mv /usr/local/bin/-apt /usr/local/bin/apt

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *