Использование усовершенствованного средства управления пакетами APT для обеспечения целостности Linux-Mandrake RE


 Усовершенствованное средство управления программными пакетами APT (Advanced Packaging Tool) первоначально было разработано для управления пакетами в дистрибутиве Debian GNU/Linux. Основной целью, которая ставилась при разработке APT, была замена системы выбора пакетов dselect в Debian на более мощную, способную сочетать в себе простоту пользовательского интерфейса с возможностью установки, обновления и повседневной работы с установленными на машине программами без необходимости изучения пользователем тонкостей используемой в дистрибутиве системы управления пакетами, предоставляющими эти программы. Долгое время система APT была доступна только пользователям Debian GNU/Linux, поскольку поддерживала только один тип системы управления пакетами -- применяемый в Debian GNU/Linux менеджер dpkg. Dpkg несовместим с используемой в Linux Mandrake Russian Edition системой управления пакетами RPM и эта несовместимость заключается не только в выборе разных форматов, используемыми для хранения данных о пакетах программ, она значительно глубже.

 Однако APT изначально проектировалась как система, не зависящая от метода управления установленными в системе пакетами, и эта особенность позволила разработчикам из бразильской компании Conectiva (www.conectiva.com.br) реализовать в ней поддержку менеджера пакетов RPM. Таким образом, пользователи дистрибутивов, базирующихся на RPM (Linux Mandrake Russian Edition входит в их число), также получили возможность использовать эту мощную систему.

 APT по-прежнему находится в стадии разработки и ее текущая версия, поддерживающая RPM, классифицируется как нестабильная. Тем не менее, это не означает, что операции, выполняемые посредством APT, могут привести к нестабильности системы. Более того, посредством APT возможен строгий контроль за целостностью системы -- проверка нарушенных зависимостей между установленными пакетами, исправление ошибок.
 

 Использование APT


 Система APT состоит из нескольких утилит. Главной и наиболее часто используемой является apt-get, утилита управления пакетами. Apt-get автоматически определяет зависимости между пакетами и строго следит за их соблюдением при выполнении любой из следующих операций: установка, удаление или обновление пакетов.

 Для корректной работы APT требуется наличие одного или нескольких репозитариев, в которых хранятся пакеты программ и относительно которых производится сверка пакетов, установленных в Вашей системе. Репозитарии могут содержать как официальную версию дистрибутива, обновляемую его разработчиками по мере выхода новых версий программ, так и локальные наработки (например, пакеты, разработанные внутри компании).

 Программа apt-get позволяет устанавливать в систему пакеты, которые требуют наличия других, пока еще не установленных, пакетов программ. В этом случае apt-get вычисляет, какие из неустановленных пакетов требуются, и доустанавливает их, пользуясь всеми известными ему репозитариями. Для того, чтобы apt-get мог использовать тот или иной репозитарий, информацию о нем необходимо поместить в файл /etc/apt/sources.list и выполнить команду

 apt-get update

 Эту команду необходимо также выполнять каждый раз, когда Вы собираетесь работать с репозитарием после длительного перерыва, так как APT при поиске пакетов руководствуется базой данных о репозитарии, отражающей его состояние. Эта база данных создается заново каждый раз, когда в репозитарии происходит изменение (добавление, удаление или переименование пакета). Для ускорения работы apt-get хранит локальную копию базы данных и потому она через некоторое время вполне может не соответствовать реальному состоянию репозитария.

 После установки дистрибутива Linux Mandrake Russian Edition в /etc/apt/sources.list указаны два источника:

        репозитарий пакетов программ, скомпилированных для процессоров Intel© i80586 и старше;

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

 Оба репозитария ежедневно обновляются разработчиками, поэтому синхронизация локальной базы данных с репозитарием перед началом работы с APT является необходимостью. Такую синхронизацию достаточно делать один раз в день.

 Чтобы установить пакет программ посредством APT, необходимо воспользоваться командой

 apt-get install имя-пакета.

 Иногда в результате операций с пакетами минуя APT целостность системы нарушается и apt-get отказывается выполнять операции установки, удаления или обновления. В этом случае необходимо повторить операцию, задав опцию -f,
