Установка пакетов с зависимостями с помощью марионетки

Я плохо знаком для puppet, для процесса изучения его я создал Puppet Master и Puppet Slave установите и настроенный a mysql модуль для установки mysql на Puppet client. Ниже файл манифеста.

class mysql {
    package { ["mysql-server-5.5", "libaio1", "libdbd-mysql-perl", "libdbi-perl", "libhtml-template-perl", "libmysqlclient18", "mysql-client-5.5", "mysql-common", "mysql-server-core-5.5"]:
    ensure => present,
    allowcdrom => 'true',
    }
}

package ресурс содержит все зависимости mysql-сервера. Но я добираюсь ниже ошибки.

Building dependency tree...
Reading state information...
The following extra packages will be installed:
  mysql-common
The following NEW packages will be installed:
  libmysqlclient18 mysql-common
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 738 kB of archives.
After this operation, 3513 kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  mysql-common libmysqlclient18
E: There are problems and -y was used without --force-yes
Error: /Stage[main]/Mysql/Package[libmysqlclient18]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install libmysqlclient18' returned 100: Reading package lists...

Я также пытался добавить install_options: "--force-yes" как упомянуто в выводе ошибок, но все еще входе к той же проблеме.

Любая справка на этом будет цениться.

4
задан 15 February 2015 в 16:15
2 ответа

Вы можете попробовать манифест ниже. Проблема в том, что вам нужно добавить параметры -f и - allow-unauthenticated для apt-get , чтобы автоматически разрешить зависимости и установить их. После добавления этих флагов нет необходимости добавлять каждый зависимый пакет в ресурс package .

class mysql {
    package { ["mysql-server-5.5"]:
        ensure          => present,
        allowcdrom      => 'true',
        install_options => ['--allow-unauthenticated', '-f'],
    }
}
3
ответ дан 3 December 2019 в 02:57

Насколько я понимаю, вы используете Ubuntu и, следовательно, менеджер пакетов Apt. Ошибка, с которой вы сталкиваетесь, связана с установкой пакета, в котором он не может найти открытый ключ для пакета.

Это может быть потому, что:

  • У вас есть источник пакета, который не содержит открытых ключей.
  • Вы необходимо выполнить apt-get update , чтобы обновить исходные коды перед установкой.
  • Или вам нужно вручную импортировать ключ.

У вас есть два возможных решения:

  • Импортировать ключ
  • Игнорировать отсутствующий ключ
  • Или используйте следующее в Puppet, чтобы настроить Apt для игнорирования отсутствующих ключей.

    class {':: apt': disable_keys: true}

Для приведенного выше требуется PppetLabs Apt Модуль .

Я бы проверил первые параметры перед отключением клавиш. Вы не приводите достаточно подробностей, чтобы иметь точную причину / решение, но приведенное выше должно привести вас в правильном направлении.

4
ответ дан 3 December 2019 в 02:57

Теги

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