Установка и обновление программных пакетов с помощью утилиты RPM

Страницы работы

Содержание работы

Установка и обновление программных пакетов с помощью утилиты RPM.

Цель работы

  1. Изучить режимы работы утилиты rpm (Red Hat Package Manager).
  2. Научиться просматривать информацию о пакетах, устанавливать и обновлять программные пакеты.

Домашнее задание

  1. Изучить опции и назначение команды rpm.
  2. Подготовить ответы на контрольные вопросы.

Лабораторное задание

  1. Просмотреть и записать в файл информацию о программном пакете linuxconf-1.21r5-ipl8mdk.i586.rpm.
  2. Установить пакет linuxconf-1.21r5-ipl8mdk.i586.rpm.
  3. Найти номер версии менеджера файлов mc среди установленных пакетов, обновить версию.
  4. Протестировать установленную версию утилиты linuxconf, результаты записать в файл.

Справочная информация

RPM является одним из самых популярных форматов распространения архивов Linux-приложений. Для работы с программным пакетом в формате RPM применяется команда rpm. С помощью этой команды можно получить список уже установленных пакетов, обновить версию существующих пакетов, а также узнать дополнительную информацию по каждому конкретному пакету (например, получить список файлов или документации, включенной в пакет). Помимо этого, команда rpm позволяет выполнить проверку наличия и целостности всех включенных в пакет файлов.

            Ниже перечислены основные режимы работы команды rpm.

  • Установка (-i).
  • Обновление (-U).
  • Получение информации (-q).
  • Тестирование (-V).
  • Проверка сигнатуры (--checksig).
  • Удаление (-e).
  • Компоновка (-b).
  • Перестройка баз данных (--rebuilddb).
  • Назначение прав доступа (--setperms).
  • Определение владельца/группы (--setugids).
  • Вывод RC (--showrc).

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

Установка программных пакетов с помощью команды RPM.

Для установки архивного файла RPM необходимо использовать следующий синтаксис команды:

            rpm –i [параметры] пакет

Здесь пакет представляет собой имя архивного файла RPM, он может располагаться в текущем каталоге, на подключенном компакт-диске (например, /mnt/cdrom/RedHat/RPMS/xbill.rpm) или на доступном в текущий момент ftp-узле.

По содержимому пакеты подразделяются на 2 класса – пакеты с программами в двоичном коде и пакеты с исходным кодом. Имя пакета задается следующим образом: имя_программы-версия-релиз.платформа.rpm (или src.rpm). Например, icewm-0.9.25-1.i386.rpm, что означает программа icewm, версия 0.9.25, релиз первый, для платформы РС-х86.

            Совместно с параметром –i, для вывода информации о состоянии процесса установки, могут использоваться следующие параметры.

  • -vv – вывод отладочной информации в процессе установки пакета. Как правило, это достаточно удобный способ контролировать ход установки приложения. (Поскольку отладочная информация может занять несколько экранов, рекомендуется использовать перенаправление вывода команде more).
  • -h – вывод 50 знаков диеза в процессе установки пакета, целью чего является наглядное представление хода распаковки архивного файла. Отображает соотношение установленной части пакета к его общему объему.

Перед установкой пакета программа rpm осуществляет проверку системы, чтобы убедиться в том, что файлы пакета не перезапишут более новые версии этих файлов, а также в том, что данный пакет не требует обязательной установки других, отсутствующих в данный момент в системе пакетов (так называемые «зависимости»). Следующие параметры команды rpm позволяют проигнорировать определенные условия, при которых установка программного пакета может завершиться неудачей.

  • --force – указывает на необходимость установки пакета, не смотря на то, что он может иметь более раннюю версию, нежели уже установленный пакет, содержать в себе файлы из других пакетов или быть уже установленным в системе. (Аналогично совместному применению параметров oldpackage, replacefiles, replacepkgs.)
  • --oldpackage – указывает на необходимость установки пакета, несмотря на то что он может иметь более раннюю версию, нежели уже установленный в системе пакет.
  • --replacefiles – указывает на необходимость установки пакета, несмотря на то, что он может содержать в себе файлы из других пакетов.
  • --replacepkgs – указывает на необходимость установки пакета, несмотря на то, что он может уже присутствовать в системе.
  • --nodeps – указывает на необходимость установки пакета, несмотря на то, что он  может зависеть от других, отсутствующих в данный момент в системе, пакетов.
  • --ignorearch – указывает на необходимость установки пакета, несмотря на несоответствие архитектуры компьютера двоичному коду пакета.
  • --ignoreos – указывает на необходимость установки пакета, несмотря на несоответствие архитектуры операционной системы компьютера двоичному коду пакета.

