February 19, 2022

AlmaLinux 8でロケールを日本語に変更する

AlmaLinux 8な環境で、

  • dnf updateするとFailed to set locale, defaulting to C.UTF-8と出る、更新はできるけどなんか気持ち悪い。
  • ロケールを日本語にしたい
    • sudo localectl set-locale ja_JP.UTF-8してもFailed to issue method call: Specified locale is not installed: ja_JP.UTF-8と怒られる。
    • localectl list-locales | grep jaに日本語がない

といった時に。
主にvagrant up almalinux/8した時用。

解決策

glibcのlangpackを入れる。

$ sudo dnf install glibc-langpack-ja -y

インストールされた。

$ localectl list-locales | grep ja
ja_JP.eucjp
ja_JP.utf8

set-localeが怒られなくなる。

$ sudo localectl set-locale ja_JP.UTF-8

確認

$ localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: us
      X11 Layout: us

おまけ

vagrant up almalinux/8した時はタイムゾーンがUTCなので、

$ timedatectl show -p Timezone
Timezone=UTC

必要ならJSTに変えておく。

$ sudo timedatectl set-timezone Asia/Tokyo
$ timedatectl show -p Timezone
Timezone=Asia/Tokyo

Vagrantfileに書いておくと楽

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|

# 中略

  config.vm.provision "shell", inline: <<-SHELL
    dnf install glibc-langpack-ja -y
    localectl set-locale ja_JP.UTF-8
    timedatectl set-timezone Asia/Tokyo
  SHELL
end

© 2020 nissy-lab.com