Как установить rpm windows

Обновлено: 01.07.2024

RPM имеет пять основных режимов работы (не считая создания пакета): установка, удаление, обновление, анализ и проверка. Этот раздел содержит описание каждого режима. Чтобы получить полное описание всех подробностей и параметров, попробуйте выполнить rpm --help или обратиться к разделу 15.5 Дополнительные ресурсы .

Прежде чем воспользоваться пакетами RPM, вы должны знать, где их найти. Поисковые машины в Интернете знают о множество хранилищ RPM, но если вы ищете пакеты RPM, созданные компанией Red Hat, обратитесь к следующим источникам:

Компакт-диски Red Hat Enterprise Linux

Сеть Red Hat Network — Подробнее о ней вы узнаете в главе 17 Red Hat Network

Обычно файлы, содержащие пакеты RPM, имеют имена вроде foo-1.0-1.i386.rpm . Имя файла включает название пакета ( foo ), версию ( 1.0 ), выпуск ( 1 ) и архитектуру ( i386 ). Чтобы установить пакет, войдите в систему под именем root и введите в приглашении оболочки следующую команду:

rpm -Uvh foo-1.0-1.i386.rpm

Если установка пройдёт успешно, на экране появится следующее:

Как вы видите, RPM выводит имя пакета, а затем, по мере установки пакета, последовательность символов «решётка», отражающую процесс установки.

За дополнительными сведениями о проверке подписи пакета обратитесь к разделу 15.3 Проверка подписи пакета .

Предупреждение

Если вы устанавливаете пакет ядра, вместо этой команды следует использовать rpm -ivh . За подробностями обратитесь к главе 37 Обновление ядра вручную .

Установка пакетов должна выполняться просто, но иногда вы можете встретить ошибки:

Если пакет той же версии уже установлен, вы увидите:

Если версия пакета, который вы пытаетесь установить, совпадает с версией уже установленного, но вы, тем не менее, хотите установить пакет, вы можете указать параметр --replacepkgs и RPM проигнорирует эту ошибку:

rpm -ivh --replacepkgs foo-1.0-1.i386.rpm

Этот параметр полезен, если файлы, установленные из пакета RPM, были удалены или вы не хотите, чтобы были установлены оригинальные файлы конфигурации RPM.

Чтобы RPM игнорировал эту ошибку, укажите параметр --replacefiles :

rpm -ivh --replacefiles foo-1.0-1.i386.rpm

Пакеты RPM могут по сути зависеть от других пакетов, что означает, что для их нормальной работы необходимо установить другие пакеты. Если вы попытаетесь установить пакет с неразрешёнными зависимостями, вы увидите примерно следующее:

error: Failed dependencies: bar.so.2 is needed by foo-1.0-1 Suggested resolutions: bar-2.0.20-3.i386.rpm

Если вы устанавливаете пакет с набора компакт-дисков Red Hat Enterprise Linux CD-ROM, обычно вам предлагается название пакета, необходимого для разрешения зависимости. Найдите предлагаемый пакет(ы) на компакт-дисках Red Hat Enterprise Linux или на FTP-сайте Red Hat (или зеркале) и добавьте его в команду:

rpm -ivh foo-1.0-1.i386.rpm bar-2.0.20-3.i386.rpm

Если установка обоих пакетов прходит успешно, на экран выводится примерно следующее:

Если система не предлагает пакет для разрешения зависимости, вы можете попробовать параметр --redhatprovides , чтобы определить, какой пакет содержит требуемый файл. Для использования этого параметра вам потребуется установить пакет rpmdb-redhat .

rpm -q --redhatprovides bar.so.2

Если пакет, содержащий bar.so.2 , есть в установленной базе данных из пакета rpmdb-redhat , вы увидите название этого пакета:

Чтобы выполнить установку, нарушив зависимости (что не рекомендуется делать, так как пакет может работать некорректно), воспользуйтесь параметром --nodeps .

Удаление пакета выполняется также просто, как и его установка. Введите в приглашении оболочки следующую команду:

Обратите внимание, здесь используется имя пакета foo , а не имя файла оригинального пакета foo-1.0-1.i386.rpm . Чтобы удалить пакет, замените foo действительным именем первоначального пакета.

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

error: Failed dependencies: foo is needed by (installed) bar-2.0.20-3.i386.rpm

