Вопрос или проблема
Я хочу установить rpm из репозитория только один раз и не хочу добавлять его в свой каталог yum.repos.d/ с использованием плагина tmprepo. Однако я столкнулся с проблемой, как установить rpm без подписи gpg. Опция ‘—nogpgcheck’ не работает с плагином tmprepo, и мне нужно вручную добавить ‘pkgs_gpgcheck=false’ в /etc/yum/pluginconf.d/tmprepo.conf.
sudo yum --tmprepo=http://edge.artifactory.example.com:8000/artifactory/chef_rpms/rhel/chef_rpms.repo --nogpgcheck install chef
## ^^ это не сработает, так как —nogpgcheck не работает с tmprepo, который по умолчанию использует gpgcheck, если я не изменю вручную /etc/yum/pluginconf.d/tmprepo.conf
Есть ли способ сделать это при вызове yum в командной строке? Я не хочу изменять файл в системе для однократного действия. Спасибо!
- Фаһим
Таким образом, используя tmprepo для однократной установки yum, нельзя отключить проверку gpg, если не редактировать файл. Я думаю, что это должно быть также функцией командной строки. Пока я делаю следующее:
yum-config-manager --add-repo $http://myurl/myrepo.repo;
yum-config-manager --enable myrepo
yum install package
yum-config-manager --disable myrepo
Я храню файл репозитория в /etc/yum.repos.d/myrepo.repo, но отключаю фактические репозитории.
Ответ или решение
Отключение проверки GPG при использовании плагина tmprepo в YUM
Вопрос, который вы подняли, имеет важное значение для IT-экспертов, особенно при управлении пакетами на системах Linux. Вам необходимо установить RPM из репозитория, не добавляя его в директорию yum.repos.d
, с использованием плагина tmprepo
. При этом вы сталкиваетесь с трудностью отключения проверки GPG-подписей, поскольку опция --nogpgcheck
не работает с данным плагином.
Проблема
Как вы правильно заметили, по умолчанию плагин tmprepo
требует, чтобы GPG-подписи пакетов проверялись. Поэтому, даже если вы попытаетесь использовать ключ --nogpgcheck
, он будет проигнорирован. Вывод шутливого сообщения об ошибке может существенно отразиться на процессе установки пакета, что может вызывать неудобства.
Текущие решения
Ваше текущее решение, включающее использование yum-config-manager
, является рабочим, однако оно предполагает, что вам придется на время добавлять репозиторий в систему, а затем отключать его. Это может быть неудобно, если данная процедура планируется как разовая.
yum-config-manager --add-repo http://myurl/myrepo.repo;
yum-config-manager --enable myrepo;
yum install package;
yum-config-manager --disable myrepo;
Альтернативные решения
В текущей версии yum
возможности отключения проверки GPG-сигнатур при использовании tmprepo
с командной строки может не быть, однако вы можете рассмотреть несколько обходных путей:
-
Создание временного репозитория на localhost:
- Вы можете создать временный локальный репозиторий, скопировав необходимые RPM-пакеты, и затем работать с ним без проверки GPG. Вы можете использовать такие команды, как
reposync
, чтобы синхронизировать пакеты из удаленного репозитория.
- Вы можете создать временный локальный репозиторий, скопировав необходимые RPM-пакеты, и затем работать с ним без проверки GPG. Вы можете использовать такие команды, как
-
Использование опции
--setopt
:- В некоторых версиях
yum
можно использовать опцию--setopt
, чтобы установить параметры конфигурации на время выполнения команды. Например:sudo yum --tmprepo=http://edge.artifactory.example.com:8000/artifactory/chef_rpms/rhel/chef_rpms.repo --setopt=pkg_gpgcheck=0 install chef
- Обратите внимание, что корректность этого метода может зависеть от версии вашего
yum
.
- В некоторых версиях
-
Использование DNF (если доступен):
- Если ваша система поддерживает
dnf
, вы можете попробовать использовать эту утилиту вместоyum
, так как она имеет улучшенные функции и может содержать лучшее управление репозиториями.
- Если ваша система поддерживает
Рекомендуемое решение
Если вам нужно обеспечить гибкость и не вносить постоянные изменения в конфигурацию системы, создание временного репозитория на localhost или использование опции --setopt
представляется наиболее подходящим вариантом. Это снизит риски и обеспечит вами возможность одной установки без вмешательства в системные файлы.
В случае, если вы часто сталкиваетесь с необходимостью временной установки пакетов без проверки GPG, стоит рассмотреть возможность обучения команды безопасности этой практики, чтобы минимизировать потенциальные риски.
Заключение
Нельзя недооценивать важность контроля над системами управления пакетами. Предложенные обходные решения помогут вам эффективно справляться с задачами одновременно защищая вашу систему. Поддерживайте актуальность используемых методов и инструментов в вашем арсенале, чтобы оставаться в курсе новых возможностей и процедур.
Если необходима дополнительная помощь или усложнения, всегда можно обратиться к сообществу или официальной документации.