問題

さくらのVPSでインストールOSにRocky Linux 8を選択し、 日本語ファイル名が置かれたフォルダでlsコマンドを実行すると文字化けした。

以下の2点を確認しても文字化けは修正できなかった。

  • .profile.bashrcなどで環境変数LANGja_JP.UTF-8が設定する
    export LANG=ja_JP.UTF-8
    
  • 以下のようにlsコマンド実行時にセットしても文字化けは治らなかった。
    $ LANG=ja_JP.UTF-8 ls
    

原因

さくらのVPSのRocky Linux 8は英語環境でセットアップされておりja_JP.UTF-8は使えない。

参考: Rocky Linux 8 ー さくらの VPS マニュアル (日本語環境を使用する)

対処法

日本語パッケージがインストールされていないことを確認

対象OS上でja_JP.UTF-8が無いことを確認する。

localectl list-localesコマンドを実行してja_JP.UTF-8を確認する。

$ localectl list-locales

日本語パッケージをインストール

存在しないことを確認したら以下のコマンドで日本語パッケージをインストールする。

$ sudo dnf -y install langpacks-ja glibc-langpack-ja

確認

再度localectl list-localesコマンドを実行し、ja_JP.UTF-8が追加されたことを確認する。

$ localectl list-locales

実際にlsLANG=ja_JP.UTF-8を実行してファイル名が文字化けしないことを確認する。