заставляющую apt-get исправить нарушенные зависимости, если это возможно. В этом случае необходимо внимательно следить за сообщениями, которые выдает apt-get, и четко им следовать.

 Команда

 apt-get install имя-пакета

 также используется и для обновления уже установленного пакета или группы пакетов. В этом случае apt-get дополнительно проверяет, обновилась ли версия пакета в репозитарии по сравнению с установленным в системе. Если Вы не знаете
точное название пакета, для его поиска можно воспользоваться утилитой apt-cache, описанной ниже.

 Внимание: apt-get всегда спрашивает подтверждение выполнения операции установки и обновления, за исключением случая, когда реально требуется установить в систему (или обновить) только один пакет. Если Вы не уверены в том, что
результате выполнения операции система останется работоспособной, запустите apt-get с опцией -S, которая покажет отчет выполнения операции обновления, но реально обновление произведено не будет.

 Для удаления пакета используется команда apt-get remove имя-пакета. Все пакеты, которые зависят от удаляемого, также будут удалены, чтобы не нарушать целостность системы (если отсутствует необходимая для работы приложения
библиотека, то само приложение становится бесполезным). В случае удаления пакета, который относится к базовым компонентам системы, apt-get потребует дополнительного подтверждения производимой операции с целью предотвратить
возможную случайную ошибку.

 Для обновления всех установленных пакетов используется команда apt-get upgrade. Она позволяет обновить те и только те установленные пакеты, для которых имеются новые версии в репозитариях, перечисленных в
/etc/apt/sources.list. При этом из системы не будут удалены никакие другие пакеты. Этот способ полезен при работе со стабильными пакетами приложений, относительно которых известно, что они не изменяются существенно при смене
версии.

 Однако иногда происходят изменения в способах наименования пакетов или изменение их зависимостей. Такие ситуации не обрабатываются командой apt-get upgrade, в результате чего происходит нарушение целостности системы:
появляются неудовлетворенные зависимости. Например, переименование пакета MySQL-shared, содержащего динамически загружаемые библиотеки для работы с СУБД MySQL, в libMySQL (отражая общую тенденцию к наименованию
библиотек в дистрибутиве) не приводит к тому, что установка обновленной версии libMySQL требует удаление старой версии MySQL-shared. Для разрешения этой проблемы существует режим обновления в масштабе дистрибутива --
apt-get dist-upgrade.

 В случае обновления всего дистрибутива APT проведет сравнение Вашей системы с репозитарием и удалит устаревшие пакеты, установит новые версии присутствующих в системе пакетов, а также отследит ситуации с переименованиями
пакетов или изменения зависимостей между старыми и новыми версиями программ. Все, что потребуется поставить (или удалить) дополнительно к уже имеющемуся в вашей системе, будет указано в отчете apt-get, которым APT предварит
само обновление.

 Более подробное описание команд программы apt-get можно найти в справочной системе дистрибутива на страницах apt-get(8) и apt.conf(5).

 Для поиска в репозитарии нужного пакета можно воспользоваться утилитой apt-cache, которая позволяет искать не только по имени пакета, но и по его описанию.

 Команда apt-cache search подстрока позволяет найти все пакеты, в именах или описании которых присутствует указанная подстрока. Например:

 $ apt-cache search emacs

 xemacs-el - The.el source files for XEmacs.

 emacs - Things needed to run the GNU Emacs text editor.

 auctex - Enhanced LaTeX mode for GNU Emacs

 emacs-nox - The Emacs text editor without support for the X Window System.

 xemacs-info - Information files for XEmacs.

 php-readline - readline module for PHP4

 ed - The GNU line editor.

 fetchmail - Full-featured POP/IMAP mail retrieval daemon

 readline - A library for editing typed in command lines.

 xemacs-mule - The XEmacs binary with mule (MUlti-Lingual Emacs) support.

 gpm - A mouse server for the Linux console.

 jed - A fast, compact editor based on the slang screen library.

 sylpheed - a GTK+ based, lightweight, and fast e-mail client

 xemacs-extras - Files that XEmacs has in common with GNU Emacs.

 emacs-leim - Emacs Lisp code for input methods for internationalization.

 emacs-X11 - The Emacs text editor for the X Window System.

 librep - An embeddable LISP environment

 TeXmacs - A wysiwyg mathematical text editor

 xemacs - An X Window System based version of GNU Emacs.

 swi-prolog - Prolog interpreter and compiler.

 emacs-el - The sources for Lisp programs included with Emacs.

По материалам сайта www.altlinux.ru




Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости