mknodコマンドパラメータは正確に何ですか?

mknodコマンドパラメータは正確に何ですか?

mknodコマンドパラメータとは何ですか?

chrootの中に刑務所を作りたいです。だから私は次のことをしなければなりません:

mknod /var/chroot/bind/dev/null c 1 3
mknod /var/chroot/bind/dev/random c 1 8

c、、1とは3何ですか8

答え1

mknod通常、/ devブランチにデバイスファイルが生成されますが、必ずしも例と同じではありません。

最初のパラメータは、作成したいデバイスの種類を示します。このc場合は文字デバイスです。他のオプションには、bブロックデバイス、pfifos(パイプ)があります。

2番目のパラメータは、カーネルが使用するドライバを識別する主要なデバイス番号です。

3番目のパラメーターは、内部使用のためにドライバーに渡される補助装置番号です。

Linuxでは、メジャー/マイナー番号は次のように記録されます。デバイス.txt

したがって、1はいわゆる使用されます。ストレージデバイスドライバーが処理します。

3null読み取り時にEOFを返し、書き込み内容を削除するデバイスを示します。

8random乱数を返すデバイスを示します。

詳しくは、デバイスのマニュアルページをご覧ください。

man -s 4 null
man -s 4 random

答え2

MAKEDEV存在しないデバイスファイルを生成するための好ましい方法です。しかし、時にはMAKEDEVスクリプトが生成しようとしているデバイスファイルを知らないことがあります。ここでmknodコマンドが入ります。使用するには、mknod作成するデバイスのプライマリノード番号とセカンダリノード番号を知る必要があります。

mknod /dev/ttyS0 c 4 64

答え3

知っておくだけ:

接続されているデバイスのメジャー/マイナー番号を取得するには、デバイスデータを取得できます。

cat /sys/class/tty/ttyUSB0/uevent

結果:

MAJOR=188
MINOR=0
DEVNAME=ttyUSB0

この情報を使用して次の電話をかけることができます。 mknod /dev/ttyUSB0 c 188 0

関連情報