Quando executo hostnamectl
o comando, recebo esta saída:
$ hostnamectl
Static hostname: myhostname
Icon name: computer-desktop
Chassis: desktop 🖥
Machine ID: 12345e09a3a2464689c345fe7b12345f
Boot ID: 123451b9f31ff4c166f8368c1f86666ad
Operating System: openSUSE Leap 15.6
CPE OS Name: cpe:/o:opensuse:leap:15.6
Kernel: Linux 6.4.0-150600.23.33-default
Architecture: x86-64
Hardware Vendor: ASRock
Hardware Model: B450 Pro4 R2.0
Firmware Version: P5.60
Firmware Date: Thu 2022-10-20
Firmware Age: 2y 5month 2w 3d <<<<<<<<<< this
Eu me pergunto: Firmware Age
de onde vem isso? Não conheço nenhum outro comando que possa retornar esse valor. Como e de onde ele hostnamectl
obtém esse valor?
O
Firmware Age
valorhostnamectl
vem principalmente de registros de data e hora UEFI.Se não estiver disponível, ele retorna ao DMI, bios_date e, como último recurso, usa dados gerados pelo systemd.
Você não verá este campo no systemd anterior à versão 254.
Verifique se os valores correspondem de
cat /sys/class/dmi/id/bios_date
e/sbin/dmidecode -s bios-release-date
comFirmware Age
O arquivo de origem hostnamectl.c contém:
O que significa que o relatado
Firmware Age
é a diferença entre aFirmware Date
data atual e a data em que ohostnamectl
comando foi executado (fonte da função now que chamaclock_gettime
).Aqui estão alguns métodos:
Use
file $(type -p hostnamectl)
para verificar sehostnamectl
é um script. Se for,less $(type -p hostnamectl)
.Se for um executável,
para ver exatamente o que ele faz;
OU
Descubra qual pacote oferece
hostnamectl
,Para Debian e Ubuntu,
Então
apt source
, abra o pacote e leia o código fonte.