Jak powiedzieć, jaką wersję kukiełki używasz na centos?

17

Zaczynam od marionetek na centos i byłem zdezorientowany kilkoma rzeczami. Po pierwsze, istnieje strona man dla, puppet-masterale nie dla, puppetmastermimo że demon w /etc/init.d jestpuppetmaster

Uruchomienie polecenia $ puppet-master --versionzwraca bash: puppet-master: nie znaleziono polecenia.

Jak powiedzieć, którą wersję uruchamiam zarówno dla urządzenia głównego, jak i klienta?

użytkownik784637
źródło

Odpowiedzi:

25

Nowsze wersje lalek używają nieco innej linii poleceń. Polecenie, którego szukasz puppet --version, to puppet master --version, ipuppet agent --version

W wersjach wcześniejszych niż 4.0, jeśli marionetka została zainstalowana jako pakiet RPM, możesz zapytać o bazę danych RPM jak rpm -qa | grep puppet. Dla fanów Debian / Ubuntu / Mint zapytanie dotyczące pakietu to dpkg -l | grep puppet.

Puppetlabs zmieniło swoje opakowanie, a zapakowana wersja kukiełki nie jest oznaczona numerem wersji pakietu marionetka-agent.

Rik Schneider
źródło
Czy łącznik dla wersji wcześniejszej niż 2.6? Czy master i agent muszą mieć tę samą wersję główną?
user784637,
Nie jestem pewien, kiedy dokonali zmiany. W wersji 3 Puppet Labs zobowiązało się do korzystania z wersji semantycznej. Oznacza to, że główne zmiany numeru wersji wskazują zmianę, która psuje kompatybilność wsteczną. Powinieneś być OK, jeśli masz mieszankę 3.xy. Nie spróbowałbym mieszanki 2.x i 3.x bez testowania, czy wyniki odpowiadają moim oczekiwaniom.
Rik Schneider,
Zrobiłem trochę więcej testów i odkryłem, że mogę używać agenta marionetek 2.7 z serwerem marionetek 3.2.x.
Rik Schneider
4
root@puppet01 ~:
# puppet --version
3.2.2
root@puppet01 ~:
# puppet master --version
3.2.2
yoonix
źródło
3
# rpm -qa | grep puppet
puppet-server-2.6.18-3.el6.noarch
puppet-2.6.18-3.el6.noarch

pierwsza linia to wersja po stronie serwera, druga po stronie klienta

# puppet agent --version
2.6.18

# puppet master --version
2.6.18

też działa

ALex_hha
źródło
0

Dla zabawy możesz także użyć Puppet!

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

Ponadto w manifeście na temat Mistrza marionetek możesz dodać taką linię:

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

(Uwaga, $serverversiongdy jest pusty puppet apply)

Franklin Piat
źródło
0

Zainstalowałem marionetkę na Ubuntu 18.04, dostałem ten sam błąd, komenda marionetka nie zostaje dodana do ścieżki stąd ten błąd

nawigowałem do tej ścieżki / opt / puppetlabs / bin i uruchom polecenie puppet master --version

otrzymujesz pożądany wynik

Sunil Vikram
źródło