Как узнать, какую версию кукол вы используете на centos?

17

Я начинаю с марионеток на centos и был озадачен некоторыми вещами. Во-первых, страница руководства существует для, puppet-masterно не для, puppetmasterдаже если демон в /etc/init.dpuppetmaster

Выполнение команды $ puppet-master --versionвозвращает bash: puppet-master: команда не найдена.

Как мне узнать, какую версию я использую как для мастера, так и для клиента?

user784637
источник

Ответы:

25

Более новые версии puppet используют немного другую командную строку. Команда , которую вы ищете будет puppet --version, puppet master --versionиpuppet agent --version

Для версий до 4.0, если puppet был установлен как пакет RPM, вы можете запросить базу данных RPM, например rpm -qa | grep puppet. Для любителей Debian / Ubuntu / Mint, пакет запроса dpkg -l | grep puppet.

Puppetlabs изменили свою упаковку, и упакованная версия кукол не указана номером версии пакета puppet-agent.

Рик Шнайдер
источник
Это дефис для версии до 2.6? Также мастер и агент должны работать с одной и той же основной версией?
user784637
Я не уверен, когда они внесли изменения. С версией 3 Puppet Labs использует семантическое управление версиями. Это означает, что основные изменения номера версии указывают на изменение, которое нарушает обратную совместимость. Вы должны быть в порядке, если у вас есть смесь 3.xy, я бы не попробовал смесь 2.x и 3.x без проверки того, что результаты соответствуют моим ожиданиям.
Рик Шнайдер
Я провел еще немного испытаний и обнаружил, что могу использовать агент марионеток 2.7 с сервером марионеток 3.2.x.
Рик Шнайдер
4
root@puppet01 ~:
# puppet --version
3.2.2
root@puppet01 ~:
# puppet master --version
3.2.2
yoonix
источник
3
# rpm -qa | grep puppet
puppet-server-2.6.18-3.el6.noarch
puppet-2.6.18-3.el6.noarch

первая строка - версия серверной части, вторая - клиентская сторона

# puppet agent --version
2.6.18

# puppet master --version
2.6.18

тоже работает

ALex_hha
источник
0

Для развлечения вы также можете использовать Puppet!

puppet apply -e 'notice("$clientversion")'

Также, в манифесте мастера Puppet вы можете добавить такую ​​строку:

fail("Server version: $serverversion, Client version: $clientversion")'
fail(inline_template("<%=clientversion.split('.')[0]%>"))

(Обратите внимание, что $serverversionпри использовании пусто puppet apply)

Франклин Пиат
источник
0

Установил puppet в Ubuntu 18.04, получил ту же ошибку, команда puppet не добавляется в путь, следовательно, эта ошибка

перейдите по этому пути / opt / puppetlabs / bin и выполните команду puppet master --version

Вы получаете желаемый результат

Сунил Викрам
источник