Чтобы заставить RPM игнорировать эту ошибку и удалить пакет, что может привести к поломке пакета, зависящего от него, используйте параметр --nodeps .

Обновление пакета похоже на его установку. Введите в приглашении оболочки следующую команду:

rpm -Uvh foo-2.0-1.i386.rpm

В процессе обновления пакета RPM автоматически удаляет все старые версии пакета foo . В действительности, вы можете всегда использовать параметр -U для установки пакетов, так как он работает, даже если предыдущая версия пакета не установлена.

Не стоит использовать параметр -U для установки пакетов ядра, так как при этом RPM заменит предыдущий пакет ядра. Это не влияет на работающую систему, но если после следующей перезагрузки запустить новое ядро не удастся, никакого другого ядра для загрузки вместо него не будет.

Параметр -i добавляет ядро в меню загрузчика GRUB ( /etc/grub.conf ). Подобным образом, при удалении старого, ненужного ядра, запись этого ядра удаляется из GRUB.

saving /etc/foo.conf as /etc/foo.conf.rpmsave

Обновление в самом деле представляет собой комбинацию удаления и установки, поэтому во время обновления RPM вы можете встретить ошибки и удаления, и установки, плюс ещё одну. Если RPM считает, что вы пытаетесь обновить пакет с более старой версией, он сообщает примерно следующее:

package foo-2.0-1 (which is newer than foo-1.0-1) is already installed

Чтобы, несмотря на это, принудительно обновить пакет, укажите параметр --oldpackage :

rpm -Uvh --oldpackage foo-1.0-1.i386.rpm

Освежение пакета похоже на его обновление. Введите в приглашении оболочки следующую команду:

rpm -Fvh foo-1.2-1.i386.rpm

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

RPM может выполнить эту операцию как для одного пакета, так и для групп пакетов. Если вы только что загрузили много разнообразных пакетов и хотите обновить только установленные в системе, «освежение» пакетов — именно то, что вам нужно. Если вы освежаете пакеты, перед использованием RPM вы можете не удалять ненужные пакеты из загруженной группы пакетов.

В этом случае выполните следующую команду:

RPM автоматически обновит только уже установленные пакеты.

Чтобы обратиться к базе данных установленных пакетов, используйте команду rpm -q . Команда rpm -q foo выводит название пакета, версию и номер выпуска установленного пакета foo :

Чтобы запросить информацию о пакете, замените foo действительным именем пакета.

Вместо указания имени пакета используйте следующие параметры команды -q для указания запрашиваемого пакета (ов). Эти параметры называются Параметрами выбора пакета .

-a запрашивает все установленные пакеты.

-f <file> запрашивает пакет, к которому относится файл <file> . Указывая файл, вы должны определить полный путь к файлу (например, /bin/ls ).

-p <packagefile> запрашивает пакет <packagefile> .

Указать параметры запроса можно разными способами. Следующие параметры определяют тип искомой информации. Они называются Параметрами запроса информации .

-i отображает информацию о пакете, включая имя, описание, выпуск, размер, дату сборки, дату установки, производителя и другую разнообразную информацию.

-l выводит список файлов, содержащихся в пакете.

-s выводит состояние всех файлов в пакете.

-d выводит список файлов, помеченных как документация (страницы man, info, файлы README, и т.д.).

-c выводит список файлов, помеченных как файлы конфигурации. Таковыми считаются файлы, изменяемые вами после установки при настройке пакета в вашей системе (например, sendmail.cf , passwd , inittab и т.д.).

Добавьте для параметров, выводящих списки файлов, команду -v и вы получите списки в знакомом формате ls -l .

При проверке пакета информация о файлах, установленных из пакета, сравнивается с информацией из оригинального пакета. Помимо прочего, при такой проверке проверяется размер, сумма MD5, разрешения, тип, владелец и группа владельца каждого файла.

Проверку пакета выполняет команда rpm -V . Вы можете указать пакет, который хотите проверить, используя любой из перечисленных параметров выбора пакета . Простым примером проверки является команда rpm -V foo , которая проверяет, что все файлы пакета foo находятся там, куда они были изначально установлены. Например:

Чтобы проверить пакет, содержащий конкретный файл, выполните:

rpm -Vf /usr/bin/vim

