Я использую официальный модуль Puppet apt, чтобы добавить эту панель запуска Java и установить Oracle Java 8.
apt::ppa{ 'ppa:webupd8team/java': }
package {
"oracle-java8-installer":
ensure => 'installed',
}
Когда модуль apt добавляет панель запуска, он уведомляет другой манифест о запуске 'apt-get update'.
apt / manifestests / ppa.pp
exec { "add-apt-repository-${name}":
environment => $_proxy_env,
command => "/usr/bin/add-apt-repository ${options} ${name}",
unless => "/usr/bin/test -s ${::apt::sources_list_d}/${sources_list_d_filename}",
user => 'root',
logoutput => 'on_failure',
notify => Exec['apt::update::apt_update'],
require => $_require,
}
Проблема в том, что я не могу убедиться, что источник обновление запускается до начала установки.
Используя 'require' или 'before' обновление запускается после установки (добавить источник -> установить Java -> apt-get update), subscribe возвращает цикл зависимостей и не устанавливает никаких связей. перед обновлением моих источников.
Какое решение?
Используя код Фрэнка:
apt::ppa{ 'ppa:webupd8team/java': }
package {
"oracle-java8-installer":
ensure => 'installed',
require => Apt::Ppa['ppa:webupd8team/java'],
}
Я получаю следующее сообщение об ошибке:
==> xxx: Notice: / Stage [main] / Main / Node [xxx] / Apt :: Ppa [ppa: webupd8team / java] / Exec [add-apt-repository-ppa: webupd8team / java] / возвращает: t get убедитесь, что исходное обновление запущено до начала установки.
Используя 'require' или 'before' обновление запускается после установки (добавить источник -> установить Java -> apt-get update), subscribe возвращает цикл зависимостей и не устанавливает никаких связей. перед обновлением моих источников.
Какое решение?
Используя код Фрэнка:
apt::ppa{ 'ppa:webupd8team/java': } package { "oracle-java8-installer": ensure => 'installed', require => Apt::Ppa['ppa:webupd8team/java'], }
Я получаю следующее сообщение об ошибке:
==> xxx: Notice: / Stage [main] / Main / Node [xxx] / Apt :: Ppa [ppa: webupd8team / java] / Exec [add-apt-repository-ppa: webupd8team / java] / возвращает: t get убедитесь, что исходное обновление запущено до начала установки.
Используя 'require' или 'before' обновление запускается после установки (добавить источник -> установить Java -> apt-get update), subscribe возвращает цикл зависимостей и не устанавливает никаких связей. перед обновлением моих источников.
Какое решение?
Используя код Фрэнка:
apt::ppa{ 'ppa:webupd8team/java': } package { "oracle-java8-installer": ensure => 'installed', require => Apt::Ppa['ppa:webupd8team/java'], }
Я получаю следующее сообщение об ошибке:
==> xxx: Notice: / Stage [main] / Main / Node [xxx] / Apt :: Ppa [ppa: webupd8team / java] / Exec [add-apt-repository-ppa: webupd8team / java] / возвращает: выполнено успешно
==> xxx: Ошибка: выполнение '/ usr / bin / apt-get -q -y -o DPkg :: Options :: = - force-confold install oracle-java8-installer' вернул 100: Чтение списков пакетов ...
==> xxx: Построение дерева зависимостей ...
==> xxx: Чтение информации о состоянии ...
==> xxx: E: Невозможно найти пакет oracle-java8-installer
==> xxx: Ошибка: / Stage [main] / Main / Node [xxx] / Package [oracle-java8-installer] / убедитесь: изменение с очищенного на настоящее не удалось: выполнение '/ usr / bin / apt-get -q -y -o DPkg :: Options :: = - force-confold install oracle-java8-installer 'вернул 100: Чтение списков пакетов ...
==> xxx: Построение дерева зависимостей ...
==> xxx: чтение информации о состоянии ...
==> xxx: E: невозможно найти пакет oracle-java8-installer
==> xxx: Notice: / Stage [main] / Apt :: Обновление / Exec [apt_update]: пакет зависимостей [oracle-java8-installer] имеет ошибки: true
==> xxx: Предупреждение: / Stage [main] / Apt :: Update / Exec [apt_update]: пропуск из-за сбоя dependencies
==> xxx: Примечание: / Stage [main] / Apt :: Update / Exec [apt_update]: инициировано «обновление» из 1 события
Используя это:
package { "oracle-java8-installer": ensure => 'installed', require => Exec['apt::update::apt_update'], }
Я получаю эту ошибку:
Error: Failed to apply catalog: Could not find dependency Exec[apt::update::apt_update] for Package[oracle-java8-installer]
Ваши выводы сбивают с толку. require
действительно поможет вам.
package {
"oracle-java8-installer":
ensure => 'installed',
require => Apt::Ppa['ppa:webupd8team/java'],
}