質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
man

manは、Linuxをコマンドラインで使う際にマニュアルを見やすく表示するコマンドです。Linuxには多様な機能やディレクトリの使用についてのマニュアルがカタログページとして格納されており、カタログページは、標準では環境変数$MANPATHで定められた場所に保存されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

Q&A

解決済

3回答

1351閲覧

ルートユーザー名を変更したい

samepanda

総合スコア14

man

manは、Linuxをコマンドラインで使う際にマニュアルを見やすく表示するコマンドです。Linuxには多様な機能やディレクトリの使用についてのマニュアルがカタログページとして格納されており、カタログページは、標準では環境変数$MANPATHで定められた場所に保存されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

0グッド

1クリップ

投稿2021/05/19 02:09

現在、macOSのターミナル上において、manコマンドの日本語化をしたいと思っています。
そこでmanコマンドの表示を日本語化した話
を参考にアーカイブサイトからアーカイブファイルを取得したのですが、make installの際に以下のエラー文が出てしまいました。
初学者ゆえ簡単な質問かもしれませんが、ご回答お願いいたします。

エラー文

$ sudo make install ↓ sh installman.sh mkdir: /usr/share/man/ja_JP.UTF-8: Read-only file system chown: root.root: illegal user name ...

解決したいこと 

chownコマンドに関して、root.rootというルートユーザーは存在しないと考えられるため、以下のようにルートユーザー名を変更したい。

root.root ↓ root

やったこと

1.エラー前にやったこと

$ curl -O http://linuxjm.osdn.jp/man-pages-ja-20210515.tar.gz //manページのダウンロード $ tar -xfzv man-pages-ja-20210515.tar.gz //解凍 $ cd man-pages-ja-20210515 //アーカイブファイルへ移動 $ ls // Makefileがあるかどうかを確認 $ make config //各種設定  $ sudo make install

2.そこでconfigure.perlを確認したところ

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2021/05/19 02:17

いや、書き込み権限がないっていってるようにみえますが?
samepanda

2021/05/19 02:22

ご回答ありがとうございます。 私の認識では、manページは読み込むだけなので書き込み権限は必要ないと思うのですが、なぜ必要なのでしょうか?
takasima20

2021/05/19 02:28

よくしりませんが、ディレクトリを作ろうとして失敗しているようにみえます。
hoshi-takanori

2021/05/19 02:34 編集

タグは Linux ですが、本文には macOS とありますが、どちらでしょうか。 macOS なら、ファイルシステムのシステム領域は root ユーザーでも書き込めないようになってます。 あと、Linux のコマンドと macOS のコマンドは細かいオプションが違ったりしますけど…。 また、chown root.root というのは、最初の root はユーザー名で、後ろの root がグループ名です。
tacsheaven

2021/05/19 02:40

>manページは読み込むだけ 今回 make install したことで、(makeした何かの)manを書き込もうとしているのですよ? だから書き込み権限が必要です。
samepanda

2021/05/19 02:44

hoshi-takanori様 ファイルシステムにrootユーザーが書き込めないのはrootlessという機能のせいなのですね。 理解不足でした。 ありがとうございます。
hoshi-takanori

2021/05/19 02:46

とりあえず man man して、-M オプションか MANPATH 環境変数で何とかなるのでは。
guest

回答3

0

これはおそらくインストーラーのバグです。

chown: root.root: illegal user name

正しくは、root:root とすべきところです。Linuxの場合は、古い root.root という書き方も受け入れ、私もこう叩いてしまうことが多いのですが、正しくは root:root であり、macOSの場合は、そう書かないとエラーになります。

なので、手っ取り早い方法としては、以下のようにインストーラーを修正してしまうことです。

# chown root.root .... 下記のように修正する chown root:root ....

それがいやなら、

  • 開発元に修正を依頼する
  • chownのコマンド(ラッパー)を作り、root.root を受け入れるようにする
  • macOSではなくLinuxを使う

などが考えられます。

参考: 以下に類似バグの議論があります
Chef provisioner not working in FreeBSD · Issue #18794 · hashicorp/terraform

投稿2021/05/19 02:56

ockeghem

総合スコア11701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

samepanda

2021/05/19 03:08

ご回答ありがとうございます。 root.rootは古い書き方なのですね。 互換性の影響なのか、インストール先のパスを変更したところ古い書き方でもうまくいきました。 再度確認してみます。 ありがとうございました。
ockeghem

2021/05/19 12:06

丁寧なコメントありがとうございます。手元にMacがなかったので、上の回答は少し間違いがありまして、root.rootがだめな理由は正しいと思いますが、root:root でもだめで、root:wheel でした。解決した情報を共有いただきありがとうございます。
guest

0

自己解決

インストール先を以下のように変更したところ、うまくいきました。
どうやら、macOSにはrootlessというroot権限でもファイルシステムに変更を加えることができない機能があるようです。wikipedia

/usr/share/man/ja_JP.UTF-8 ↓ /usr/local/share/man/ja_JP.UTF-8

投稿2021/05/19 02:53

samepanda

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

chown root.root ~は、ユーザーをrootに、グループをrootに(2つめのroot)という意味です。

ただ、ユーザ名にピリオドが使えるようになっているはずなので、chownの仕様も変わって、
chown root:root ~とコロンを使うように変わっているはずです。
互換性のために.も使えるはずですがMacOSだと駄目なのかも知れません。
コロンに修正しましょう。

その前にエラーが出てますが、

mkdir: /usr/share/man/ja_JP.UTF-8: Read-only file system

ファイルシステムがリードオンリーでマウントされいるようなので、マウントし直さないと書けないのでは?

なお、

curl -O http://linuxjm.osdn.jp/man-pages-ja-20210515.tar.gz

って、Linuxコマンドのマニュアルなので、MacOSのコマンドと仕様が異なるケースも多いです。

投稿2021/05/19 02:41

編集2021/05/19 02:43
otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

samepanda

2021/05/19 02:58

ご回答ありがとうございます。 /usr/share/man/ja_JP.UTF-8にはrootlessという機能が働いており、もともと操作ができない?ようになっていたようです。 /usr/local/share/man/ja_JP.UTF-8に変更した結果、うまくいきました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問