Руководство по Ubuntu для новичков

Консольные инструменты управления пакетами

Считается, и вполне оправданно, что набрать одну команду в терминале сильно проще, чем кликать мышкой по GUI инструментам. Кроме того, основой Linux всё-таки является терминал. Поэтому я никак не могу обойти описание работы с пакетами из терминала. К тому же большинство инструкций для Ubuntu содержат консольные команды управления пакетами, хотя все операции можно выполнить и через графические приложения. В общем, настоятельно рекомендую прочитать эту статью до конца, хотя на практике вам возможно всё описанное применять и не понадобится.

Утилита dpkg

На самом деле всё очень просто. Существуют два основных инструмента работы с пакетами: aptitude и dpkg1). 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 фраза

По умолчанию поиск производится по именам пакетов, для поиска по описаниям надо перед искомой фразой добавить символы ~d2):

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

Что называется, продолжайте по аналогии. Но это всё развлечения, нас же ждёт следующая тема:

1) На самом деле есть ещё apt-get, который вообще говоря является стандартным менеджером пакетов для терминала, однако его не рекомендуется использовать. Немного об этой программе я расскажу в конце статьи.
2) aptitude поддерживает огромное количество модификаторов поиска, кроме ~d, вообще механизм поиска у aptitude очень мощный, так что при необходимости можете поинтересоваться им. Однако обычно всё-таки проще искать через Synaptic или Центр Приложений.
3) Существенных по сравнению с aptitude, однако некритичных. apt-get хуже обрабатывает зависимости в некоторых случаях, не имеет мощного поиска и графического консольного интерфейса и не ведёт логов выполняемых операций.
4) То есть если вы видите какую-нибудь команду с apt-get, просто замените в ней apt-get на aptitude и всё отлично заработает.