RPM это пакет. Пакет программного обеспечения. Он содержит файлы в архиве CPIO (аналогично tar, только в другом формате) и некоторую информацию (например, какие другие пакеты ему нужны) и сценарии, которые необходимо запускать при установке / обновлении / удалении пакета (которые автоматически запускаются / usr / бен / мин).
Большая часть программного обеспечения Linux динамически связана. Т.е. для пакета firefox вам нужен пакет libnss (и множество других). Преимущество этого заключается в том, что в случае ошибки / проблемы с безопасностью сопровождающий этой библиотеки обновляет только эту библиотеку и не нуждается в перекомпиляции всех программ, которые ее используют (могут быть из них сотни).
Типичный дистрибутив (RHEL) состоит из тысяч пакетов RPM. Они сгруппированы в одном каталоге под названием хранилище. Red Hat предоставляет некоторый базовый репозиторий. Затем есть несколько других репозиториев с некоторыми продуктами (например, все пакеты, необходимые для OpenStack или Satellite или чего-то еще). Одним из наиболее известных репозиториев является EPEL https://fedoraproject.org/wiki/EPEL, который содержит пакет для RHEL. Он предоставляет программное обеспечение, которого нет в RHEL, и оно поддерживается сообществом (то есть, нет гарантии).
Хотя вы можете загрузить пакет RPM вручную и установить его с помощью,
/usr/bin/rpm -Uvh somepackage.rpm
вы, скорее всего, получите ошибку, котораяsomelibrary
необходима. Если вы загрузите этот пакет и попытаетесь установить его, вы получите ошибку, котораяsomeotherlibrary
необходима. Это называется цепочкой зависимостей. Иногда эта зависимость даже круговая, и вы не можете установить ее одну за другой. Когда вы устанавливаете какое-либо программное обеспечение, вполне обычно, что оно требует десятков или даже сотен зависимостей. Установка их вручную займет так много времени.YUM - это программа, которая автоматически разрешает зависимости и выбирает из репозиториев лучшие пакеты для удовлетворения этих зависимостей. Таким образом, даже обновление и установка некоторого программного обеспечения является легкой задачей. Например
yum install firefox
.Yum может скачать пакеты для вас. Ему просто нужно знать URL этих репозиториев (помните, что вы можете настроить один или несколько репозиториев для своей системы). URL хранится в
.repo
файлах. Они проживают в/etc/yum.repos.d/
. Это простой текстовый файл (в формате INI), содержащий URL-адрес и некоторые другие сведения (например, если пакеты имеют подпись GPG). Если вы правильно настроили файлы репо, YUM может легко установить программное обеспечение из этих репозиториев. Когда вы запустите/usr/bin/yum install firefox
его, он загрузит информацию со всех настроенных репозиториев, а затем сообщит вам, что Firefox и X других зависимостей будут установлены. Когда вы подтвердите, он загрузит эти пакеты, а затем установит их. Нет необходимости запускать rsync.
Отношения между yum, .repo и .rpm?
Я не из системного администратора, однако по некоторым причинам мне нужно выполнить некоторые задачи, как описано ниже:
Мне нужно установить несколько пакетов в RHEL на 4-5 узлах, используя "yum" в ОС RHEL 7.x. Для этого, я наткнулся на различные термины, как: yum
, .repo
, .rpm
.
Я несколько понял, что с помощью yum
мы можем установить программное обеспечение, но у меня возникают трудности с yum
получением программного обеспечения из Интернета.
Может ли кто-нибудь помочь мне понять следующие моменты:
1) Является ли yum
программа, выполняющая установку программного обеспечения?
2) Что это .rpm
? Есть ли .rpm
актуальное программное обеспечение, которое устанавливается? Чем- .rpm
то похож на .tar
?
3) Как yum
получить / загрузить программное обеспечение из Интернета? Это справляется с .repo
файлом?
4) Когда мы пишем yum - y install some_program
, сначала загружаются двоичные файлы из Интернета, а затем устанавливаются, или нам нужно сделать некоторые из них rsync
.
Я запутался, я пытался найти ответы в Интернете, но мои сомнения все еще остаются. Кто-нибудь может мне помочь простыми словами?
1 ответ на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
1
Есть ли способ предотвратить установку / обновление, чтобы засорять мой жесткий диск загадочными пап...
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux