Журнал LinuxFormat - перейти на главную

LXF90:RPM

Материал из Linuxformat
Перейти к: навигация, поиск

RPM: Пакеты

Благодаря RPM, управление пакетами в Fedora Core, SUSE и Mandriva происходит удивительно легко. Прогуляемся с Энди Ченнелом по процессу обновления и установки.

Содержание


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

А вот определяющая черта пользователей и разработчиков Linux – пылкость, и если вы объявите, что «APT лучше всех», вас немедля атакуют. Однако до недавнего времени спорить с этим было трудно. На прошлом уроке мы убедились, что пришедшая из Debian Advanced Package Tool (APT) великолепна, и раньше пользователи дистрибутивов на основе Red Hat Package Manager (RPM) могли только завидовать своим друзьям с APT, запросто ставящим новые приложения.

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

Что такое дистрибутив на основе RPM? RPM – это технология, вступившая в жизнь как часть дистрибутива Red Hat Linux. Она также нашла свое применение в других основанных на Red Hat дистрибутивах, включая Fedora Core, Mandriva и SUSE. То есть у трех самых популярных дистрибутивов Linux одинаковая система управления пакетами. RPM-пакеты, впрочем, обычно свои для каждого дистрибутива и версии программы, поэтому будет неразумно установить Fedora RPM на систему Mandriva, и не рекомендуется ставить SUSE 9.3 RPM на дистрибутив SUSE 10.2.

Обновляем дистрибутив

Как и в статье про APT в LXF89, мы начнем с рассмотрения автоматических средств, поддерживающих ваше ПО в актуальном состоянии, а потом займемся управлением пакетами через командную строку. Хотя вторая часть может показаться причудой, и к тому же негуманной для Первых шагов, это идеальный способ разобраться с RPM: большая часть программ управления пакетами в составе дистрибутивов на основе RPM – просто графические надстройки над командами. Зная эти команды, гораздо легче понять процесс установки программ с помощью RPMDrake в Mandriva, Yast в SUSE или Package Manager в Fedora.

Этот урок базируется на Mandriva Linux 2007, так как этот дистрибутив популярен среди новичков Linux, но большую часть описанных здесь процедур легко адаптировать и к двум другим RPM-дистрибутивам.

Итак, автоматические обновления. В Mandriva 2007 рабочим столом по умолчанию является KDE, иконка автоматических обновлений расположена в правом нижнем углу экрана рядом с часами (небольшой шарик). Щелчок левой кнопкой мыши открывает Менеджер Обновлений. Для этого вам понадобится пароль суперпользователя – как и для большинства задач установки и удаления ПО. Mandriva запросит некоторые данные, включая имя пользователя, пароль и адрес электронной почты (для подписки на сервис онлайн-обновлений). Вы получите допуск, а заодно зарегистрируете описание вашей машины (процессор, видеокарта и так далее). Если вы не хотите сообщать эту информацию, нажмите кнопку Cancel [Отмена], обновления получать все равно будет можно.

Проделав это, после запуска апплета обновлений нажмите на кнопку Check Updates [Проверить Обновления], чтобы узнать, нет ли радикальных заплаток или обновлений для приложений. Подумайте также, нужно ли вообще обновлять дистрибутив, особенно если вы сидите на модеме и вам не улыбается платить огромный телефонный счет за мелкую поправку к OpenOffice.org... Если хотите продолжить, нажмите Install Updates [Установить Обновления], и процесс обновления пойдет. Нижняя часть апплета обновления содержит много полезной информации, включая время последней проверки сервера, статус сети и оценку актуальности вашей системы.

По умолчанию этот процесс запустится автоматически при загрузке системы, но кое-кто (например, все те же пользователи модемов) не захочет, чтобы его компьютер каждый раз подключался к сети. Если вы один из них, то автоматический запуск легко отключить. Щелкните правой кнопкой мыши на иконке автоматического обновления в системном лотке и снимите галочку с опции Always Launch On Startup [Всегда запускать при загрузке]. Можно также вручную проверить обновления, выбрав пункт Check Updates [Проверить Обновления]: это пригодится и пользователям с высокоскоростным доступом, если они никогда не выключают свой компьютер.

