Содержание
Консольные инструменты управления пакетами
Считается, и вполне оправданно, что набрать одну команду в терминале сильно проще, чем кликать мышкой по GUI инструментам. Кроме того, основой Linux всё-таки является терминал. Поэтому я никак не могу обойти описание работы с пакетами из терминала. К тому же большинство инструкций для Ubuntu содержат консольные команды управления пакетами, хотя все операции можно выполнить и через графические приложения. В общем, настоятельно рекомендую прочитать эту статью до конца, хотя на практике вам возможно всё описанное применять и не понадобится.
Утилита dpkg
На самом деле всё очень просто. Существуют два основных инструмента работы с пакетами: aptitude
и dpkg
1). dpkg
- это низкоуровневая программа управления пакетами, единственная полезная её функция для обычного пользователя - это прямая установка пакета из deb-файла. Выполняется она командой
sudo dpkg -i имя_пакета.deb
Для того, чтобы команда успешно выполнилась, в системе должны присутствовать все зависимости устанавливаемого пакета, поскольку dpkg
не умеет их разрешать и скачивать что-либо из репозиториев. Можно так же ставить несколько пакетов за раз, передавая их все как аргументы команде dpkg -i
. Больше я пожалуй ничего про dpkg
рассказывать не буду, да и вряд ли вам как-либо ещё понадобится использовать эту утилиту.
Утилита aptitude
Основным же консольным инструментом работы с пакетами является aptitude
. В некотором смысле это консольный аналог менеджера пакетов Synaptic, хотя aptitude
на самом деле обладает куда как большим функционалом.
Сразу же вспомните про sudo
, поскольку как ни странно, для внесения изменений в установленные компоненты системы aptitude
требует административных полномочий. Хотя некоторые функции, вроде поиска, работают и от имени обычного пользователя.
Начнём с того, что установить пакеты из репозиториев можно командой
sudo aptitude install имя_пакета1 [имя_пакета2 ...]
Сколько бы вы не указали пакетов, aptitude
автоматически разрешит все зависимости и предложит вам конечный вариант необходимых действий, вам останется только лишь согласиться, нажав Enter:
aptitude
предлагает вам в квадратных скобочках три возможных варианта ответа на поставленный вопрос:
[Y/n/?]
Y
означает Yes, то есть согласие, n
- это No, то есть отказ, а ?
- это просьба вывести справку. Вам нужно ввести символ, соответствующий вашему выбору и нажать Enter. Однако часто есть вариант по умолчанию, выделенный в списке большой буквой, и если вам нужен именно он, то вы можете ничего не вводить, просто нажать Enter.
Аналогично установке, удалить пакеты можно одной из двух команд:
sudo aptitude remove имя_пакета1 [имя_пакета2 ...] sudo aptitude purge имя_пакета1 [имя_пакета2 ...]
Первая удаляет только файлы пакета, оставляя пользовательские настройки нетронутыми, вторая же удаляет пакет полностью.
Посмотреть описание конкретного пакета можно командой
aptitude show имя_пакета
Произвести поиск нужного пакета по доступным источникам приложений можно командой
aptitude search фраза
По умолчанию поиск производится по именам пакетов, для поиска по описаниям надо перед искомой фразой добавить символы ~d
2):
aptitude search ~dфраза
Ну и наконец aptitude
имеет мощный графический интерфейс, попасть в него можно набрав в терминале просто aptitude
. Вот как это выглядит:
Несмотря на неприглядный вид работать с этим очень удобно, но всё-таки обычно пользователю более привычны инструменты вроде Synaptic, поэтому подробно описывать работу с графической оболочкой aptitude
я не буду.
И напоследок хочется заметить, что обычно в разнообразных инструкциях для установки пакетов предлагается как раз использовать команду
sudo aptitude install имя_пакета
Это ни в коей мере не значит, что кровь из носу надо исполнять эту команду. Вы спокойно можете поставить указанные пакеты через тот же Synaptic. Просто авторы инструкций обычно экономят своё время на объяснении куда и как надо нажимать в Synaptic, давая вместо всего этого одну маленькую команду. Но в конечном итоге aptitude
и Synaptic выполняют одни и те же действия, так что используйте тот инструмент, который вам удобен.
Утилита apt-get
На самом деле я немного вас обманул. В инструкциях гораздо чаще вместо aptitude
используется apt-get
. apt-get
- это стандартная утилита управления пакетами, используется она ровно так же, как и aptitude
, только у неё нет графического интерфейса и поиска. То есть во всех командах с install
, remove
, purge
можно заместо aptitude
писать apt-get
. Однако apt-get
имеет ряд существенных недостатков3), поэтому напротив, настоятельно рекомендуется вместо неё всегда и везде использовать aptitude
, благо для этого вам если что всего лишь придётся заменить одно слово в команде на другое4).
Я описал только малую часть возможностей консольных утилит управления пакетами, однако всё остальное вам вряд ли потребуется. Теперь осталось только коснуться последней нерассмотренной ещё темы:
P.S. Немного позитива
Разработчики - люди весёлые. Наберите в терминале команду
apt-get moo
Забавно? Как же может ответить на это aptitude
:
aptitude moo
Вот незадача! Но постойте, а если попросить повежливей?
aptitude -v moo
А можно и ещё вежливей, и даже намного вежливей:
aptitude -vv moo aptitude -vvv moo
Что называется, продолжайте по аналогии. Но это всё развлечения, нас же ждёт следующая тема:
apt-get
, который вообще говоря является стандартным менеджером пакетов для терминала, однако его не рекомендуется использовать. Немного об этой программе я расскажу в конце статьи.aptitude
поддерживает огромное количество модификаторов поиска, кроме ~d
, вообще механизм поиска у aptitude
очень мощный, так что при необходимости можете поинтересоваться им. Однако обычно всё-таки проще искать через Synaptic или Центр Приложений.aptitude
, однако некритичных. apt-get
хуже обрабатывает зависимости в некоторых случаях, не имеет мощного поиска и графического консольного интерфейса и не ведёт логов выполняемых операций.apt-get
, просто замените в ней apt-get
на aptitude
и всё отлично заработает.