Есть ли ссылка на факты, которые включены в установку марионетки по умолчанию?
Например, некоторые примеры, которые я вижу, включают $operatingsystem
который можно использовать для определения распределения. Есть ли где-нибудь ссылка на них?
Как вы, наверное, знаете, все это предоставляется пакетом facter. Бегом facter
на cli вы можете увидеть все известные факты:
architecture => i386
domain => <redacted>
facterversion => 1.3.8
fqdn => <redacted>
hardwareisa => unknown
hardwaremodel => i686
hostname => <redacted>
id => <redacted>
ipaddress => <redacted>
ipaddress_eth0 => <redacted>
kernel => Linux
kernelrelease => <redacted>
lsbdistcodename => hardy
lsbdistdescription => Ubuntu 8.04.4 LTS
lsbdistid => Ubuntu
lsbdistrelease => 8.04
macaddress => <redacted>
macaddress_eth0 => <redacted>
memoryfree => 336.51 MB
memorysize => 453.34 MB
operatingsystem => Debian
operatingsystemrelease => <redacted>
processor0 => Intel(R) Xeon(R) CPU L5335 @ 2.00GHz
processor1 => Intel(R) Xeon(R) CPU L5335 @ 2.00GHz
processor2 => Intel(R) Xeon(R) CPU L5335 @ 2.00GHz
processor3 => Intel(R) Xeon(R) CPU L5335 @ 2.00GHz
processorcount => 4
ps => ps -ef
rubysitedir => /usr/local/lib/site_ruby/1.8
rubyversion => 1.8.6
sshdsakey => <redacted>
sshrsakey => <redacted>
swapfree => 210.98 MB
swapsize => 256.00 MB
uniqueid => <redacted>
О, только что обнаружил, что самый простой способ - просто бежать facter
из командной строки. Это выводит список пар ключевых значений:
root@ny-man01:/etc/puppet/files# facter
architecture => x86_64
domain => ny.stackoverflow.com
facterversion => 1.5.7
fqdn => ny-man01.ny.stackoverflow.com
hardwareisa => unknown
hardwaremodel => x86_64
hostname => ny-man01
...
...
Источник: https://puppet.com/docs/puppet/latest/lang_variables.html
Для дистрибутивов Linux вы также захотите убедиться, что у вас установлен информационный пакет LSB Release. В дистрибутивах Red Hat и Fedora этот пакет просто lsb-release
Без этого пакета в Linux информация, предоставленная facter, будет очень спартанской.
Некоторые факты о Facter доступны только при facter
запускается как root:
$ diff <(facter) <(sudo facter)
28a29
> manufacturer => Supermicro
48a50
> productname => X8SIE
53a56
> serialnumber => 0123456789
58a62
> type => Sealed-case PC
Во многих случаях это факты, полученные в результате проверки BIOS с помощью dmidecode
и тому подобное, которые не могут быть запущены как обычные пользователи.