Чтобы проверить ВСЕ установленные пакеты:

Чтобы сравнить установленный пакет с файлом RPM-пакета:

rpm -Vp foo-1.0-1.i386.rpm

Эта команда может быть полезна, если вы сомневаетесь в целостности баз данных RPM.

5 — контрольная сумма MD5

L — символическая ссылка

T — дата изменения файла

M — режим (включая разрешения и тип файла)

? — файл не удалось прочитать

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

< Что такое RPM >

RPM расшифровывается как Red Hat Package Manager. Однако в наши дни RPM характерен не только для Red Hat, потому что многие другие дистрибутивы Linux используют RPM для управления своим программным обеспечением. Например, и Mandriva, и SuSE используют RPM для управления программным обеспечением. С помощью RPM вы можете устанавливать, обновлять и удалять программное обеспечение в Linux, а также отслеживать уже установленные пакеты RPM в вашей системе. Это можно сделать, потому что RPM хранит базу данных всего программного обеспечения, которое было установлено вместе с ним.

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

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

Обратите внимание, что разные дистрибутивы Linux могут хранить свое программное обеспечение и файлы, связанные с этим программным обеспечением, в разных каталогах. Вот почему так важно использовать пакет RPM, созданный для вашего дистрибутива. Например, если вы устанавливаете специальный программный пакет SuSE в системе Red Hat, RPM может поместить файлы из этого пакета в неправильные каталоги. В худшем случае результатом является то, что программа не находит все необходимые файлы и не работает должным образом.

Есть несколько хороших графических программ для установки пакетов RPM, но в этом файле tuX я рассмотрю надежный метод командной строки для установки программного обеспечения. Обратите внимание, что при установке программного обеспечения в Linux вам необходимо быть root. Когда у вас есть привилегии root, вы используете rpm Команда с соответствующими параметрами для управления вашими пакетами программного обеспечения RPM.

< Установка и обновление пакетов RPM >

Если все пойдет хорошо, файлы в вашем пакете будут установлены в вашу систему, и вы сможете успешно запустить новую программу. Но где ваша новая программа? Обратите внимание, что rpm обычно не создает специальный каталог для файлов программного пакета. Вместо этого разные файлы из пакета помещаются в соответствующие существующие каталоги в вашей системе Linux. Исполняемые программы обычно помещаются в / bin, / usr / bin, / usr / X11 / bin или / usr / X11R6 / bin после установки с помощью rpm.

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

< Ошибка: сбой зависимостей >

Выдача rpm -i or rpm -U устанавливает программное обеспечение, и вы можете начать его использовать. RPM очень прост, когда он работает. Однако RPM может быть дьяволом, когда не работает. Есть много причин, по которым установка программного обеспечения идет не так, как надо, но обычно это из-за неудавшиеся зависимости.

Видите ли, многим программам Linux нужны другие файлы или программы для правильной работы. Другими словами, определенная часть программного обеспечения зависит на другом ПО. Когда вы пытаетесь установить пакет RPM, RPM автоматически проверяет свою базу данных на наличие других файлов, необходимых для устанавливаемого программного обеспечения. Если RPM не может найти эти файлы в своей базе данных, он прекращает установку программного обеспечения и жалуется на неудачные зависимости.

Тем не менее, иногда RPM просто глупо. Вы видите, только программное обеспечение, которое было установлено с RPM добавляется в базу установленного ПО. Это означает, что если вы использовали какой-либо другой метод для установки определенной программы, RPM не знает, что программа существует в вашей системе. В этом случае RPM жалуется на неудачные зависимости, даже если необходимая программа действительно существует в вашей системе и нет отказавших зависимостей!

Это заставляет RPM игнорировать ошибки зависимостей и в любом случае устанавливать программное обеспечение, но учтите, что если необходимые файлы все равно отсутствуют, программа не будет работать хорошо или вообще не будет работать. Использовать --nodeps вариант только тогда, когда вы знаете, что делаете, или когда у вас достаточно тупая голова 😉

< Удаление программного обеспечения, установленного с RPM >

Эта медитация rpm -e Команда использует базу данных RPM, чтобы проверить, где были установлены все файлы, связанные с этим программным обеспечением, а затем автоматически удаляет все эти файлы. После удаления файлов программы, он также удаляет программу из базы данных установленного программного обеспечения.

