K určení stáří instalací distribuce Linuxu používám tune2fs, ale bez znalosti časového pásma je datum v něm méně užitečné. Přesný příkaz, který používám, je odtud, zde je pouze pro přehlednost:
sudo tune2fs -l /dev/sda3 | grep created | sed 's/.*created\:\s*//g'
ale výstup je ve tvaru:
Fri Jun 23 23:59:22 2017
Všimněte si, že zde není uvedeno žádné časové pásmo. Ale date
vrátí výstup formuláře:
Sun Jul 23 17:58:18 AEST 2017
Všimněte si, jak je zmíněno časové pásmo AEST. Přečetl jsem si manuálovou stránku tune2fs
. Hledal jsem v něm „datum“, „vytvořeno“, „čas“ pomocí vyhledávacího nástroje svého webového prohlížeče a nenašel jsem jedinou zmínku o časovém pásmu formátu data nebo zda existuje způsob, jak ručně nastavit to. Spustil jsem vyhledávání DuckDuckGo pro „tune2fs date“ a „tune2fs timezone“ a podíval jsem se na pět nejlepších výsledků a nenašel jsem v nich nic relevantního.
Přijatá odpověď:
Zdá se, že datum je zobrazeno v časovém pásmu místního systému v době, kdy bylo vytvořeno.
např. můj /boot oddíl je ext4 na raid-1 (/dev/md0), vytvořený, když jsem vyměnil své bootovací disky za 4 SSD a minulý rok převedl na root na ZFS. Ponechal jsem oddíl /boot ext4 pro případ nouze.
# tune2fs -l /dev/md0 | sed -n -e 's/.*created\:\s*//gp'
Sat Oct 8 16:38:45 2016
# TZ=UTC tune2fs -l /dev/md0 | sed -n -e 's/.*created\:\s*//gp'
Sat Oct 8 05:38:45 2016
Jsem také na východním pobřeží Austrálie (Melbourne) a rozdíl mezi 16:38 a 05:38 je 11 hodin, což je správné pro AEDT (letní čas začíná v říjnu pro státy, které jej dodržují)
BTW, téměř nikdy není nutné zavádět výstup grep do sed nebo awk. oba již umí provádět shody vzorů regulárních výrazů. awk příklad může vypadat takto:
# tune2fs -l /dev/md0 | awk -F': +' '/created/ {print $2}'
Sat Oct 8 16:38:45 2016