Может ли кто-нибудь помочь мне понять следующие моменты:

Может ли кто-нибудь помочь мне понять следующие моменты:

Я не имею опыта работы системным администратором, однако по некоторым причинам мне необходимо выполнить некоторые задачи, описанные ниже:

Мне нужно установить некоторые пакеты в 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

  • RPM — это пакет. Пакет некоторого программного обеспечения. Он содержит файлы в архиве CPIO (похож на tar, просто другой формат) и некоторую информацию (например, какие еще пакеты ему нужны) и скрипты, которые нужно запустить при установке/обновлении/удалении пакета (они автоматически запускаются /usr/bin/rpm).

  • Большая часть программного обеспечения Linux динамически связана. То есть для пакета Firefox вам нужен пакет libnss (и куча других). Это имеет то преимущество, что если есть ошибка/проблема безопасности, сопровождающий этой библиотеки обновляет только эту библиотеку и ему не нужно перекомпилировать все программы, которые ее используют (их может быть сотни).

  • Типичный дистрибутив (RHEL) состоит из тысяч пакетов RPM. Они сгруппированы в одном каталоге, который называется репозиторием. Red Hat предоставляет некоторый базовый репозиторий. Затем есть некоторые другие репозитории с некоторыми продуктами (например, все пакеты, необходимые для OpenStack или Satellite или чего-то еще). Один из самых известных репозиториев — EPELhttps://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.

Связанный контент