proc
マニュアルでは、4番目の列の名前をmountinfo
「root」と指定し、「このマウントのルートを形成するファイルシステムのディレクトリパス名」と説明します。しかし、どのように理解する必要がありますか?
マウントの基本要素はソースパスとターゲットパスだと思います。 「マウントソース」は列10で、ターゲットは列5なので、ルートは何に使用されますか?
ほとんどのマウント情報では、ルートは/
意味がないようです。バインドマウントのルートディレクトリがルートディレクトリと異なることだけがわかった/
ので、バインドマウントにのみ役立ちますか?バインディングの場合、ルートの絶対パスが表示されないのはなぜですか?たとえば、バインドすると/run/test_dir/a
ルート/run/test_dir/b
列に表示されますが、/test_dir/a
その/run
セクションを非表示にするのはなぜですか。
ベストアンサー1
(少なくとも私の英語力では)言語要素で説明するのは難しいです。だから私はサンプルベースの答えを作ることにしました。
ルートディレクトリはしばしば呼び出されます。最も高いまたは最も高い目次。これは部分的に真です。このディレクトリ仮説〜のように最も高い目次。 「このディレクトリから始めましょう。これが最上位のディレクトリであり、その上に何もないとします」と説明できます。
「ルート」の意味を明確にするためのいくつかの例:
- Webサーバーを実行し、ドメインルート
example.com
をに設定したとします/var/www/html/example.com
。これでファイルを作成します/var/www/html/example.com/test.html
。https://example.com/test.html
ブラウザで開くと。生成されたファイルの内容を取得します。 rootに設定されている場合は/var/www/html
開く必要があります。https://example.com/example.com/test.html
chroot
そのディレクトリに入ったら/home/test/testSystem/
。この環境のルートはです。 chroot 環境でタスクを実行する/home/test/testSystem
と、次の結果が表示されます。ls
ls /
/home/test/testSystem/
ルート権限を持つマウントポイント/
たとえば、USBには次のものが含まれます。
/
├── dir1
│ ├── subfile1
│ └── subfile2
├── file1
├── file2
└── file3
このUSBをマウントすると、USBディレクトリをルートとして/mnt
使用するため、期待どおりに正常な出力が得られます。/
531 137 0:52 / /mnt rw,nosuid,nodev shared:75 - /dev/sdb [...]
したがって、ほとんどの場合、マウントポイントは実際にはルートです/
。
ルートが異なるマウントポイント/
自分で試してみてください。ファイルシステムの2つのディレクトリを一緒にバインドします。
$ mount --bind /var/test1 /var/test2
の出力はmountinfo
次のようになります。
564 29 0:26 /var/test1 /var/test2 rw,relatime shared:1 - ext4 /dev/sda rw [...]
マウントポイントのルートディレクトリは以下に/var/test2
あります/var/test1
。マウントソース(マウントしたもの)は次のとおりです。/dev/sda
USBの例に戻ります。コンテンツを/mnt/dir1
別のデバイスにマウントすると、マウントルートが取得され、マウントソースは(USB)/dir1
になります。/dev/sdb
その/mnt
部分はここで削除されます。
「/run部分が隠されている理由」
簡単に言えば、/run
tmpfsパーティションなので削除されました。これらの部品はなぜ削除されましたか?
USBの例では、dir1
これ/dev/sdb
をにインストールします/home/test/usbmnt/
。出力は次のとおりです。
564 29 0:26 /dir1 /home/test/usbmnt/ rw,relatime shared:1 - ext4 /dev/sdb rw [...]
/ dir1の内容(ハードドライブではなくUSBから)をusbmntというディレクトリにマウントしたことがわかります。おそらくこの記事を読むと役に立ちます/dev/sdb/dir1
。
root が与えられると、/mnt/usb/dir1
USB の実際の位置を知る方法がないので、ルートになることもでき/dir1
ます/usb/dir1
。/mnt/usb/dir1