RHELの新元号「令和」対策お済みですか

Red Hatの平です。2019年5月1日から和暦が「平成」から「令和」へ移行します。皆さんのシステムは「令和」対策お済みですか?

Red Hatでは2019年4月9日に、RHEL5 / RHEL6 / RHEL7を対象に新元号「令和」対応の修正パッケージをリリースしました。

access.redhat.com

一概に新元号対応というと、いくつか関連する仕組みがあります。基本的にはLinuxでは西暦でも和暦でもなく、UNIXエポックと呼ばれる時間で動いています。これは1970年1月1日 0:00:00(UTC)から何秒進んだのかという累積時間であり、日本語の和暦で表現して欲しいユーザーが和暦に変換するように指示した時にはじめて和暦として扱われ変換されます。

その変換テーブルを持っている1つがglibcです。おおよそのRHELユーザーはglibcをアップデートする事で日常的に出てくる和暦を新元号「令和」へ変換できます。

気になる方は、まずはglibcのアップストリームのGitレポジトリをご覧ください。

https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/locales/ja_JP;hb=94e358f6d490650c714edb1ffc3a52f56ffe086e#l14967

令和対策済みかのチェックは簡単です。次のコマンドを実行して2019年5月1日が「平成31年」か「令和元年」どうか調べます。

[root@rhel7 ~]# LC_ALL=ja_JP.utf8 date +%EY -d 20190501
平成31年

令和対策済みの場合には、次のような結果になります。

[root@rhel7 ~]# LC_ALL=ja_JP.utf8 date +%EY -d 20190501
令和元年
[root@rhel7 ~]# LC_ALL=ja_JP.utf8 date +%EY -d 20190430
平成31年

RHEL7の場合、glibc-2.17-260.el7以降、RHEL6の場合、glibc-2.12-1.212.el6_10.2以降、RHEL5の場合、glibc-2.5-123.el5_11.5以降で対応しています。また、環境によってはC++の icu パッケージ、openjdk のパッケージも該当します。

Red Hat SatelliteとRed Hat Ansible Automateを使えば、100台だろうと、1000台だろうと今からでも間に合いますよ。Ansibleを使った代表的なPlaybookをご紹介します。

---
- hosts: all
  become: yes
  tasks:
  - name: Update glibc to latest version
    yum:
      name: glibc
      state: latest

※glibcをアップデートした後、システム再起動する方が望ましいです。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。