При установке могут возникнуть следующие проблемы:

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

·  ошибки, связанные с нарушением полномочий при использовании команды rpm. Возникает при выполнении команды rpm –i не имеющим на это полномочий пользователем. При этом работа программы завершается аварийно, выдав сообщение о невозможности открыть базу данных в каталоге /var/lib/rpm.

Обновление программных пакетов с помощью команды rpm.

Использование параметра обновления пакетов (-U) во многом аналогично использованию параметра установки. Единственное отличие заключается в том, что, прежде чем установить новую версию пакета, программа проводит удаление его старой версии. Если необходимо установить более раннюю версию, используется опция –-oldpackage. В том случае, если в системе обнаружится аналогичный пакет, имеющий более позднюю версию, он будет удален перед установкой более ранней версии пакета.

            Удаление программных пакетов с помощью команды rpm.

Для того чтобы удалить программный пакет (например, с целью освобождения дискового пространства), следует воспользоваться параметром –e.

            rmp –е пакет

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

            rpm –q –whatrequires пакет

Далее перечислены дополнительные параметры команды удаления:

  • –-nodeps – указывает на необходимость удаления пакета без проверки зависимых от него компонентов системы;
  • –-noscripts – указывает на необходимость удаления пакетов с блокированием всех сценариев, выполняющихся до и после удаления;
  • –-notriggers – указывает на необходимость удаления пакета с блокированием всех сценариев (триггеров), выполняющихся при удалении пакета.

Если необходимо протестировать процесс удаления используется опция –test:

            rmp –еvv --test пакет

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

            Получение информации о пакетах.

Для того чтобы получить информацию, следует воспользоваться параметром –q. Информация может представлять собой как просто список установленных компонентов, так и детальные сведения о каждом пакете. Синтаксис запроса приведен ниже.

            rpm –q [parametrs]

Наиболее полезные параметры данной команды:

  • -qa вывод списка всех установленных пакетов;
  • -qf файл вывод списка пакетов, содержащих в себе данный файл (необходим полный путь к файлу);
  • -qi пакет вывод детальной информации о пакете;
  • -qR пакет вывод компонентов (например, библиотек и команд), от которых зависит пакет;
  • -ql пакет вывод всех файлов, содержащихся в пакет;
  • -qd пакет вывод списка документации, поставляющейся вместе с пакетом;
  • -qc пакет вывод списка файлов настроек, поставляющихся вместе с пакетом.

Тестирование пакетов с помощью команды rpm.

Для того, чтобы протестировать содержимое программного пакета (например, в случае некорректного выполнения его компонентов или подозрения о вмешательстве в систему), следует воспользоваться параметром –V. Информация о каждом установленном пакете хранится в базе данных RPM. Используя параметр тестирования пакетов, можно обнаружить малейшие изменения во входящих в пакет файлах.

Процесс тестирования программного пакета включает в себя несколько различных проверок размеров файлов и прав доступа. Если все в порядке, проверка завершится без выдачи какого-либо сообщения. Если же определенные компоненты пакета были изменены за время, прошедшее после установки, их имена вместе с информацией о способе изменения будут выведены на экран. Ниже приведен пример выполнения команды rmp –V.

rmp –V ppp

s.5....T c /etc/ppp/chap-secrets

s.5....T c /etc/ppp/options

s.5....T c /etc/ppp/pap-secrets

Полученный результат свидетельствует об изменении трех файлов пакета ррр. Изменения коснулись размера файла (S), контрольной суммы (5), и времени последнего изменения файла (T). Буква «с» означает, что все измененные файлы являются файлами настроек.

Ниже приведена расшифровка обозначений, применяемых при проверке программных пакетов.

  • 5 – MD5 Sum (Контрольная сумма MD5). Изменение контрольной суммы свидетельствует об изменении содержимого файла.
  • S – File size (Размер файла). Изменение общего количества символов в файле.
  • L – Symlink (Символическая ссылка). Файл стал символической ссылкой на другой файл.
  • T – Mtime (Время последнего изменения). Замена времени последнего изменения файла.
  • D – Device (Устройство). Файл стал специальным файлом устройства.
  • U – User (Пользователь). Изменение владельца файла.
  • G – Group (Группа). Изменение группы.
  • M – Mode (Режим). Свидетельствует об изменении владельца или прав доступа к файлу.

Похожие материалы

Информация о работе