Загрузите RPM и все зависимости от RHEL/CentOS 8

Итак, после 4 часов дополнительного веб-сканирования я наконец-то это сделал! Большое спасибо @jeroen -it -nerdbox за понимание этого:

Задача состояла в том, чтобы получить данные из smartctl (, для которого требуются учетные данные root ), с сервера с отключенным ssh -root и отключенным sudo. Это, конечно, также будет работать с sudo вместо su.

вот полный рабочий код на Python с реализацией Paramiko.

#!/usr/bin/python2

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('rootserver.domain.com', port=22, username='admin', password='adminpass')

stdin, stdout, stderr = ssh.exec_command('/bin/su root -c "smartctl -a /dev/sda > /tmp/smartctl_output"', get_pty=True)
stdin.write('rootpass\n')

stdin.flush()
print (stdout.readlines())
ssh.close()
3
12.02.2020, 00:48
2 ответа

Взгляните на проект modulemd -tools . Вы можете найти предварительно скомпилированные двоичные файлы в EPEL .

Предположим, что у вас есть несколько модульных rpm в./my-custom-repo/Packages:

модульные имена rpm, такие как python36 -3.6.8 -2. модуль _el8 .1.0+245+c39af44f.x86 _64.rpm

Выполнить:

cd my-custom-repo
# create traditional rpm repo
createrepo_c.
# generate modules meta info
repo2module  -s stable -d. modules.yaml
# adjust modules meta info to traditional rpm repo
modifyrepo_c --mdtype=modules modules.yaml repodata/

После всей этой работы вы можете найти файлы с такими именами, как xxxx -modules.yaml.gz в каталоге repodata.

Теперь репозиторий должен работать.

6
28.04.2021, 23:23

yum все еще работает на RHEL 8. Также есть вариант загрузки только для DNF и yum.

--только для скачивания Загрузите разрешенный набор пакетов, не выполняя RPM транзакция (установка/обновление/удаление ).

yum install httpd --только загрузка

загрузите файлы и скопируйте их в нужное место, а затем выполните

dnf localinstall packagename
-2
28.04.2021, 23:23

Теги

Похожие вопросы