Блог

Что такое rpm пакеты

Что такое пакеты
Как уже отмечалось, весь Linux состоит из пакетов. В RedHat работу с пакетами выполняет программа rpm (RedHat Package Manager), а сами файлы, содержащие пакеты, имеют расширение .rpm. Кроме RedHat существует еще несколько дистрибутивов Linux, использующих rpm; самые известные -- Caldera, SuSE и KSI. Их так и называют -- rpm-системы.
Сразу после установки системы зачастую возникает необходимость доставить некоторые пакеты, забытые при инсталляции, или убрать лишние.
У файлов, содержащих пакеты, всегда перед расширенем .rpm есть еще одно, обозначающее архитектуру, для которой предназначен этот пакет.
Некоторые расширения .rpm-файлов
РасширениеНазначение
.i386.rpm Пакет для Linux/Intel
.src.rpm Исходный код пакета (никогда не устанавливайте .src.rpm -- потом не удалите!)
.alpha.rpm Пакет для Linux/Alpha
.sparc.rpm Пакет для Linux/Sparc (Sun)
.ppc.rpm Пакет для Linux/PowerPC
.noarch.rpm Пакет для всех архитектур (обычно содержит данные -- файлы конфигурации, шрифты и т.д.)
Кроме того, само имя пакета состоит из собственно названия и версии. Например, lynx-2.8.2-3.i386.rpm -- программа lynx, версия 2.8.2, build 3. К сожалению, формальных правил, позволяющих понять, где кончается имя и начинается версия, нет.
Файлы пакетов обычно расположены в одном из трех мест -- в дистрибутиве, в разделе дополнений (updates) или в резделе "пожертвований" (contrib). В ИЯФ для RedHat 5.2/Intel это соответственно
Пакеты с исходными кодами всегда лежат в директориях SRPMS/, и содержат исходный код для всех архитектур.
Использование rpm
Хотя rpm выполняет все функции работы с пакетами (включая создание .i386.rpm из .src.rpm), сейчас рассмотрим лишь основные действия.
Установка. Для установки пакета используется команда rpm -i (Install), которой указывается полное имя файла, содержащего пакет. Пример:
rpm -i lynx-2.8.2-3.i386.rpm
Если пакет уже установлен, rpm откажется его устанавливать. Если же это новая версия (т.е. делается не установка, а обновление), то надо воспользоваться командой rpm -U (Upgrade); фирма RedHat рекомендует "для красоты" использовать форму rpm -Uvh -- при этом "прогресс" в установке показывается индикатором из символов "#". Пример:
bobby:~# rpm -Uvh wu-ftpd-2.4.2b18-2.1.i386.rpm
wu-ftpd                     ##################################################
bobby:~# _
Если требуется установить несколько пакетов, то можно указать их все в одной команде (через пробелы). Иногда это нужно -- например, при обновлении программы, состоящей из нескольких пакетов (например, Netscape), чтобы rpm не выдавал ошибок из-за зависимостей пакетов.
Удаление. Для удаления установленного пакета используется команда rpm -e (Erase). Ей указывается имя пакета (можно без версии), и без суффикса ".i386.rpm". Пример:
rpm -e lynx
При удалении нескольких пакетов их также стоит указать все вместе в одной команде, чтобы rpm не "ругался" на удаление пакета, от которого зависит другой пакет.
Информация. Чтобы узнать, установлен ли некий пакет, служит команда rpm -q (Query). Ей также указывается имя пакета, а она выдает его полное имя, если он установлен. Примеры:
bobby:~# rpm -q lynx
lynx-2.8.1-5
bobby:~# rpm -q seyon
package seyon is not installed
bobby:~# _
Маленькие и заглавные буквы в именах пакетов различаются. Поскольку часто не помнишь точное имя пакета (и уж тем более, какие буквы там на каком регистре), можно воспользоваться командой rpm -qa (Query All packages -- показать все пакеты) в сочетании с командой grep:
bobby:~# rpm -qa | grep -i after
AfterStep-1.5-0.7
AfterStep-APPS-1.5-0.3
bobby:~# _

Средний рейтинг 0

Комментарии:

Здесь нет комментариев.
Здесь пока нет ни одного комментария, вы можете стать первым!

16+ Сайт может содержать контент, не предназначенный для лиц младше 16 лет