どうやら日本語版のmanページというものがあるらしい
コマンドのマニュアルを表示するmanページは英語で表示されますが、日本語版は無いものだろうかと調べてみると、どうやら日本語版のmanページをインストールすることが可能であると分かりました。
日本語版の存在を知ることになったきっかけは、macのシェルをbashからzshにアップデートした時に「man zsh」の中身を必死に訳したことです。途中で「これってもしかして日本語版があるのでは・・・?」と思い立ち、日本語版のmanページについて色々調べた結果、その存在にたどり着くことができました。
「man zsh」に関する記事は以下のリンクを参考にしてください。
日本語版のmanページは、以下の「JM Project」からダウンロードできます。
クリックしてダウンロードするか、ターミナル上で以下のコマンドを実行してダウンロードします。
※man-pages-ja-20210115.tar.gz の名称は、時期のよって変わると思うので、最新のものをダウンロードしてください。
curl -0 http://linuxjm.osdn.jp/man-pages-ja-20210115.tar.gz
ダウンロードが完了したら、ファイルを解凍します。GUI上でクリックして解凍するか、ターミナル上で以下のコマンドを実行して解凍します。
tar xfz man-pages-ja-20210115.tar.gz
日本語版manページをインストールするが・・
解凍したら、「README」ファイルを見て、インストール方法を確認します。インストールについては「INSTALL」ファイルを見てください、と「README」に記載されていたので、「INSTALL」ファイルを確認します。インストールの流れは以下の通りです。
①展開したディレクトリで以下のコマンドを実行し、質問に答えていきます。
make config
②設定が完了したら、以下のコマンドでrootユーザになります。
su
③以下のコマンドを実行して、インストールを行います。
make install
指示通り③のインストールを実施しましたが、色々エラーが出ている様子でした・・。
インストールが完了しているか確認するためにmanコマンドを「man ls」等で実行してみましたが、表示されたのは英語のマニュアルでした。インストールは失敗したようです。
mkdirしようとするとRead-only file systemと表示されてしまう!
エラー内容を確認
エラー出力を確認したところ、以下のように表示されていました。
mkdir: /usr/share/man/ja_JP.UTF-8: Read-only file system
chown: root.wheel: illegal user name
mkdir: /usr/share/man/ja_JP.UTF-8/man1: Read-only file system
chown: root.wheel: illegal user name
mkdir: /usr/share/man/ja_JP.UTF-8/man2: Read-only file system
chown: root.wheel: illegal user name
mkdir: /usr/share/man/ja_JP.UTF-8/man3: Read-only file system
chown: root.wheel: illegal user name
・・・・・(以下略)
どうやら、マニュアルをインストールするためのディレクトリ作成を最初に行っていますが、その段階でエラーが発生しているらしいです。
手動でディレクトリを作ってみる【失敗】
manディレクトリのパーミッションは755なので、本来ならばrootユーザでディレクトリの作成ができるはずです。
mkdir ja_JP.UTF-8
しかし、ここでも「Read-only file system」と表示されてしまいます。
ディレクトリの作成自体が無理みたいです。
SIPを無効化してみる【失敗】
MacのSIP機能を無効化すれば、ディレクトリの作成ができるようになるかもしれない!と考え、実施しましたが、これも失敗しました。実施した流れは以下の通りです。
①Macの再起動ボタンを押した後、Commandキー(⌘)とRキーを同時に押し続けて、MacOS復旧のシステムを起動させます。
②ユーティリティから「ターミナル」を選択し、以下のコマンドを実行します。
csrutil disable
③再起動をして、SIP機能が無効化したことを確認します。
csrutil status
④/usr/share/man 配下にmkdirコマンドでディレクトリを作成してみるが、やはり「Read-only file system」と表示されてしまいました。
⑤再度MacOS復旧システムを起動して、次はターミナルで、以下のコマンドを入力します。再起動後は、再度statusを確認して、SIPが有効化していることを確認します。
csrutil enable
インストール先を変えてみる【成功】
色々調べてみると、MacOSはCatalina以降、システムボリュームに新しいファイルを作成しようとすると、「Read-only file system」と表示されるそうです。※現在使っているmacOSはBigSur
そこで、インストール先を「/usr/share/man/ja_JP.UTF-8」から「/usr/local/share/man/ja_JP.UTF-8」に変更することにしました。
「make install」を実施する「installman.sh」を開いて、「/usr/share/man/ja_JP.UTF-8」を全て「/usr/local/share/man/ja_JP.UTF-8」に置き換えます。
これで、「make install」を実行すると・・・、無事にエラー無く実行することができました!
無事インストールできたがmanページが表示されない!
無事にインストールは完了しましたが、「man ls」を実行すると、今度は英語も日本語も表示されなくなってしまいました。
そこで以下のサイトを参考にして、manコマンドの日本語対応を行いました。
https://qiita.com/fuwamaki/items/fbe7483444261e2425fe
/etc/man.confの修正
/etc/man.confを以下の通り修正します。修正前に、元のファイルの複製を作っておくと安心です。
cd /etc/
cp man.conf man.conf.org
vi man.conf
[i]で編集モード
JNROFF /usr/bin/groff -Tnippon -mandocj -c
JNROFF /usr/local/bin/groff -Dutf8 -Tutf8 -mandoc -mja -E
#PAGER /usr/bin/less -is
PAGER /usr/bin/less -isr
#BROWSER /usr/bin/less -is
BROWSER /usr/bin/less -isr
[esc]を押した後、:wqで保存します。
groffのバージョンアップ
以下のコマンドで、groffの最新バージョンをインストールします。groffとは、ドキュメントフォーマットシステムのプログラムだそうです。
brew install groff
以下のコマンドで、インストールされていることを確認します。
groff -v
無事成功!そして・・・
ここで、「man ls」を実行してみたところ・・・、日本語のマニュアルが表示されました!
ところで、日本語版をインストールするきっかけになった「zsh」のマニュアルですが、こちらは日本語バージョンがまだ存在していないらしく、「man zsh」を実行すると、英語版が表示されました。zshのマニュアルを必死に訳していた時間は、そんなに無駄ではなかったようです。
コメント