Система управления пакетами Debian
Хотя система управления пакетами Debian позволяет устанавливать про- граммное обеспечение как с CD/DVD-ROM или архивов на жестких дисках, так и с сетевых источников, структура ее в первую очередь ориентирована на удобство сетевой установки непосредственно с FTP-зеркала архива Debian. Структура размещения файлов на дисках установочного комплекта Debian GNU/Linux следует структуре архивов на FTP-серверах Debian.
Обычно в архивах представлены три типа дистрибутивов Debian:
r stable — стабильные;
r unstable — не прошедшие должного тестирования дистрибутивы;
r frozen — старые дистрибутивы, обновление которых прекращено.
Архив программного обеспечения Debian разделен на несколько секций. Критериями разделения являются:
r соответствие программ критериям свободы, принятым в Debian;
r наличие или отсутствие экспортных ограничений на программное обеспе- чение, связанных с особенностями законодательства США;
r в пакете находятся скомпилированные программы или же исходный код;
r принадлежность пакета либо к стабильной ветви, либо к эксперимен- тальной.
По критерию свободы программного обеспечения в архиве Debian выделены секции, приведенные в списке далее:
r main — программное обеспечение, полностью соответствующее критерию свободы Debian. Все пакеты, принадлежащие этой секции, не зависят от каких-либо пакетов, принадлежащих другим секциям;
r contrib — свободное программное обеспечение (по критерию Debian);
r non-free — программное обеспечение, не соответствующее критерию свободы;
r программное обеспечение, подпадающее под экспортные ограничения США, размещается в иерархии non-US. В иерархии non-US также выделе- ны секции main, contrib и non-free.
Кроме того, все пакеты классифицированы по уровню приоритета:
r required — пакет должен быть установлен для правильной работы ОС;
r important — важные пакеты для UNIX подобных ОС;
r standard — утилиты командной строки;
r optional — дополнительные пакеты и пакеты X Window;
r extra — пакеты для специфического или частного применения, возможно, конфликтующие с пакетами из более приоритетных секций.
При работе с системой управления пакетами Debian используются программы:
r dselect — высокоуровневая программа управления пакетами, с интер- фейсом меню и возможностью индивидуального выбора пакетов;
r aptitude — исключительно удобная высокоуровневая программа управ- ления пакетами, ориентированная на текстовый интерфейс. Облегчает управление пакетами, т. к. визуализирует иерархическую структуру клас- сификации пакетов, позволяя быстрее находить требуемые пакеты;
r tasksel — программа, позволяющая управлять целыми группами пакетов, относящимися к заранее определенным категориям (так называемые tasks — наборы пакетов). Эта программа идеальна при отсутствии необ- ходимости индивидуального управления пакетами, т. к. позволяет разом установить целый набор пакетов, связанных с выполнением какой-либо задачи, например, программирования на языке Python;
r dpkg — низкоуровневая утилита с интерфейсом командной строки для ин- дивидуального управления пакетами. Позволяет установить программное обеспечение непосредственно из файла пакета (.deb-файла);
r apt-get и apt-cache — утилиты с интерфейсом командной строки для индивидуального управления пакетами и манипуляций их источниками.
Утилиты dselect, aptitude и tasksel предоставляют удобный пользователь- ский интерфейс, базируясь на функциональности программ dpkg и apt-get. Есть множество других утилит для управления пакетами в Debian, в том числе и с графическим интерфейсом, которые также базируются на dpkg и apt-get.
Программы dpkg и apt-get предполагают, что база данных системы управле- ния пакетами Debian размещается в каталоге /var/lib/dpkg. Здесь находятся файлы с информацией о списке доступных и установленных пакетов и о ста- тусе пакетов.
Программа dselect предоставляет следующие возможности (в виде меню):
r выбор метода доступа к источнику пакетов;
r обновление списка доступных пакетов;
r выбор набора пакетов, установка флагов удаления и добавления пакетов;
r установка и обновление выбранных пакетов;
r настройка установленных, но не сконфигурированных пакетов;
r удаление ненужных пакетов.
На этапе выбора программного обеспечения с помощью dselect фактически происходит изменение флагов состояния пакетов в файле /var/lib/dpkg/status.
В режиме выбора пакетов в dselect можно отобразить как список пакетов, так и комментарий к пакету. Важнейшие команды, работающие в режиме выбора пакетов:
D + — выбрать пакет для установки;
D = — запретить обновление пакета;
r : — снять запрет обновления пакета;
r - — удалить пакет;
r _ — удалить пакет и его файлы конфигурации;
r i и I — изменить режим просмотра;
r v и V — изменить подробности информации;
r o и O — изменить сортировки.
Статус пакетов отображается с помощью флагов EIOM:
r E (Error) — ошибка;
r I (Installed state) — состояние установки;
r O (Old mark) — предыдущее состояние;
r M (Mark) — выбранное состояние.
Значением поля E может быть:
r пробел — при установке ошибок не возникло;
r R — наличие серьезной ошибки;
r I — при установке возникла ошибка, которую можно игнорировать. Значением поля I может быть:
r пробел — пакет не установлен;
r * — пакет установлен;
r - — пакет не установлен или удален;
r U — пакет распакован, но не настроен (unpacked);
r C — не сконфигурирован полностью (half-configured);
r I — пакет установлен с ошибками или не полностью (half-installed).
Значениями полей O и M могут быть:
r * — пакет был установлен (поле O) или должен быть установлен (поле M);
r - — пакет был удален (поле O) или должен быть удален (поле M);
D = — пакет был запрещен к обновлению (поле O) или должен быть запре- щен к обновлению (поле M);
r _ — пакет был удален вместе с файлами конфигурации (поле O) или дол- жен быть удален вместе с файлами конфигурации (поле M);
r n — пакет новый и не устанавливался.
Команда dpkg удобна для непосредственного обращения к файлам пакетов
Debian. Наиболее часто используемые опции dpkg:
r -I — отобразить информацию о пакете;
r -f — вывести только требуемую информацию о пакете по заданным по- лям;
r -c — отобразить список файлов, содержащихся в пакете;
r -x — извлечь файлы из пакета в заданный каталог;
r -i — установить пакет.
Пример использования dpkg обращения к файлу пакета для получения ин- формации о зависимостях и версии пакета (пример 18.25).
Пример 18.25. Проверка версии и зависимостей пакета |
$ dpkg -f virtualbox-3.0_3.0.0-49315_i386.deb Depends Version Version: 3.0.0-49315_Ubuntu_jaunty
Depends: libc6 (>= 2.7), libcurl3 (>= 7.16.2-1), libgcc1 (>= 1:4.1.1), libqt4-network (>= 4.5.0~+rc1), libqtcore4 (>= 4.5.0~+rc1), libqtgui4 (>= 4.5.0~+rc1), libsdl1.2debian (>= 1.2.10-1), libssl0.9.8 (>= 0.9.8f-5), libstdc++6 (>= 4.2.1), libx11-6, libxcursor1 (>> 1.1.2), libxext6, libxml2 (>= 2.6.27), libxmu6, libxslt1.1 (>= 1.1.18), libxt6, zlib1g (>= 1:1.1.4), psmisc, adduserVersion: 0.3.17-1
Для удаления пакетов с помощью dpkg указывается опция -r. При таком уда- лении пакетов конфигурационные файлы не удаляются. Если необходимо произвести полное удаление пакета, то следует использовать опцию -P.
Команда dpkg -l позволяет получить список всех установленных в системе пакетов или сведения о пакете, указанном в качестве аргумента (пример 18.26).
Пример 18.26. Проверка наличия пакета |
$ dpkg -l bash Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig- aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Имя Версия Описание
+++-==============-==============-
============================================
ii bash 4.0-5ubuntu2 The GNU Bourne Again SHell
При необходимости получить список файлов, установленных из пакета, сле- дует использовать опцию -L команды dpkg (пример 18.27).
Пример 18.27. Получение списка файлов, установленных из пакета |
$ dpkg -L info
В примере 18.27 список файлов, установленный из пакета info, не показан для краткости.
Программа dpkg предоставляет возможность определить, из какого пакета был установлен некоторый файл. Для этого следует использовать опцию –S (пример 18.28).
Пример 18.28. Определение пакета, из которого был установлен файл |
$ dpkg -S /etc/bash.bashrc bash: /etc/bash.bashrc
Файл /etc/bash.bashrc был установлен из пакета bash.
Как и dpkg, команда apt-get предназначена для установки пакетов из ко- мандной строки. Но, в отличие от dpkg, apt-get работает с источниками па- кетов (комплекты CD/DVD-ROM, FTP и т. д.) и учитывает зависимости паке- тов, позволяя автоматизировать их установку.
Пакет, который требуется установить, при использовании apt-get указывают не с помощью имени файла пакета, а при помощи имени самого пакета. При этом получение, установка и конфигурирование пакета будут произведены автоматически.
Перед установкой пакетов следует обновить их список командой apt-get update. Список источников пакетов находится в файле /etc/apt/sources.list. Причем если среди источников имеются как локальные (например, CD- ROM), так и удаленные, то рекомендуется в начале файла /etc/apt/sources.list указывать локальные источники.
При необходимости добавления в список источников нового CD-диска с па- кетами Debian следует использовать команду apt-cdrom add. Существует также удобная команда для настройки сетевых источников пакетов. Она на- зывается netselect и может быть установлена из одноименного пакета. С помощью netselect можно выбрать сервер, передача пакетов с которого осуществляется максимально быстро.
Поиск пакетов выполняется с помощью команды apt-cache (пример 18.29).
Пример 18.29. Поиск пакета с помощью apt-cache |
$ apt-cache search '^mc$'
mc - midnight commander - a powerful file manager
Обратите внимание, что утилита apt-cache производит поиск на основе ре- гулярных выражений, трактуя аргумент, как подстроку поиска. Поэтому в примере 18.29 в качестве аргумента была указана строка из символов mc и ничего более.
Для установки пакета с помощью apt-get достаточно указать его имя в каче- стве аргумента команды apt-get install (пример 18.30).
Пример 18.30. Установка пакета с помощью apt-get |
# apt-get install mc
В примере 18.30 команда apt-get загрузит и установит пакет mc. Вывод команды пропущен для краткости.
Чаще всего производятся следующие действия с apt-get:
r check — проверка состояния системы управления пакетами;
r update — обновление информации о доступных пакетах;
r upgrade — обновление системы установкой новых версий пакетов;
r dselect-upgrade — обновление системы в соответствии с изменением поля status доступных и установленных пакетов;
r dist-upgrade — аналогично upgrade, но с более интеллектуальным под- ходом к разрешению возможных конфликтов пакетов;
r install — установка пакета;
r remove — удаление пакета;
r clean — очистка каталогов /var/cache/apt/archives и /var/cache/apt/archives/ partial, которые, соответственно, содержат файлы пакетов Debian и файлы пакетов, находящиеся в состоянии приема из источника, например, с FTP- сервера;
r source — получение исходного пакета для сборки требуемого пакета. Наиболее важные опции команды apt-get:
r -d — команда apt-get только загрузит пакеты, но не будет устанавли- вать их;
r -s — команда не будет производить реальных действий, а только симули- рует последствия планируемых действий, например, возникновение кон- фликтов;
r -y — отключение интерактивного режима работы программы, на все во- просы, которые обычно задает apt-get, будет дан утвердительный ответ;
r -u — команда покажет обновленные пакеты и сведения об их состоянии.
Дата добавления: 2015-06-12; просмотров: 929;