CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
29.03.2017

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

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: Fedora

Приложения :: Управление пакетами

Команда rpm: очень краткое введение

http://alv.me/

Утилита rpm предназначена для работы с пакетами в одноимённом формате — поиска, получения информации, установки, обновления и удаления с отслеживанием (но не разрешением) их зависимостей. В давние времена она была благословением и проклятием начинающих пользователей дистрибутива Red Hat, его клонов и дериватов.

Благословением — потому что освобождала от необходимости самостоятельной компиляции: практически все разработчики из числа не брезговавших распространением своих пакетов в бинарном виде, собирали свои произведения в этом формате, а службы вроде http://rpmfind.net позволяли легко отыскать их на просторах Сети. Помню, в те годы имела хождение такая жизненная максима:

с помощью rpm и Инета любые дистрибутивы можно сделать близнецами-братьями за одну ночь

Проклятием — потому что, отслеживая зависимости пакетов при установке и удалении, утилита rpm отнюдь не занималась их разрешением, а только сообщала об обнаруженной крамоле, причём в достаточно неудобопонимаемой форме.

Те времена канули в Лету: наступил век пакетных репозиториев и средств для работы с ними, таких, как apt-rpm, urpmi и, наконец, yum — главный герой нашего цикла. Каковые и берут на себя заботу по рутинному манипулированию пакетами. Однако утилита rpm до сих пор остаётся самым простым средством для операций с единичными пакетами, особенно не входящими в официальные репозитории. А в некоторых случаях — например, при подключении репозиториев сторонних — она оказывается практически незаменимой.

Так что уделим толику времени знакомству с её базовыми, наиболее востребованными в повседневной жизни, функциями. Это просто краткий конспект для практического применения. Причём ориентированный на тех, кто ранее дела с rpm-based системами не имел. Тех, кто будет из зала кричать — давай подробности, авансом отсылаю к тёте Мане, она за всё расскажет.

Вообще-то, утилита rpm, подобно dpkg в Deb-based дистрибутивах, — лишь одна из представительниц целого семейства, разрабатываемого, вместе с одноимённым форматом, в рамках самостоятельного проекта. Из числа дополнительных утилит стоит упомянуть rpm-build — средство для создания собственных пакетов, и rpm2html — утилиту для извлечения метаинформации из пакетов и представления её в человеческом виде. Надеюсь, что со временем дело дойдёт и до них. Но в настоящей заметке речь пойдёт только о собственно rpm.

В сущности, в обыденной жизни rpm служит преимущественно трём целям:

  • проверке, установлен ли пакет;
  • установке нужного единичного пакета при отрицательном ответе, и обновлении его — при положительном (если обновление доступно, конечно);
  • удалении того же единично установленного пакета.

наличие пакета в системе проверяется так:

$ rpm -qa pkgname

где -q (или --query) — основная опция запроса, а -a (или --all) предписывает запрос ко всем наличным пакетам. Если пакет установлен в системе, ответом на запрос будет

$ rpm -qa opera
opera-10.00-4440.gcc4.shared.qt3.x86_64

если нет — возвращение приглашения командной строки.

Отсутствующий пакет устанавливаем так:

# rpm -ihv path2/pkgname.X.Y.rpm

где -i (или --install) — основная опция установки.

Обновление уже установленного пакета при наличии более новой версии производится посредством команды

# rpm -F path2/pkgname.X.Y.rpm

где -F (или --freshen) предписывает освежить существующий пакет.

Суммарная форма установки –

# rpm -U path2/pkgname.X.Y.rpm

При этом существующий пакет будет обновлён, а отсутствующий — установлен.

Ко всем основным опциям установки и обновления можно добавить дополнительные: -v (или --verbose), выводящую сведения о ходе процесса, и -h (или --hash), обеспечивающую удобство представления вывода.

Опции установки или обновления требуют указания полного имени файла пакета и пути к нему.

Удаление единичного пакета ничуть не сложнее:

# rpm -e pkgname

Здесь достаточно базового имени пакета.

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

Вот и всё, что на начальном этапе нам потребуется знать о команде rpm. Заинтересованным в деталях дорога, как обычно, к тёте Мане:

$ man rpm

Где и будет рассказано о бессчётных опциях этой утилиты.




Комментарии

stranger, Thu Aug 20 11:00:09 2009:
Еще для удобства (на мой взгляд сомнительного, но вдруг кому пригодится) есть такая команда rpmquery, которая заменяет rpm -q. Например, вместо rpm -qa можно ввести rpmquery -a .

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds