Вопрос или проблема
Я пытаюсь установить CSSH на RHEL9 в WSL, я попробовал ниже и получил ошибку. Есть идеи?
[root@aaa rhel9]# dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
Обновление репозиториев управления подписками.
Последняя проверка срока действия метаданных: 0:17:23 назад в субботу 14 декабря 2024 года 09:39:03 PM NZDT.
epel-release-latest-9.noarch.rpm 16 kB/s | 19 kB 00:01
Пакет epel-release-9-9.el9.noarch уже установлен.
Зависимости разрешены.
Ничего не требуется.
Завершено!
[root@aaa rhel9]# dnf install -y clusterssh
Обновление репозиториев управления подписками.
Последняя проверка срока действия метаданных: 0:17:39 назад в субботу 14 декабря 2024 года 09:39:03 PM NZDT.
Ошибка:
Проблема: конфликтующие запросы
- ничего не предоставляет perl(Exception::Class) >= 1.31, необходимый пакету clusterssh-4.18-1.el9.noarch из epel
(попробуйте добавить '--skip-broken', чтобы пропустить неустановляемые пакеты, или '--nobest', чтобы использовать не только лучшие кандидатные пакеты)
Я пробовал следующее:
dnf install -y perl-CPAN
cpan -i Exception::Class
Должен ли я использовать эти параметры? Или попробовать избежать?
dnf install -y clusterssh --skip-broken
dnf install -y clusterssh --nobest
Как-то закончилось с идеями…
ССЫЛКИ:
Ответ или решение
Установка CSSH (ClusterSSH) на RHEL 9 может быть затруднительной, особенно если возникают проблемы с зависимостями. В данном ответе мы рассмотрим процесс установки CSSH на RHEL 9 в WSL, поскольку вы столкнулись с ошибками при выполнении команды dnf install clusterssh
.
1. Установите EPEL репозиторий
Первый шаг заключается в том, чтобы убедиться, что репозиторий EPEL установлен. Вы уже выполнили команду:
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
Это указывает на то, что репозиторий EPEL уже установлен, и мы можем перейти к установке пакета CSSH.
2. Периферийные зависимости
Проблема, с которой вы столкнулись, связана с отсутствием пакета perl(Exception::Class)
, который необходим для установки CSSH. Одна из причин, почему пакет не удается найти, может заключаться в том, что специфические зависимости не были удовлетворены. Чтобы разрешить эту проблему, вы можете установить необходимые модули Perl вручную.
Установка необходимых модулей Perl
Попробуйте выполнить следующие команды для установки модуля Exception::Class
через CPAN:
dnf install -y perl-CPAN
cpan -i Exception::Class
3. Использование опций --skip-broken
и --nobest
Если установка зависимостей не помогает, вы можете попробовать команды с флагами:
dnf install -y clusterssh --skip-broken
: этот флаг пропустит неудовлетворенные зависимости и продолжит установку доступных пакетов.dnf install -y clusterssh --nobest
: этот флаг позволяет установить не только лучшие кандидации пакета, но и потенциально более старые или несовместимые версии.
Эти команды могут привести к частичной установке, и функция CSSH может работать некорректно. Поэтому лучше всего предварительно установить все зависимости.
4. Проверка установленных зависимостей
Проверьте, установлены ли зависимости, необходимые для CSSH:
dnf provides perl(Exception::Class)
Если никакие пакеты не соответствуют этому требованию, вам может понадобиться установить их из другого источника или через CPAN.
5. Альтернативная установка
Если все вышеперечисленное не сработает, в качестве альтернативы вы можете рассмотреть установку CSSH из исходных кодов. Вот общие шаги для этого:
-
Убедитесь, что у вас установлены необходимые ненужные библиотеки:
dnf install -y perl-Module-Build
-
Скачайте исходный код CSSH с официального сайта или из репозитория GitHub.
-
Распакуйте архив и перейдите в директорию с исходным кодом:
tar -xzvf clusterssh-<версия>.tar.gz cd clusterssh-<версия>
-
Соберите и установите:
perl Makefile.PL make make install
6. Заключение
Установка ClusterSSH на RHEL 9 может вызвать некоторые сложности, особенно в WSL. Однако с правильным подходом и использованием приведенных советов, вы сможете успешно завершить установку. Убедитесь, что все зависимости удовлетворены, а также будьте осторожны с флагами --skip-broken
и --nobest
, так как они могут повлиять на стабильность работы приложения. Если все пойдет по плану, ваш CSSH должен работать корректно, и вы сможете эффективно управлять множеством SSH-сессий одновременно.