Вот так получают автоматические обновления под Mandriva. Пользователи Fedora могут установить автоматические обновления через командную строку. Откройте терминал, наберите su, нажмите Enter, введите пароль root, затем наберите chkconfig yum on. Процедура для SUSE почти та же, что и в Mandriva, отличается только имя менеджера (Yast Online Update).

Простые команды

Поразмяв таким образом мозги, посмотрим, как пользоваться RPM из командной строки. Нужно будет скачать двоичный RPM-пакет с Интернета и работать от лица root. Для начала найдем подходящий пакет; одно из лучших мест для поиска – http://rpmfind.net. Здесь есть поисковая машина, ограничивающая результат по дистрибутивам и архитектуре. Запустите свой поиск (я собираюсь найти программу FreeMind) и затем найдите в выдаче результатов нужную версию. Слева на экране находится ссылка на описание пакета, а справа – ссылка на сам пакет для скачивания. Нажмите на нее, и файл скачается на ваш рабочий стол.

Теперь откройте терминал (помните, что он может называться Console в Gnome или Konsole в KDE и прячется где-то в меню Система) и наберите su, чтобы получить привилегии root. Скорее всего придется сменить каталог, так как Firefox и другие web-браузеры скачивают файлы на рабочий стол, а терминал почти всегда открывается в каталоге /home/имя_пользователя. Каталог сменить легко:

cd Desktop

cd как раз и значит ‘сменить каталог’, а Desktop – это рабочий стол, куда мы хотим перейти. Заметим заглавную букву D, так как Linux (в отличие от Windows) чувствителен к регистру. Теперь вы можете просмотреть содержимое каталога командой ls, или, если вы привыкли к DOS, dir. Используя ls, вы заметите, что файлы и каталоги отображаются разными цветами, и в каталоге Desktop вы должны увидеть свежескачанный RPM-файл. На рисунке внизу показан мой RPM FreeMind, выделенный красным цветом.

Теперь мы именно там, откуда надо начинать установку. Вы заметите, что любое имя файла RPM состоит из имени приложения (‘FreeMind’ в моем случае), номера версии (0.8.0), номера релиза (6) и расширения .RPM. Может быть включено имя дистрибутива и/или версия, для которой предназначен пакет, а также архитектура, например, i386, PowerPC или ARM. Приложения, не привязанные к определенной архитектуре (как FreeMind в моем примере), содержат строку ‘noarch’ в имени файла.

Наконец, мы можем использовать простую RPM-команду, чтобы установить наше приложение:

rpm --install freemind-0.8.0-6.noarch.rpm

или

rpm -i freemind-0.8.8-6.noarch.rpm

Если вы хотите обновить существующее приложение на вашей системе, а не установить новое, то i в команде надо заменить на U.

Поддержка программного обеспечения

К сожалению, попытавшись установить FreeMind на Mandriva Free 2007 (бесплатная версия), вы наверняка наткнетесь на массу неудовлетворенных зависимостей.

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

Чтобы установить приложение с помощью Urmpi, начните так:

urpmi имя_приложения

Номер версии вам не требуется, так как программа установится с самой последней версией.

К Mandriva уже прилагается ряд предустановленных Urmpi-репозиториев: это CD или DVD, на которых поставляется дистрибутив, а также любой источник обновлений, настроенный при начальной установке дистрибутива. Но можно добавить и другие репозитории, если в предустановленных требуемого приложения нет – а для поиска нужного репозитория имеется великолепный сайт. Чтобы найти и добавить новый репозиторий, зайдите на http://easyurmpi.zrb.orf, введите номер версии Mandriva, архитектуру и менеджер пакетов, и следуйте подсказкам. На последнем этапе появится список команд, которые необходимо набрать (их можно скопировать и вставить) в командной строке от лица root. В зависимости от количества добавленных источников и скорости вашего интернет-соединения эта процедура может занять от нескольких минут до получаса. Например, добавление источника Penguin Liberation Front (он предоставляет множество несвободных приложений, особенно полезных для проигрывания мультимедиа) на мой компьютер потребовало скачать 50 МБ. Код, генерируемый EasyUrmpi, имеет следующий формат:

urpmi.addmedia plf-free ftp://ftp.univ-orleans.fr/logiciel-libre/plf/mandriva/2007.0/free/release/binary/i586/ with hdlist.cz

