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

Это старая версия документа.


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

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

Утилита dpkg

На самом деле всё очень просто. Существуют два основных инструмента работы с пакетами: aptitude и dpkg (на самом деле есть ещё apt-get, но о нём я расскажу ниже). dpkg - это низкоуровневая программа управления пакетами, единственная полезная её функция для обычного пользователя - это прямая установка пакета из deb-файла. Выполняется она командой

sudo dpkg -i имя_пакета.deb

Для того, чтобы команда успешно выполнилась, в системе должны присутствовать все зависимости устанавливаемого пакета, поскольку dpkg не умеет разрешать зависимости и скачивать что-либо из репозиториев. Можно так же ставить несколько пакетов за раз, передавая их все как аргументы команде dpkg -i. Больше я пожалуй ничего про dpkg рассказывать не буду, да и вряд ли вам как-либо ещё понадобится использовать эту утилиту.

Утилита aptitude

Основным же консольным инструментом работы с пакетами является aptitude. В некотором смысле это консольный аналог менеджера пакетов Synaptic, хотя aptitude на самом деле обладает куда как большим функционалом.

Начнём с того, что установить пакеты из репозиториев можно командой

sudo aptitude install имя_пакета1 [имя_пакета2 ...]

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

картинко

Аналогично установке, удалить пакеты можно одной из двух команд:

sudo aptitude remove имя_пакета1 [имя_пакета2 ...]
sudo aptitude purge имя_пакета1 [имя_пакета2 ...]

Первая удаляет только файлы пакета, оставляя пользовательские настройки нетронутыми, вторая же удаляет пакет полностью.

Посмотреть описание конкретного пакета можно командой

aptitude show имя_пакета

Произвести поиск нужного пакета по доступным источникам приложений можно командой

aptitude search фраза

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

aptitude search ~dфраза

На самом деле aptitude поддерживает ещё огромное количество модификаторов поиска, кроме ~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 имеет ряд существенных недостатков, поэтому всегда и везде я настоятельно рекомендую вместо неё использовать aptitude, благо для этого вам всего лишь придётся заменить одно слово в команде на другое.

Я описал только малую часть возможностей консольных утилит управления пакетами, однако всё остальное вам вряд ли потребуется. Теперь осталось только коснуться последней нерассмотренной ещё темы:

P.S. Немного позитива

Разработчики - люди весёлые. Наберите в терминале команду

apt-get moo

Забавно? Как же может ответить на это aptitude:

aptitude moo

Вот незадача! Но постойте, а если попросить повежливей?

aptitude -v moo

А можно и ещё вежливей, и даже намного вежливей:

aptitude -vv moo
aptitude -vvv moo

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