Вопрос или проблема
Это аналогичный вопрос к: Как включить репозиторий PowerTools в CentOS 8?
Я пытаюсь настроить безголовый веб-сервер на моем EC2 AWS, работающем на RHEL 8.2. Поскольку это безголовый сервер без графического интерфейса, мне просто нужен браузер Firefox для выполнения веб-конфигураций. С учетом этого, на клиентской стороне я использую Putty для SSH подключения к серверу удаленно и Xming для отображения браузера. Я думаю, что PowerTools необходим, чтобы установить xorg-x11-apps
в RHEL 8.2 в моем случае, чтобы получить установленный дисплей в моей виртуальной машине, чтобы я мог запускать Firefox удаленно через Putty SSH.
К вашему сведению:
(На стороне сервера)
- Установлены firefox и необходимые пакеты
- Установлены xauth и xorg-x11*
- Настроен /etc/ssh/ssh_config (FowardX11 yes, FowardX11Trusted yes)
- Настроен /etc/ssh/sshd_config (X11Forwarding yes)
- export DISPLAY=ip:0.0
(На стороне клиента – PuTTy)
- Установлен и настроен XMing
- SSH с X Forwarding через Putty (с включенным X11Forwarding и X Display Location :0.0)
Я установил epel:
$ yum install dnf-plugins-core
$ dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ yum install epel-release
Но когда я пытался включить PowerTools, я получил следующую ошибку:
$ dnf config-manager --set-enabled PowerTools
Ошибка: Неизвестный репозиторий: 'PowerTools'
Когда я проверял список репозиториев, PowerTools не установлен:
$ yum repolist
идентификатор репозитория имя репозитория
epel Дополнительные пакеты для Enterprise Linux 8 - x86_64
epel-modular Дополнительные пакеты для Enterprise Linux Modular 8 - x86_64
rhel-8-appstream-rhui-rpms Red Hat Enterprise Linux 8 для x86_64 - AppStream от RHUI (RPMs)
rhel-8-baseos-rhui-rpms Red Hat Enterprise Linux 8 для x86_64 - BaseOS от RHUI (RPMs)
rhui-client-config-server-8 Сервер конфигурации клиента Red Hat Update Infrastructure 3 8
Как мне обойти это, чтобы я мог включить PowerTools и выполнить команду dnf config-manager --set-enabled PowerTools
?
Большое спасибо!
CentOS и RHEL на самом деле разные, несмотря на то, что один является “клоном” другого.
Каноническое название запрашиваемого репозитория на самом деле CodeReady Linux Builder.
Однако это зарегистрированный товарный знак, и, как таковой, в CentOS у него другое название – PowerTools.
Поскольку вы используете RHEL, вам следует включить репозиторий CodeReady Linux Builder:
subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
Согласно этой документации AWS, его можно включить с помощью:
sudo dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms
Если вы используете образ контейнера ubi8
FROM registry.access.redhat.com/ubi8/ubi:latest
и у вас нет подписки на RHEL для включения CodeReady Builder, то единственным вариантом будет использование PowerTools CentOS, даже если вы находитесь на RHEL. В этом случае
RUN dnf -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs install \
http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-6.el8.noarch.rpm \
http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-8-6.el8.noarch.rpm \
&& dnf -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs install epel-release \
&& dnf config-manager --set-enabled powertools
Как вы можете видеть, установка этих репозиториев по сути превращает вашу систему в CentOS. Учитывая, что CentOS Stream является upstream для RHEL, может быть более разумно выбрать пакеты из downstream-дистрибутива, такого как Alma, Rocky и т.д.
В качестве альтернативы вы можете установить зависимости, выполнив dnf
, а затем установить необходимый пакет из PowerTools по прямому URL. Если у пакета PowerTools нет других зависимостей PowerTools, это будет работать. Например
RUN curl -Lo ninja.rpm https://cbs.centos.org/kojifiles/packages/ninja-build/1.10.2/2.el8/x86_64/ninja-build-1.10.2-2.el8.x86_64.rpm
RUN microdnf -y --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install \
emacs-filesystem \
python3 \
vim-filesystem
RUN rpm -iv ninja.rpm
На моей системе RHEL8 мне удалось включить репозиторий с помощью этой команды:
sudo dnf config-manager --set-enabled codeready-builder-for-rhel-8-x86_64-rpms
subscription-manager repos –enable codeready-builder-for-rhel-8-x86_64-rpms
yum repolist
Обновление репозиториев управления подписками.
идентификатор репозитория имя репозитория
codeready-builder-for-rhel-8-x86_64-rpms Red Hat CodeReady Linux Builder для RHEL 8 x86_64 (RPMs)
copr:copr.fedorainfracloud.org:group_cloud-init:el-stable Репозиторий Copr для el-stable, принадлежащий @cloud-init
docker-ce-nightly Docker CE Ночной – x86_64
docker-ce-stable Docker CE Стабильный – x86_64
docker-ce-test Docker CE Тест – x86_64
epel Дополнительные пакеты для Enterprise Linux 8 – x86_64
epel-modular Дополнительные пакеты для Enterprise Linux Modular 8 – x86_64
ol7_UEKR5 Последний релиз Unbreakable Enterprise Kernel 5 для Oracle Linux 8 (x86_64)
ol7_latest Oracle Linux 8 Последний (x86_64)
ol7_oracle_instantclient Oracle Instant Client для Oracle Linux 8 (x86_64)
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 для x86_64 – AppStream (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 для x86_64 – BaseOS (RPMs)
yum install perl-IPC-Run
Теперь вы можете установить его
Ответ или решение
Чтобы включить репозиторий PowerTools на RHEL 8, вам нужно помнить, что в RHEL 8 он называется репозиторием CodeReady Linux Builder. Давайте рассмотрим пошаговую инструкцию, как это сделать, особенно в контексте настройки безголового веб-сервера на AWS EC2, где вы пытаетесь установить браузер Firefox через SSH с X11 переадресацией.
Шаг 1: Проверка подписки
Перед тем как активировать репозиторий CodeReady Linux Builder, убедитесь, что ваша система имеет активную подписку на Red Hat. Если вы еще не зарегистрировались или не активировали подписку, сделайте это с помощью команды:
sudo subscription-manager register
sudo subscription-manager attach --auto
Шаг 2: Включение репозитория CodeReady Linux Builder
После того как ваша подписка будет подтверждена, выполните следующую команду, чтобы активировать репозиторий CodeReady Linux Builder:
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
Эта команда откроет доступ к необходимым пакетам, которые вам нужно установить, включая xorg-x11-apps
, который требуется для работы Firefox через X11.
Шаг 3: Обновление списка репозиториев
Чтобы убедиться, что новые репозитории успешно добавлены, обновите список доступных репозиториев:
sudo dnf repolist
Шаг 4: Установка необходимых пакетов
Теперь вы можете установить необходимые пакеты, включая xorg-x11-apps
и любой другой софт, который потребуется для вашей настройки сервера:
sudo dnf install xorg-x11-apps firefox
Шаг 5: Проверка конфигурации X11-соединения
Убедитесь, что у вас правильно настроено X11-переадресация как на серверной, так и на клиентской стороне. Вы уже описали соответствующие изменения в /etc/ssh/ssh_config
и /etc/ssh/sshd_config
, но вы можете еще раз проверить их корректность.
Подсказки по устранению неполадок
Если вы по-прежнему получаете сообщение об ошибке «Unknown repo: ‘PowerTools’», возможно, ваша система не видит репозиторий из-за неправильной конфигурации подписки или проблем с подключением к Red Hat. Попробуйте выполнить команду:
sudo subscription-manager repos --list
Чтобы увидеть, какие репозитории доступны для вашей системы.
Заключение
Следуя указанным шагам, вы сможете включить необходимые репозитории и установить необходимые пакеты для вашего безголового веб-сервера на RHEL 8. Убедитесь, что все команды выполнены от имени пользователя с соответствующими правами и что ваша система обновлена до актуального состояния. Благодаря этому, установка и настройка Firefox для работы через X11 будет завершена успешно, а ваш сервер будет готов к дальнейшей эксплуатации.