Менеджеры пакетов Современные системы на базе Linux состоят из огромного числа зависимых библиотек, исполняемых файлов, скриптов и т.д. Удаление или изменение версии одного из составляющих систему компонентов может повлечь неработоспособность других, связанных с ним компонентов, или даже вывести из строя всю систему. Большая часть программного обеспечения в Linux, изначально, поставляется в виде исходных текстов. Для установки требуется скомпилировать программу и получить бинарную версию. Для поддержания целостности и обеспечения возможности распространения программ в бинарном виде используются менеджеры пакетов. Пакет содержит собранную программу, информацию о том, какие требуется совершить действия для ее установки, информацию о зависимостях (см ниже), а также возможно много других данных, в зависимости от вида пакета. Часто компоненты, используемые различными программами, выделяют в отдельные пакеты и помечают, что для работы ПО, предоставленного пакетом A, необходимо установить пакет B. В таком случае говорят, что пакет A зависит от пакета B или что между пакетами A и B существует зависимость. Отслеживание зависимостей между такими пакетами представляет собой серьёзную задачу для любого дистрибутива— некоторые компоненты могут быть взаимозаменяемыми и при удовлетворении тех или иных требований может обнаружиться несколько пакетов, предлагающих затребованный ресурс. Задача контроля целостности и непротиворечивости установленного в системе ПО еще сложнее. Представим, что некие программы A и B требуют наличия в системе компоненты C версии 1.0. Обновление версии пакета A, требующее обновления компоненты C до новой, использующей новые возможности версии (скажем, до версии 2.0), влечёт за собой обязательное обновление и программы B. Менеджер пакетов - это набор инструментов, позволяющих автоматизировать процесс установки, обновления, конфигурирования и удаления пакетов программного обеспечения с компьютера. Менеджер пакетов реализует следующие функции: Контроль целостности пакетов Поддержку установки, обновления и удаления пакетов Контроль зависимостей Реализацию поиска по доступным/установленным пакетам Обычно менеджер пакетов является сердцем дистрибутива, обеспечивая полный контроль целостности и работоспособности всей системы. Пакеты собираются в репозитории. Менеджер пакетов обеспечивает пользователю интерфейс для автоматизированного получения пакета, его зависимостей и его установку. Принцип работы: Пользователь запрашивает установку пакета -> МП отслеживает зависимости -> МП получает необходимые пакеты из репозиториев -> МП устанавливает зависимости и требуемый пакет. Практически каждый дистрибутив Linux имеет свои репозитории, зачастую не совместимые с другими дистрибутивами. Менеджер пакетов - консольная утилита, однако, обычно к ней существуют многочисленные графические оболочки. К примеру, менеджер пакетов dpkg, имеет как консольные оболочки (apt, aptitude), так и графические Synaptic, Adept.... Основные виды менеджеров пакетов: dpkg - Используется в Debian, Ubuntu, и многих других дистрибутивах. Формат пакета: deb. RPM - Используется в RedHat Linux, Fedora, SUSE, Mandriva и многих других. Формат пакета: rpm. Pacman - Используется в ArchLinux, производных и некоторых других дистрибутивах. Формат пакета: pkg.tar.gz