Вот почему так важно, чтобы вы НИКОГДА не удаляли программное обеспечение RPM вручную (например, удаляя отдельные файлы с помощью rm ). Если вы просто бегаете по своей системе, случайно удаляя файлы, которые были установлены с помощью RPM, вы избавитесь от программного обеспечения, но RPM не знает этого и не удаляет программный пакет из своей базы данных. В результате RPM по-прежнему считает, что программа установлена ​​в вашей системе, и позже вы можете столкнуться с проблемами зависимости.

Если вы использовали RPM для установки определенного программного обеспечения, используйте RPM и для удаления этого программного обеспечения!

< Запрос к базе данных RPM >

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

Приведенная выше команда делает rpm перечислите все пакеты в своей базе данных и передайте список grep , тогда grep проверяет каждую строку на наличие «kde» и, наконец, показывает вам все строки, содержащие слово «kde».

Если вы не знаете, что такое grep или piping, взгляните на TuX-файл стандартного ввода и вывода Redirecting.

Задумывались ли вы, что означает YUM? Чтение страницы руководства говорит о том, что YUM означает «Модификатор обновления Yellowdog». YUM является преемником инструмента YUP, который был менеджером пакетов по умолчанию в Yellowdog Linux.

Как установить RPM-пакеты с помощью YUM

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

Как обновить пакеты с помощью YUM

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

Чтобы обновить определенный пакет или пакеты, попробуйте следующее:

Если вы хотите обновить пакет до определенного номера версии, вам нужно использовать команду update-to следующим образом:

Теперь подумайте об этой ситуации. У вас есть версия 1.0 программы, и есть ряд исправлений ошибок 1.1, 1.2, 1.3 и т. Д. Также доступна версия 2 программного обеспечения. Теперь представьте, что вы хотите установить исправления ошибок, но не переходить на новую версию, потому что, откровенно говоря, это отстой. Так как вы обновляетесь без обновления?

Просто используйте команду update-minimal следующим образом:

Как проверить наличие обновлений с помощью YUM без их установки

Иногда вы хотите знать, что нужно обновить, прежде чем выполнять обновление.

Следующая команда вернет список программ, которые необходимо обновить:

Как удалить программы с помощью YUM

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

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

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

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

В случае программы мониторинга и службы электронной почты оба приложения будут удалены.

Команда автоматического удаления также может использоваться без каких-либо параметров, как показано ниже:

При этом в вашей системе будут найдены файлы, которые не были установлены вами явно и не имеют зависимостей. Они известны как листовые пакеты.

Перечислите все пакеты RPM, доступные с использованием YUM

Вы можете получить список всех доступных пакетов в YUM, просто используя следующую команду:

Есть дополнительные параметры, которые вы можете добавить в список, чтобы сделать его более полезным.

Например, чтобы получить список всех доступных обновлений в вашей системе, выполните следующую команду:

Чтобы увидеть все пакеты, которые установлены, в вашей системе выполните следующую команду:

Вы можете получить список всех файлов, которые были установлены без использования репозиториев, выполнив следующую команду:

Как искать пакеты RPM с помощью YUM

Для поиска определенного пакета используйте следующую команду:

Например, для поиска Steam используйте следующую команду:

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

По умолчанию средство поиска просматривает имена и сводки пакетов, и только если оно не находит результатов, оно выполняет поиск по описаниям и URL-адресам.

Чтобы получить возможность поиска по описаниям и URL-адресам, используйте следующую команду:

Как получить информацию о RPM-пакетах с помощью YUM

Вы можете получить важную информацию о пакете, используя следующую команду:

Возвращенная информация выглядит следующим образом:

  • название
  • Архитектура
  • Версия
  • Релиз
  • Размер
  • вместилище
  • Резюме
  • URL
  • Лицензия
  • Описание

Как установить группы приложений с помощью YUM

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

Выходные данные, возвращаемые этой командой, аналогичны следующим:

  • Минимальная установка
  • Вычислительный узел
  • Инфраструктурный сервер
  • Файловый сервер и сервер печати
  • MATE Desktop
  • Базовый веб-сервер
  • Хост виртуализации
  • Сервер с графическим интерфейсом
  • Рабочий стол GNOME
  • KDE Plasma
  • Разработка и творческая рабочая станция

