Шрифт:
Интервал:
Закладка:
Редко, но бывает так, что приходится устанавливать пакеты из какого-либо иного источника, нежели PPA-репозитории. Но в этом случае грамотно сделанный пакет при установке сам добавляет свой репозиторий в общий список — так, например, происходит при установке биаузера Opera версии 26.X для Linux. Либо — сопровождается сведениями о том, как это сделать самостоятельно. Если ни того, ни другого не имеет места быть — возникает вопрос: а стоит ли связываться с таким пакетом?
Управление пакетами
Работа с пакетами предполагает следующие действия — их установку с занесением в локальную базу данных, отслеживание зависимостей (и иногда их разрешение) обновление, удаление, получение информации о пакетах, иногда конфигурирование. Для понимания сути их необходимо дать
Терминологическое введение
В системах пакетного менеджмента deb based дистрибутивов, в том числе и в Mint, пакеты объединяются в категории, секции и группы. Список категорий включает следующие пункты:
• Установленные пакеты — очевидно из названия;
• Обновляемые пакеты — установленные пакеты, для которых в репозитории доступны более новые версии;
• New Packages — пакеты, добавленные в локальный кэш после последней его очистки;
• Неустановленные пакеты — пакеты, отсутствующие в системе, но доступные из репозиториев;
• Виртуальные пакеты — не существующие пакеты, указывающие на другие пакеты, которые нужно использовать или которые предоставляют схожие функции.;
• Задачи (Tasks) — группы пакетов (метапакеты), которые предоставляют лёгкий способ выбора заранее сформированного набора пакетов под определённую цель.
В секции пакеты группируются по назначению: программы для администрирования, базовые пакеты, текстовые редакторы, и так далее.
Группы представляющие собой разделы официального репозитория. В Mint они таковы: main, upstream, import, backport, romeo.
Каждый пакет в терминологии имеет основной статус, обозначаемый строчной литерой; в их число входят:
• i (от install) — установленный пакет;
• p (от purge) — пакет не установленный или деинсталлированный «вчистую» (то есть с удалением его конфигурационных файлов);
• c (от clean) — пакет, деинсталлированный с сохранением конфигурационных файлов;
• v (от virtual) — виртуальный пакет.
Кроме того, пакеты могут иметь один из следующих дополнительных статусов, хотя это и не обязательно:
• A (от Auto) — установленный автоматически, как зависимость другого пакета; пакеты, не имеющие статуса A, считаются установленными вручную;
• h (от hold) — пакет с фиксированной версией (то есть не подверженный апгрейду);
• u (от unpacked) — пакет распакованный, но не установленный;
• H — «недоустановленный» пакет;
• C — пакет установленный, но не настроенный;
• B — «сломанный» пакет, то есть установленный с нарушением зависимостей.
Обращаю особое внимание на пакеты, имеющие статус A: они устанавливаются вместе со своими зависимостями и могут быть удалены только вместе с ними. Правда, как мы увидим дальше, статус установленного пакета может быть изменён, и тогда он станет доступным для индивидуального удаления.
В сущности, все действия по управлению пакетами в Mint сводятся к изменению их статуса. И делается это с помощью инструментов текстового режима (утилиты dpkg и apt) или графических фронт-эндов (Менеджер программ и Synaptic).
Средства для работы с пакетами. Обзор
Инструментарий для работы с пакетами можно разделить на пять групп:
• установщики пакетов;
• оболочки для них;
• менеджеры пакетов;
• их графические фронт-энды;
• центры приложений.
Первая группа — это низкоуровневые утилиты для работы с единичными пакетами: их установки, удаления, etc. В нашем случае эту роль выполняет семейство утилит dpkg. Отслеживание зависимостей здесь выполняется на уровне удовлетворения или неудовлетворения, попыток автоматического разрешения зависимостей не предпринимается. Семейство это не уникально для Mint, а присутствует во всех дистрибутивах, использующих deb-формат пакетов.
Оболочки для установщиков пакетов выполняют те же самые функции, что и они сами, но посредством не прямых команд, а графического интерфейса. В Mint такой оболочкой для dpkg является Gdebi.
Менеджеры пакетов работают уже не с единичными пакетами, а с их репозиториями. И, кроме перечисленных функций, их непременной обязанностью является не только отслеживание зависимостей, но и их автоматическое, по возможности, разрешение. В большинстве deb based дистрибутивов эту роль выполняет семейство утилит APT. Однако в Mint имеется собственная реализация такого инструмента в лице интегрированной утилиты apt — её следует чётко отличать от одноимённой команды из обще-Debian'овского APT-семейства.
Четвёртая группа — графические фронт-энды для менеджеров пакетов. В Mint она представлена программой Synaptic.
Что же касается пятой группы — это самые высокоуровневые программы, в которых прозрачно для применителя интегрированы функции поиска пакетов в Сети, подключения к содержащим их репозиториями и собственно пакетный менеджмент. Название её заимствовано от Центра приложений Ubuntu — первого представителя этой группы. В Mint её аналогом выступает Менеджер программ, о котором говорилось в очерке про фирменные утилиты этого дистрибутива. Остальные же инструменты работы с пакетами будут рассмотрены в ближайших очерках.
Установщик пакетов dpkg
Утилиты семейства dpkg, предназначенные для работы с единичными deb-пакетами, были исторически первым средством автоматического развертывания пакетов, учитывающим их зависимости. Они лежат в фундаменте всех надстраивающих их систем (apt, synaptic, mintinstall. В ряде случаев dpkg оказывается наиболее простым средством для установки или удаления пакета, а также получения информации о нем. Кроме того, одна из утилит семейства, dpkg-reconfigure, с которой мы сталкивались во время доводки текстовой консоли, оказывается незаменимой при настройке пакетов установленных.
Вообще, возможности утилит семейства (см. man (1) dpkg) очень широки, и потому заслуживают рассмотрения, хотя бы в минимально необходимом для применителя объёме. Наиболее употребимы из них — следующие:
• собственно dpkg — средство для установки и удаления программ;
• dpkg-query — инструмент создания запросов к базе данных deb-пакетов;
• dpkg-reconfigure — программа для настройки установленных пакетов.
А вообще это семейство включает в себя около 25 утилит — полный их список можно просмотреть таким образом:
ls /usr/sbin/dpkg* /usr/bin/dpkg*
Утилиты эти входят в состав пакетов dpkg и dpkg-dev; первый, предназначенный для основных действий с бинарными пакетами, устанавливается по умолчанию в ходе первичной инсталляции; второй же, включающий утилиты для манипуляции с пакетами исходников, должен быть установлен дополнительно (или устанавливается как зависимость при инсталляции deb-специфичного сборочного инструментария).
Для начала рассмотрим установку пакетов. Итак, если нам необходимо установить единичный пакет, поступаем так:
$ dpkg -i path2/packagename.deb
и дело в шляпе — через считанные мгновения пакет packagename.deb будет установлен: это обеспечивает опция -i (от install) вслед за командой dpkg. Дабы в дальнейшем не повторяться, замечу, что все действия по установке и удалению пакетов требуют полномочий администратора, приобретаемых временно командой sudo.
Разумеется, успешной установка пакета будет только при соблюдении следующих условий:
1. физическом наличии его в пределах досягаемости с локальной машины (на подключенной файловой системе, смонтированном компакт-диске или ином носителе);
2. знании точного пути (path2) к нужному файлу пакета (имя его, кстати, должно быть указано полностью);
3. отсутствии неудовлетворенных зависимостей.
Из первого условия следует, что dpkg удобно использовать при доустановке компонентов с инсталляционного CD/DVD (или установке заблаговременно скачанных пакетов). Второе условие самоочевидно. Ну а третье также выполнимо без особого труда: в случае нарушения зависимостей dpkg выдаст сообщение об ошибке с полным перечнем того, что нужно установить для ее устранения, причём в списке будут перечислены только обязательные зависимости. И достаточно все необходимые пакеты поместить в командную строку:
$ sudo dpkg -i path2/packagename1.deb … path2/packagename#.deb
для того, чтобы они были установлены единой операцией (если, конечно, все эти пакеты имеются в наличии).
Другое часто требующееся применение команды dpkg — удаление ненужных пакетов. Это делается двояко: команда
$ sudo dpkg -r packagename
удалит пакет, но сохранит настроечные его файлы, а команда
- Linux - Алексей Стахнов - Программное обеспечение
- Разработка приложений в среде Linux. Второе издание - Майкл Джонсон - Программное обеспечение
- Основы программирования в Linux - Нейл Мэтью - Программное обеспечение
- Fedora 8 Руководство пользователя - Денис Колисниченко - Программное обеспечение
- Операционная система UNIX - Андрей Робачевский - Программное обеспечение
- Windows Vista. Мультимедийный курс - Олег Мединов - Программное обеспечение
- Windows Vista - Виталий Леонтьев - Программное обеспечение
- Недокументированные и малоизвестные возможности Windows XP - Роман Клименко - Программное обеспечение
- Изучаем Windows Vista. Начали! - Дмитрий Донцов - Программное обеспечение
- Компьютерные сети. 6-е изд. - Эндрю Таненбаум - Прочая околокомпьтерная литература / Интернет / Программное обеспечение