私はLinuxディストリビューションのインストール期間を確認するためにune2fsを使用してきましたが、タイムゾーンがわからない場合、ここに含まれる日付はあまり役に立ちません。私が使った正確なコマンドはここ、明確にするために:
sudo tune2fs -l /dev/sda3 | grep created | sed 's/.*created\:\s*//g'
ただし、出力は次の形式です。
Fri Jun 23 23:59:22 2017
タイムゾーンは言及されていません。ただし、date
次の形式の出力を返します。
Sun Jul 23 17:58:18 AEST 2017
AESTタイムゾーンがどのように言及されているかをご覧ください。マンページを読みました。tune2fs
。 Webブラウザの検索ユーティリティを使用して「日付」、「作成」、「時間」を検索しましたが、日付形式のタイムゾーンに言及しているか、手動で設定する方法があるかどうかがわかりませんでした。 DuckDuckGoを実行して「tune2fs date」と「tune2fs timezone」を検索しました。
ベストアンサー1
時間はUnix epoch時間として保存されますs_mkfs_time
(スーパーブロック) カレンダーの日付ではなく、時間帯に依存しません。
表示するときは、tune2fs
カレンダー/人の日付に変換して、あなたのタイムゾーンに合った表現を提供してください。
UTC時間を取得するには、次のコマンドを実行します。
TZ=UTC0 LC_ALL=C tune2fs -l /dev/sda3 |
sed -n 's/^Filesystem created: *//p'
これは、tune2fs
タイムゾーンがUTC(UTCから0オフセット)であることを示します。
Filesystem created
英語で返され、日付がユーザーのロケールに関係なく(将来国際化される場合)、アメリカ英語スタイルで表示されるようにLC_ALL = Cを追加しました。e2fsprogs
スーパーブロックのオフセット0x108にあり、スーパーS_mkfs_time
ブロックはブロックデバイス内のオフセット0x400から始まり、エポック時間を手動で取得することもできます。
od -vAn -j 0x508 -N4 < /dev/sda3
好きな形式に変換してください。
$ date --iso-8601=s -d "@$(od -An -j0x508 -N4 -tu4 < /some/device)"
2017-07-23T12:20:22+01:00
$ date -u --iso-8601=s -d "@$(od -An -j0x508 -N4 -tu4 < /some/device)"
2017-07-23T11:20:22+00:00