この記事を読むと・・・ |
---|
manコマンドを英語ではなく日本語化する方法が理解できる |
前提条件
今回実施した環境は以下の通りです。
- 環境:VirtualBox上の仮想マシン
- OS:Red Hat Enterprise Linux release 9.1
- rootユーザを使用
現在のmanコマンドの表示を確認する
現在の言語設定を確認する
現在のシステムの言語設定が日本語になっていることをlocalectl status
コマンドで確認します。
2行目の表示の通り、ja_JP.utf8(日本語)が設定されていることを確認します。
# localectl status
System Locale: LANG=ja_JP.utf8
VC Keymap: jp
X11 Layout: jp
manコマンドを日本語で表示させる場合の前提として、システムの言語設定が日本語である必要があります。
現在の言語設定が日本語でない場合は、以下の記事を参考に言語設定を日本語に変更してください。
manコマンドでcatコマンドのマニュアルを確認する
試しにman cat
コマンドでcatコマンドのマニュアルを確認してみます。
現在の状態だと英語のコマンドマニュアルが表示されてしまいました。
# man cat
CAT(1) User Commands CAT(1)
NAME
cat - concatenate files and print on the standard output
SYNOPSIS
cat [OPTION]... [FILE]...
DESCRIPTION
Concatenate FILE(s) to standard output.
With no FILE, or when FILE is -, read standard input.
-A, --show-all
equivalent to -vET
-b, --number-nonblank
number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends
display $ at end of each line
Manual page cat(1) line 1 (press h for help or q to quit)
日本語のマニュアルアーカイブを入手する
JM プロジェクトにより、英語から日本語に翻訳されたコマンドマニュアルが提供されています。
日本語のマニュアルアーカイブを入手するため、JM プロジェクトのサイトにアクセスしてください。
『man-pages-ja-yyyymmdd.tar.gz』をクリックし、ダウンロードします。
※yyyymmddは日付です。毎月15日に更新が入るので、実施タイミングによりファイル名の日付部分は変化します。
manコマンドの日本語版をインストールする
先ほどダウンロードした「man-pages-ja-yyyymmdd.tar.gz」を /tmp ディレクトリに配置し、ls -l /tmp/man-pages-ja*
コマンドでファイルが存在していることを確認します。
# ls -l /tmp/man-pages-ja*
-rw-r--r--. 1 root root 5009584 3月 1 21:57 /tmp/man-pages-ja-20230215.tar.gz
cd /tmp
コマンドで /tmp ディレクトリに移動し、tar xzvf man-pages-ja-yyyymmdd.tar.gz
コマンドで日本語のマニュアルアーカイブを展開します。
※yyyymmddは入手したファイルに記載されている日付
# cd /tmp
# tar xzvf man-pages-ja-20230215.tar.gz
man-pages-ja-20230215/
man-pages-ja-20230215/Makefile
man-pages-ja-20230215/script/
~略~
man-pages-ja-20230215/.gitignore
man-pages-ja-20230215/README
man-pages-ja-20230215/INSTALL
ls -l /tmp
コマンドで /tmp ディレクトリに「man-pages-ja-yyyymmdd」というディレクトリが作成されていることを確認します。
※yyyymmddは入手したファイルに記載されている日付
# ls -l /tmp
合計 4896
drwxrwsr-x. 4 20144 6110 97 6月 14 2022 man-pages-ja-20230215
-rw-r--r--. 1 root root 5009584 3月 1 21:57 man-pages-ja-20230215.tar.gz
cd /tmp/man-pages-ja-yyyymmdd
コマンドで日本語のマニュアルアーカイブを展開したときに作成されたディレクトリに移動します。
※yyyymmddは入手したファイルに記載されている日付
# cd /tmp/man-pages-ja-20230215
日本語マニュアルのインストール時にmake
コマンドとperl
コマンドを使用する必要があるのであらかじめインストールする必要があります。
※すでにインストール済みの方はこの作業は飛ばしてください。
yum -y install make
コマンドにて「make」をインストールします。
# yum -y install make
依存関係が解決しました。
======================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
======================================================================================================================================
インストール:
make x86_64 1:4.3-7.el9 InstallMedia 542 k
トランザクションの概要
======================================================================================================================================
インストール 1 パッケージ
合計サイズ: 542 k
インストール後のサイズ: 1.6 M
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : make-1:4.3-7.el9.x86_64 1/1
scriptletの実行中: make-1:4.3-7.el9.x86_64 1/1
検証 : make-1:4.3-7.el9.x86_64 1/1
インストール済みの製品が更新されています。
インストール済み:
make-1:4.3-7.el9.x86_64
完了しました!
yum -y install perl
コマンドにて「perl」をインストールします。
# yum install -y perl
依存関係が解決しました。
======================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
======================================================================================================================================
インストール:
perl x86_64 4:5.32.1-479.el9 InstallMedia1 22 k
依存関係のインストール:
annobin x86_64 10.73-3.el9 InstallMedia1 965 k
binutils x86_64 2.35.2-24.el9 InstallMedia2 4.6 M
~略~
systemtap-sdt-devel-4.7-2.el9.x86_64 unzip-6.0-56.el9.x86_64
zip-3.0-33.el9.x86_64
完了しました!
日本語マニュアルをインストールする前の作業としてmake config
コマンドを実行します。
以下の通り実施してください
・Install directory [/usr/share/man/ja_JP.utf8] ?: ⇒ Enterキーを押す
・select [0..3] : ⇒ 「1」を入力し、Enterキーを押す
・All OK? (Yes, [C]ontinue / No, [R]eselect) : ⇒ 「C」を入力し、Enterキーを押す
・そのほかの表示すべて ⇒ Enterキーを押す
※Enterキーを押すのがいちいち押すのが面倒な方は長押しでも可
# make config
perl -w script/configure.perl
[INSTALLATION INFORMATION]
(just Return if you accept default)
Install directory [/usr/share/man/ja_JP.utf8] ?:
compress manual with..
0: none
1: gzip
2: bzip2
3: compress
select [0..3] : 1
uname of page owner [root] ?:
group of page owner [root] ?:
Directory: /usr/share/man/ja_JP.utf8
Compression: gzip
Page uid/gid: root/root
All OK? (Yes, [C]ontinue / No, [R]eselect) : C
[INSTALL PACKAGE SELECTION]
(just Return if you accept default choice)
(you can change the default by editing script/pkgs.list)
[ 0/138] shadow [Y/n] ?:
[ 1/138] GNU_coreutils [Y/n] ?:
~略~
[137/138] ypserv [Y/n] ?:
[138/138] zebedee [Y/n] ?:
All OK? (Yes, [C]ontinue / No, [R]eselect) : C
[RESOLVE CONFLICTS]
(just Return if you accept item 0)
[0/86] There are 2 pages for blkid.8:
0: in e2fsprogs
1: in util-linux
Which to install? (0..1) :
e2fsprogs/blkid:8 is selected.
[1/86] There are 2 pages for chfn.1:
0: in shadow
1: in util-linux
Which to install? (0..1) :
shadow/chfn:1 is selected.
[2/86] There are 2 pages for chsh.1:
0: in shadow
1: in util-linux
Which to install? (0..1) :
shadow/chsh:1 is selected.
~略~
[84/86] There are 2 pages for write.1:
0: in netkit
1: in util-linux
Which to install? (0..1) :
netkit/write:1 is selected.
[85/86] There are 2 pages for yacc.1:
0: in GNU_bison
1: in byacc
Which to install? (0..1) :
GNU_bison/yacc:1 is selected.
All OK? (Yes, [C]ontinue / No, [R]eselect) : C
creating installation script...done
now you can "make install" as user root.
make
やperl
のパッケージをインストールせずに実行すると以下のようなエラーが発生します。
# make config
-bash: make: コマンドが見つかりません
# make config
perl -w script/configure.perl
make: perl: そのようなファイルやディレクトリはありません
make: *** [Makefile:8: config] エラー 127
make install
コマンドを実行し、日本語マニュアルをインストールします。
# make install
sh installman.sh
install netatalk: AppleVolumes.default.5 ..gzip ..done.
install LDP_man-pages: CMSG_ALIGN.3 ..gzip ..done.
install LDP_man-pages: CMSG_DATA.3 ..gzip ..done.
~略~
install qpdf: zlib-flate.1 ..gzip ..done.
install GNU_gzip: zmore.1 ..gzip ..done.
install GNU_gzip: znew.1 ..gzip ..done.
mandb
コマンドでマニュアルの索引情報を更新します。
# mandb
/usr/share/man 内の古いデータベース要素を取り除いています...
/usr/share/man 配下のマニュアルページを処理しています...
/usr/share/man/ru 内の古いデータベース要素を取り除いています...
/usr/share/man/ru 配下のマニュアルページを処理しています...
/usr/share/man/cs 内の古いデータベース要素を取り除いています...
~略~
/usr/local/share/man 配下のマニュアルページを処理しています...
9 個のマニュアルページ子ディレクトリに新しいマニュアルページが含まれていました。
3145 個のマニュアルページが追加されました。
0 の迷子の cat が追加されました。
0 個の古いデータベース要素が除去されました。
日本語マニュアルのインストール後のmanコマンドの表示を確認
man cat
コマンドでcatコマンドのマニュアルを確認してみます。
日本語のコマンドマニュアルが表示されていればインストール成功です。
# man cat
CAT(1) ユーザーコマンド CAT(1)
名前
cat - ファイルの内容を連結して標準出力に出力する
書式
cat [オプション]... [ファイル]...
説明
ファイル (複数可) の内容を結合して標準出力に出力します。
ファイルの指定がない場合や FILE が - の場合, 標準入力から読み込みを行います。
-A, --show-all -vET と同じ
-b, --number-nonblank
空行以外に行番号を付ける。-n より優先される
-e -vE と同じ
-E, --show-ends
行の最後に $ を付ける
Manual page cat(1) line 1 (press h for help or q to quit)