3.1. Менеджер пакетов yum

3.1. Менеджер пакетов yum

3.1.1. Основные понятие о пакетах

Давайте сначала рассмотрим процесс установки программ в Windows. Как правило, дистрибутив Windows-программы состоит та установочного файла (обычно называется setup.exe или install.exe) и нескольких вспомогательных файлов (например, архива, содержащего саму программу) или только из одного установочного файла (если последний выполнен по принципу самораспаковывающегося архива).

Установочный файл (далее инсталлятор) просит пользователя точнить параметры установки, например, выбрать каталог для установки, указать программную группу и т.д. Затем начинается установка программы: инсталлятор копирует файлы из дистрибутива программы в выбранный пользователем каталог. После этого инсталлятор вносит необходимые изменения в системный реестр. Все, программа установлена.

В Linux же все происходит несколько иначе. Дистрибутив программы (сама программа и вспомогательные файлы, напри-тер, файлы справки, конфигурационные файлы) поставляется в виде пакета. В мире Linux существуют два основных типа пакета: RPM-пакеты и DEB-пакеты. Первые пакеты используются во всех дистрибутивах, которые были основаны на Red Hat Linux или на производных этого дистрибутива: Fedora, ASP Linux, ALT Linux, Mandriva и т.д. DEB-пакеты используются дистрибутивом Debian и его производными (Ubuntu, Kubuntu и др.).

По сути, пакет (как RPM, так и DEB) - это архив, содержащий программу. Но кроме самой программы в этом архиве есть указания для менеджера пакетов о том, как нужно устанавливать программу. А именно: куда нужно установить тот или иной файл программы, какие команды нужно выполнить до и после установки и т.д.

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

В Windows к идее пакетов (файлы с расширением .msi) пришли позже, но она не получила широкого распространения. Фактически в MSI-пакетах распространяются только программы от Microsoft, а сам процесс установки пакета напоминает работу обычного инсталлятора.

Но вернемся к RPM-пакетам. Как уже говорилось, в пакете содержать служебные инструкции для менеджера пакетов о том, куда установить тот или иной файл, а также о командах, которые нужно выполнить в процессе установки пакета. Кроме этил сведений, в пакете содержатся также сведения о зависимости, т.е. список пакетов, от которых зависит данный пакет, и список пакетов, с которыми устанавливаемый пакет конфликтует,

Тут псе просто. Предположим, что у нас есть библиотека, с использованием функций. которой написана программа, например, Qt. Если библиотека не установлена на компьютере, то и программа работать не будет. Но библиотека занимает много места, поэтому вместе с программой ее распространять не будешь (тем более, что библиотека-то стандартная и входит в состав многих дистрибутивов). Разработчику программы намного проще при сборке пакета указать, что пакет требует наличия библиотеки Qt. Менеджер пакетов видит эту зависимость, и если она не удовлетворена, пытается ее разрешить, другими словами, скачать пакет с Интернета (или другого хранилища макетов). В ранних версиях Linux менеджеры пакетов не умели разрешать такого рода зависимости: вы просто получали сообщение о том, что пакет установить невозможно по причине отсутствия такого-то пакета.

Теперь договорим о конфликтах. Предположим, что вы написали свой собственный WWW-сервер, ваш коллега тоже написал программу WWW-сервер. Как мы знаем, WWW-сервер использует для своей работы порт 80. Пользователь установил на свой компьютер ваш WWW-сервер, который сразу же после своего запуска узурпировал 80-й порт. При попытке установить на этот же компьютер второй WWW-сервер пользователь получит сообщение о том, что устанавливаемый пакет конфликтует с уже установленным (причина конфликта ясна: в системе может быть только одна программа, использующая 80-й порт). Конечно, такое сообщение пользователь увидит лишь в той случае, если разработчик второго сервера (или вы – для своего пакета – разницы нет) не поленится составить список конфликтов. Если же он поленился это сделать, то последствия такой установки ни к чему хорошему не приведут – скорее всего, оба WWW-сервера работать не будут,

Менеджер пакетов не разрешает конфликты. Он просто сообщает, что такой-то пакет конфликтует с таким-то пакетом. Окончательное решение за вами: вы можете удалить уже установленный пакет или отказаться от установки нового пакета.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Многопоточный менеджер

Из книги автора

Многопоточный менеджер Следующим шагом развития техники менеджера ресурсов является многопоточный менеджер. Фактически это объединение техники менеджера ресурсов с динамическим пулом потоков, рассмотренным выше.Реальный работающий многопоточный менеджер с


Сообщения или менеджер?

Из книги автора

Сообщения или менеджер? Этот вопрос возникает (должен возникать!) у каждого, кто приступает к разработке реального проекта, особенно если функциональность проекта распределяется между несколькими автономными процессами. Такая структуризация и вовсе не привычна


4.2.3. Файловый менеджер Konqueror

Из книги автора

4.2.3. Файловый менеджер Konqueror Основные возможностиСреда KDE обладает собственными файловым менеджером и веб-браузером. Обе эти функции выполняет программа Konqueror. Менеджер Konqueror может работать не только с локальными файлами, а и с файлами, расположенными на других


3.2. Графический менеджер пакетов pirut

Из книги автора

3.2. Графический менеджер пакетов pirut 3.2.1. Усовершенствование программы pirut в Fedora 8 В предыдущих версиях дистрибутива Fedora (6 и 7) конфигуратор pirut (он же system-config-packages) был довольно проблемным приложением. Проблема была связана с неправильной настройкой репозиториев пакетов. В


5.5.6. Менеджер графических тем Emerald

Из книги автора

5.5.6. Менеджер графических тем Emerald Для Compiz был разработан собственный менеджер графических тем Emerald, запустить который можно с помощью команды меню Система?Параметры?Emerald Theme Manager (рис. 5.45). Рис. 5.44. Куб рабочих столов Рис. 5.45. Менеджер графических тем EmeraldПеред тем как


Глава 19 Менеджер пакетов Synaptic

Из книги автора

Глава 19 Менеджер пакетов Synaptic Менеджер пакетов Synaptic позволяет полностью управлять отдельными пакетами в системе. Основное его отличие от Центра приложений, кроме более богатого функционала, в том, что он работает на уровне пакетов, а не приложений. На всякий случай ещё


Глава 21 Менеджер обновлений

Из книги автора

Глава 21 Менеджер обновлений Итак, я рассказал уже практически всё про управление программами и пакетами в Ubuntu, осталось только сказать пару слов про механизм обновлений. В принципе, тут всё просто и особенно-то и говорить нечего. Как вы уже знаете, каждый репозиторий


21.1 Менеджер обновлений

Из книги автора

21.1 Менеджер обновлений Основным инструментом работы с обновлениями является, как ни странно, Менеджер обновлений. Найти его можно в меню Система?Администрирование. Собственно сам менеджер умеет выполнять только свои прямые обязанности, поэтому его интерфейс весьма


Контент-менеджер

Из книги автора

Контент-менеджер В сфере Social Media Marketing (SMM) сегодня есть специалисты, которые нужны большим, средним и малым компаниям для продвижения в социальных сетях Это так называемые контент-менеджеры, одни из которых генерируют информацию, а другие ее продвигают (имеется в виду


Менеджер

Из книги автора

Менеджер Роль менеджера заключается в техническом и административном руководстве и контроле над лицами, выполняющими задачи и действия внутри сферы ответственности менеджера. К традиционным функциям менеджера относятся планирование, распределение ресурсов,


Менеджер проекта

Из книги автора

Менеджер проекта Роль менеджера проекта обладает сферой ответственности, которая включает в себя все деловые аспекты целого проекта. Менеджер проекта направляет, контролирует, администрирует и регулирует проект разработки программной или программно-аппаратной


Линейный менеджер

Из книги автора

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


Файловый менеджер Krusader

Из книги автора

Файловый менеджер Krusader Krusader (http://krusader.sourceforge.net/) – на сегодня самый мощный и популярный двухпанельный файловый менеджер для Linux. Krusader предоставляет весь набор возможностей по управлению файлами, которые могут понадобиться во время работы, а полное перечисление займет не


Файловый менеджер для смартфона

Из книги автора

Файловый менеджер для смартфона Смартфоны под управлением Windows Mobile 2005 не имеют в составе системы приложения, которое позволяет просматривать содержимое папок и файлов. В этом разделе будет рассматриваться аналог Проводника для смартфона. Основой данного примера


«Менеджер телефона» от Bezols

Из книги автора

«Менеджер телефона» от Bezols Программа «Менеджер телефона» отличается малым размером (дистрибутив занимает всего 530 Кбайт), простым интерфейсом и отличным быстродействием. Кнопки, расположенные в левой части главного окна, переключают режимы работы программы.В режиме