mountコマンドを使用する際の問題

mountコマンドを使用する際の問題

コマンドを使用してデバイスをマウントするときは、次の質問があります。

  1. デバイスファイルはマウントのパラメータですが、そのデバイスのデバイスファイルが何であるかをどうやって知ることができますか?
  2. デバイスがインストールされているディレクトリがまだ存在しない場合は、事前に作成する必要がありますか?これは必須であるが、「mycd」という名前のCDが以前は存在しなかった/media/mycdに自動的にマウントされました。
  3. デバイスを取り外さずに複数の場所に設置できますか?

ありがとうございます!

答え1

(オペレーティングシステムを指定していません。GNU / Linuxのいくつかのバリエーションであると仮定します。一般的な概念は他のUNIXにも適用され、詳細は適用されない可能性があります。)

1. 通常、デバイスのデバイスファイルが何であるかをどのように知ることができますか?

デフォルトでは、どのデバイスファイル名がどのデバイスに対応するかを知る必要があります。

この情報のソースは Linuxカーネルドキュメントudev設定ファイル(ビュー/etc/udev)と MAKEDEVスクリプト。

ここで正しい説明はかなり長いです。 Linuxカーネルは、「メイン」と「マイナー」のデバイス番号と呼ばれる数字のペアでデバイスを識別します。 CD-ROMデバイスのメイン番号とマイナー番号を持つすべてのデバイスファイルは、カーネルによって対応するCD-ROMデバイスとして処理されるため、mknodCD-ROMデバイスを作成し(コマンドを参照)、/my/cdrom同様に使用できます。すべてのデバイスに必要な命名規則を使用できます。ただし、あまりにも多くのシステムソフトウェアが名前でデバイスを見つけることに依存しているため、「標準」デバイス名を変更するのはあまりにも多くの作業です。

システムで使用される実際のデバイス名は、部分的には記録の結果(たとえば、ディスクドライブ/dev/sdX/dev/hdX名前 - 誰かが最初にこれらの名前を使用し始め、名前はそのままです)、一部は特定のデバイスを開発した人々間の合意結果です。結果はシステムの下位部分(主にカーネル、libC、udev)です。

2. デバイスマウントディレクトリを事前に作成する必要がありますか?

はい、ディレクトリは作成されません。

CD、USBスティック、その他のデバイスのマウントポイントが自動的に表示されるのは、/media一部のデーモンプロセスがマウントポイントを作成したためです。 (GNOMEデスクトップを実行するGNU / Linuxでは、一般的なプロセスは次のとおりです。CDの挿入、インストールディレクトリの作成、CDのマウント、ファイルマネージャウィンドウの開くなどが可能です。LinuxバージョンとLinuxバージョンによってはほとんどすべてが変更される.

ただし、コマンドラインではマウントポイントを直接作成する必要があります。

3. 装置を取り外さずに複数の場所に取り付けることはできますか?

「CDの内容をファイルシステムのさまざまな場所に表示する方法」を意味する場合は、「バンドルマウント」という機能を使用してこれを行うことができます。

バインドマウントは、ファイルシステムのすべてのディレクトリをファイルシステムの他の別々の部分に「コピー」できます。たとえば、次のコマンドを実行できます。

mount --bind /var/tmp /mnt

これにより、内容が/var/tmpディレクトリにコピーされます/mnt。ファイルを生成する/var/tmp/foo/mnt/foo

追加読書

mountその操作の詳細については、以下で確認できます。

答え2

デバイスファイルは、アクセスしたいデバイスまたは他の場所をマウントに通知する方法です。だから推測できません。

持つマウントできるファイルシステムにはいくつかの種類があります。。ディスクバックアップファイルシステム(通常は最初に浮上するシステム)の場合、デバイスは次のようになります。ブロックデバイス。名前は通常、/dev/somethingこのsomethingセクションで使用するディスクドライバ、そのドライバが複数のディスクを管理している場合、使用する特定のディスク、アクセスするディスクの部分(該当する場合)をエンコードする場所です。さまざまなUNIXバリアントでは、デバイスを指定する方法が異なります。公式リファレンスは、UNIXバリアントのデバイスドライバのマニュアルページ(通常はセクション4)です。AIXFreeBSDLinuxMac OS X(セクション 4)ミニXネットワークBSDオープンBSDソラリス11Unix 6版。Unix バージョン 8.、…

Linux でデバイス名を検索する他の方法とデバイスの指定に代わるものは次のとおりです。そのうちのいくつかは他のUNIXバリアントに似ています。

  • には、/proc/partitionsディスク、ディスクパーティション、論理ボリューム、その他のブロックデバイスのリストがあります。これらすべてがファイルシステムを持っているわけではありません。
  • みんな論理ボリュームに項目があります/dev/mapper
  • このmountコマンドは、デバイス名の代わりにLABEL=fooまたはUUID=1234…代わりに指定されたファイルシステムラベルとUUIDを受け入れます/dev/something
  • デバイスがシステムに接続されると、ウデブデバイス名を指定してください。
  • udevを介したほとんどのLinuxディストリビューションは、ディスクに似たデバイスのさまざまな代替名を/dev/disk。たとえば、私がこの記事を書いているコンピュータでメインファイルシステムをホストしているデバイス(LVM論理ボリューム)は、、、およびを介して異なる方法/dev/dm-7/dev/disk/by-id/dm-name-VolumeGroupName-LogicalVolumeNameアクセス/dev/disk/by-id/dm-uuid-LVM-LongStringOfDigitsAndLettersできます。/dev/disk/by-label/\x2fhome/dev/disk/by-uuid/SomeUUID

ディスクファイルから作成されなかったファイルシステムもあります。たとえば、リモートファイルシステムの場合ネットワークファイルシステムまたはサンバ、デバイス名は、システム名とそのシステムのパスまたは共有名を指定します(例machinename:/shared/directory:)。

多くのデスクトップシステムは、新しいデバイスが接続されると通知し、認識されたファイルシステムを自動的にマウントします。

1しかし、次のよう にすることができます。mount/etc/fstab


このmountコマンドを実行するには、ディレクトリ(マウントポイント)が必要です。サイレントインストールシステムは通常、実際のインストール前に必要に応じてディレクトリを作成します(削除後のディレクトリの削除)。


すべてのuniceが同じファイルシステムを複数の場所にローカルにマウントできるわけではありません。 Linuxでは、次のことでこれを行うことができます。バインドマウント。ほとんどのuniceで利用可能ファイルシステムバインディング ヒューズファイルシステム

関連情報