Поэтому вы можете установить рабочую среду KDE Plasma с помощью следующей команды:

Прежде чем сделать это, вы можете узнать, какие пакеты входят в группу. Для этого выполните следующую команду:

Вы заметите, что при запуске этой команды вы увидите список групп внутри групп. Конечно, вы также можете запустить информацию о группах для этих групп.

Как установить RPM-файлы, локальные для вашей системы, используя YUM

Что произойдет, если RPM-файл не будет установлен из одного из репозиториев, установленных в вашей системе. Возможно, вы написали свой собственный пакет и хотите установить его.

Чтобы установить RPM-пакет локально для вашей системы, выполните следующую команду:

Если файл требует зависимостей, то в хранилищах будет выполняться поиск зависимостей.

Как переустановить пакет RPM с помощью YUM

Если вам не повезло и программа, которая когда-то работала по какой-либо причине, перестала работать, вы можете переустановить ее снова, используя следующую команду:

Эта команда переустановит ту же программу с тем же номером версии, что и уже установленная.

Как перечислить все зависимости для пакета RPM

Чтобы вывести список всех зависимостей для пакета, используйте следующую команду:

Например, чтобы найти все зависимости Firefox, используйте это:

Как составить список всех репозиториев, используемых YUM

Чтобы узнать, какие репозитории доступны в вашей системе, используйте следующую команду:

Возвращенная информация будет выглядеть следующим образом:

Это руководство дает хорошее общее представление о том, как работает YUM. Однако это только царапает поверхность всех возможных применений YUM. Для получения полной информации, включая список всех возможных ключей, выполните следующую команду:


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

Официальные репозитории CentOS содержат тысячи пакетов RPM, но в некоторых случаях вы можете встретить файл RPM, которого нет ни в одном репозитории.

Некоторые авторы программного обеспечения предоставляют для загрузки только RPM-файлы, поэтому RPM-файлы предназначены для загрузки и установки независимо от репозитори я программного обеспечения.

В этом руководстве мы узнаем, как установить файл .rpm в дистрибутивах Linux CentOS.

Что такое менеджер пакетов RPM

Предпосылки

Прежде чем мы начнем, вам необходимо убедиться, что у вас есть права sudo и что вы установили в свою систему некоторые из RPM, DNF и YUM Package Manager (все они включены по умолчанию).

Также убедитесь, что пакет RPM, который вы хотите установить, создан для вашей системной архитектуры и вашей версии CentOS.

В этом руководстве мы будем загружать и устанавливать пакет Slack RPM в CentOS 8.

Как скачать установочный пакет RPM

Как правило, обычно веб-браузер используется для поиска и загрузки файла .rpm, но вы также можете использовать инструменты командной строки, такие как wget или curl.

Например, мы будем использовать команду wget для загрузки пакета slack (rpm) в текущий каталог (я загружаю в /tmp) следующим образом:

Для проверки вы можете использовать команду ls для вывода файла rpm в каталоге /tmp:

Установка файла RPM с помощью команды RPM

Вы можете установить RPM-пакет двумя способами.

Первый использует команду RPM, другой использует менеджер пакетов yum.

В следующей команде мы используем опцию -i для установки скачанного пакета rpm:

Из приведенного выше вывода видно, что установка не удалась из-за отсутствия пакетов зависимостей. Поэтому мы должны проверить наличие пакетов зависимостей rpm и установить их вручную.

Проверьте RPM-зависимости

Чтобы проверить зависимости пакетов, у нас есть две опции rpm. Вы можете использовать -qpR для запроса файла rpm и -qR для запроса по имени пакета.

Например, давайте запросим файл .rpm (мы используем slack rpm, который мы уже загружали ранее), чтобы найти все необходимые пакеты зависимостей:

Установка RPM-пакетов с помощью yum

Тут вступает в игру удобный инструмент под названием yum, где нам не нужно беспокоиться о зависимостях.

Этот менеджер пакетов yum может получить все необходимые зависимости и настроить их для нас.

Теперь мы будем использовать менеджер пакетов yum для установки нашего загруженного пакета с помощью следующей команды:

После ввода y система установит все зависимости и наш пакет:

Удаление пакета RPM

Чтобы удалить пакет RPM, мы даем команду RPM на удаление программного обеспечения с параметром -e.

Читайте также: