В Windows к идее пакетов (файлы с расширением .msi) пришли позже, но она не получила широкого распространения. Фактически в MSI-пакетах распространяются только программы от Microsoft, а сам процесс установки пакета напоминает работу обычного инсталлятора.
Но вернемся к RPM-пакетам. Как уже говорилось, в пакете содержать служебные инструкции для менеджера пакетов о том, куда установить тот или иной файл, а также о командах, которые нужно выполнить в процессе установки пакета. Кроме этил сведений, в пакете содержатся также сведения о
Тут псе просто. Предположим, что у нас есть библиотека, с использованием функций. которой написана программа, например, Qt. Если библиотека не установлена на компьютере, то и программа работать не будет. Но библиотека занимает много места, поэтому вместе с программой ее распространять не будешь (тем более, что библиотека-то стандартная и входит в состав многих дистрибутивов). Разработчику программы намного проще при сборке пакета указать, что пакет требует наличия библиотеки Qt. Менеджер пакетов видит эту зависимость, и если она не удовлетворена, пытается ее разрешить, другими словами, скачать пакет с Интернета (или другого хранилища макетов). В ранних версиях Linux менеджеры пакетов не умели разрешать такого рода зависимости: вы просто получали сообщение о том, что пакет установить невозможно по причине отсутствия такого-то пакета.
Теперь договорим о конфликтах. Предположим, что вы написали свой собственный WWW-сервер, ваш коллега тоже написал программу WWW-сервер. Как мы знаем, WWW-сервер использует для своей работы порт 80. Пользователь установил на свой компьютер ваш WWW-сервер, который сразу же после своего запуска узурпировал 80-й порт. При попытке установить на этот же компьютер второй WWW-сервер пользователь получит сообщение о том, что устанавливаемый пакет конфликтует с уже установленным (причина конфликта ясна: в системе может быть только одна программа, использующая 80-й порт). Конечно, такое сообщение пользователь увидит лишь в той случае, если разработчик второго сервера (или вы – для своего пакета – разницы нет) не поленится составить список конфликтов. Если же он поленился это сделать, то последствия такой установки ни к чему хорошему не приведут – скорее всего, оба WWW- сервера работать не будут,
Менеджер пакетов не разрешает конфликты. Он просто сообщает, что такой-то пакет конфликтует с таким-то пакетом. Окончательное решение за вами: вы можете удалить уже установленный пакет или отказаться от установки нового пакета.
3.1.2. Репозитории: хранилища пакетов
Раньше, когда быстрый Интернет могли себе позволить далеко не все, на дистрибутивные диски помещались все пакеты, входящие в состав дистрибутива. Не секрет, что большую часть этих пакетов пользователь не использовал. Многие пользователи при установке Linux не очень хотели разбираться, что нужно, а что - нет, и устанавливали все пакеты, которые были на дистрибутивных дисках. Можете себе сами представить, сколько Linux занимал места на жестком диске.
Сейчас все немного иначе. На дистрибутивный DVD (обычно Linux распространяется именно на DVD, хотя можно ещё встретить дистрибутивы на нескольких CD-дисках} помешаются только самые необходимые пакеты, т.е. только те, которые необходимы большинству пользователей. Также в обязательном порядке помещаются пакеты, которые занимают много места на диске. Например, в состав Fedora входят две графические среды: GNOME и KDE. По умолчанию пользователю предлагается установить GNOME, но если он при установке системы выберет KDE, не загружать же ему сотни мегабайтов из Интернета? Поэтому ''большие' программные продукты также помещаются на DVD. Все остальные пакеты хранится, в хранилищах пакетов, которые называются репозиториями.
Репозиторий - это обычный каталог, содержащий RPM-файлы и специальные служебные файлы, описывающие пакеты репозитория. Любой желающий может поместить в каталог диска любые RPM-пакеты и с помощью утилиты createrepo создать свой репозиторий. Но обычно под xpанилищем пакетов подразумевается сервер в Интернете, содержащий набор пакетов и служебные файлы, описывающие репозиторий.
При попытке установки пакета менеджер пакетов подключается к удаленному хранилищу пакетов, загружает пакет на компьютер пользователя и устанавливает его.
Преимущества такой организации очевидны, как, впрочем, и недостатки. К преимуществам можно отнести то, что вы устанавливаете только те программы, которые нужны лично вам, а не все программы, которые есть в составе дистрибутива. Да и с помощью репозиториев легко обновлять систему: у вас будут всегда установлены самые последние версии пакетов.
Но недостатки тоже на лицо. Если у вас нет Интернета, та и программу вы установить не можете! К тому же для установки программ нужно стабильное и быстрое соединение. Если у вас модемное или GPRS- соединение, то можете забыть об установи больших программ по следующим причинам:
• постоянные обрывы соединения (в случае модема);
• медленная скорость закачки пакета;
• дороговизна (в случае GPRS).
В любом случае за установку программ теперь нужно платить. Нет, не за доступ к репозиториям, а за Интернет, но в конечном итоге это ничего не меняет. Не все ли равно, кому платить деньги - Интернет- провайдеру или еще кому-то. А ведь раньше можно было установить все необходимое с одного DVD!
Конечно, если у вас ADSL-соединение, то долго ждать не придется: никаких обрывов, да и скорость соединения позволяет производить установку пакетов в режиме он-лайн. А если
Но что делать пользователям, у которых медленное соединение или вообще в данный момент нет возможности подключиться к Интернету? Ведь дополнительные программы - это не главное. Дело в том, что после установки системы вам придется скачать кодеки идя прослушивания музыки и просмотра фильмов, проприетарные драйверы для видеокарты (для запуска трехмерного рабочего стола) и т.д. В этом случае, при всем моем уважении к Fedora и Red Hat, рекомендую выбрать другой дистрибутив, например Mandriva. Там и менеджер пакетов настроен на установку пакетов с дистрибутивного DVD, да и на самом DVD намного больше пакетов, включая кодеки и другие полезные пакеты, которые в случае с Fedora вам придется загружать из Интернета.
3.1.3. Использование yum
Управлением пакетами в Fedora занимается программа yum (Yellow dog Updater Modified) - это и есть менеджер пакетов. С его помощью вы можете устанавливать и удалять пакеты, а также обновлять уже установленные пакеты.
Программа yum не обладает графическим интерфейсом, поэтому запускать ее придется или в консоли, или в терминале (команда меню Приложения→Системные→Терминал). Поскольку в большинстве случаев установка пакетов будет осуществляться из Интернет-репозитория, перед установкой пакетов нужно подключиться к Интернету.
Для управления пакетами нужны полномочия пользователя root, поэтому вам нужно ввести команду:
su
Предположим, что вы хотите установить программу. Для этого вы вводите команду:
yum install
Yum просматривает свой файл конфигурации /etc/yum.conf, в котором описаны репозитории. Затем он подключается к репозиторию, содержащему нужный вам пакет, скачивает и устанавливает его. Если