Он содержит команду (urmpi.addmedia), сопровождаемую описанием репозитория и указанием на расположение репозитория и списка пакетов (часть hdlist.gz). Поэтому, например, добавив все предлагаемые EasyUrmpi источники, вы сможете набрать в консоли urmpi flashplayer-plugin и установить плейер от Adobe в Firefox, не задумываясь о XPI, tar.gz и прочих файлах.

В URPMi есть полезные команды, позволяющие выяснить, содержится ли искомое приложение в ваших репозиториях. Это: urmpq имя_приложения, она осуществляет простой поиск; urmpq -i произведет поиск и отобразит информацию о каждом найденном пакете; и urmpq --fuzzy, отображающая список приложений, напоминающих то, что вы ищете – например, поиск ‘Firefox’ выдаст все пакеты, в которых упоминается данное слово.

Наконец, с помощью Urmpi можно обновить все приложения на вашей системе – как мы уже делали автоматически – до самых последних версий. Команда для этого будет такой:

urpmi --auto-select

Если нужно удалить программное обеспечение с вашей системы, сгодится старый добрый RPM. Не обязательно помнить все детали (например, номер версии) удаляемого пакета. Команда rpm -e имя_приложения позаботится обо всем.

Графическая красота

Я хотел показать вам, как пользоваться командной строкой, потому что хоть дистрибутивы и могут иметь свои собственные графические инструменты для управления программным обеспечением, все они основаны на тех же командах RPM-системы. Поэтому, овладев RPM из командной строки в Mandriva, вы сможете давать советы своим друзьям с другими дистрибутивами, и выглядеть элитным Linux-хакером. А сейчас рассмотрим альтернативу Urmpi и терминалу: скачаем пакеты с помощью графического инструмента Mandriva.

Сначала выберем в стартовом меню System [Система] > Configuration [Настройка] > Packaging [Пакеты] > Install, Remove And Update Software [Установить, Удалить и Обновить Программы]. Появится новое окно (точнее, часть Центра Управления Mandriva Control Center), содержащее четыре опции. Если вы выберете четвертую – под названием Select From Where Software Packages Are Downloaded When Updating The System [Выбрать источники для скачивания пакетов при обновлении системы] – то появится другой экран, содержащий все репозитории, добавленные ранее с помощью Urmpi. Вы можете включить или выключить их простым щелчком мыши. (Если вы не добавляли дополнительные репозитории, сделайте это сейчас: при использовании EasyUrmpi, как я показывал, вам будет выдан набор команд, которые можно просто скопировать и вставить в консоль.)

Две самых интересных штуки на этом экране – кнопки установки и удаления, расположенные вверху. Выберите первую. Ее окно содержит три панели и панель поиска наверху (см. картинку ниже). Слева представлены категории приложений, например, Игры и Утилиты, а справа – соответствующие приложения (вверху); если выбрать какое-то из них, внизу появится информация о нем. Можно, например, выбрать X11 > Compiz и узнать поподробнее о менеджере Compiz. Если вы установите радиокнопку рядом с доступными Compiz пакетами, менеджер пакетов выберет все пакеты, от которых он зависит.

Поздравляем, вы гуру...

После нажатия кнопки Apply [Применить] пакеты будут скачаны и установлены с удаленных репозиториев или Mandriva DVD. Установив приложение, нажмите кнопку Close [Закрыть] для возврата в окно управления пакетами. Список установленных пакетов можно вызвать при помощи инструмента удаления, а заодно и ликвидировать ненужные пакеты.

Со знанием RPM-команд, графические инструменты Mandriva должны стать вам понятны: в общем, они дают простейший способ установить или удалить программу. Доступные репозитории содержат большую часть программ, необходимых для повседневной работы, а если нет, то EasyUrmpi позволит их добавить, и вам не придется снова перерывать всю сеть в поисках нужного приложения. А если придется, то сначала попробуйте установку с помощью Urmpi, а RPM употребляйте как последнее средство. Надеюсь, я показал вам, что командной строки бояться не надо, и что для некоторых задач (например, для добавления репозиториев в Urmpi) она быстрее, чем графические инструменты. Ваше путешествие по Linux продолжается... LXF

Персональные инструменты
купить
подписаться
Яндекс.Метрика