Fedoraにはなぜ2つの「ptmx」ファイルがありますか?

Fedoraにはなぜ2つの「ptmx」ファイルがありますか?

/dev/ptmxこのファイルは、疑似端末のメインファイルを生成するために使用されることがわかります。しかし、Fedoraに別のptmxファイル()があることがわかりました/dev/pts/ptmx

ここに画像の説明を入力してください。

2番目のファイルの目的は何ですか?

ベストアンサー1

コンピューティングの世界の多くのように、その理由は歴史と以前のバージョンとの互換性によるものです。

Linuxに存在する前の2.4.*カーネルには、ルートファイルシステムの実際のディレクトリにデバイスを配置する「従来のUnixudev方式」と、最初の仮想ファイルシステムという/dev2つの競合ソリューションがありました。devfs。ファイルシステムソリューション/dev

問題は、著者がdevfsさまざまなデバイスのための全く新しい命名スキームを構築し、人々がそれについて非常に強く感じているということです。一部の人々は新しいスキームに移動し、古いものを廃棄したいと思っていますが、他の人は移動する必要性を感じません。一部のディストリビューションでは既存の静的デバイスを使用し、他のディストリビューションではdevfs.

この時点で、インストール中に固定数の疑似TTYデバイスが作成されます。 (しかし、CONFIG_LEGACY_PTYSカーネルをコンパイルするときにそのオプションを設定すると、それでも可能です。)

その後、Unix98スタイルのPTYデバイスの動的割り当てが導入されました。これを静的/devディレクトリに実装するには、ファイルシステム/dev/ptsと呼ばれる仮想ファイルシステムが必要ですdevpts。また、別のファイルシステムとして使用すると、コードを複製することなく動的に適用できますdevfs

動的に割り当てられたPTYデバイスは、最も人気のある選択肢になりました。/dev何百もの静的に割り当てられたPTYデバイスが互いに乱雑に配置されているのは明らかにとんでもないことでした。

その後、Linux 2.6がudev登場しました。静的/devおよびdevfsソリューションをすばやく削除します。以前のバージョンとの互換性により、ファイルシステムはまだ存在しますが、今は完全にRAMベースであるため、devpts同じ機能をデフォルトのファイルシステムに戻すことができます。/dev

たとえば、今日のDebian 9は従来の互換性devptsのためにファイルシステムをマウントします/dev/ptsが、/dev/pts/ptmxデフォルトでは権限を0に割り当てます。これはdevpts、ファイルシステムが廃止される可能性があり、将来の時点で削除されることを示します。

# ls -l /dev/ptmx /dev/pts/ptmx
crw-rw-rw- 1 root tty  5, 2 Nov 22 11:47 /dev/ptmx
c--------- 1 root root 5, 2 Nov 12 14:59 /dev/pts/ptmx

一部のプログラムが依然としてそれを必要とする場合は、デフォルトの/dev/pts/ptmx権限を調整して許可することができますが、これにより、人々はまだ使用されていない古いデバイス名をまだ使用しているプログラムを知ることができます。

おすすめ記事