Fedora 19で/ dev / loop *デバイスをさらに追加する方法


11

Fedora 19で/ dev / loop *デバイスをさらに追加する方法は?私がやります:

# uname -r
3.11.2-201.fc19.x86_64
# lsmod |grep loop

# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control
# modprobe loop max_loop=128
# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control

何も変わりません。


ループががでコンパイル、Fedoraの19におけるモジュールはありません。
Sirex

1
あなたはおそらく使用しますmknod。しかし、何にも接続せずにループファイルをさらに作成したいのはなぜですか。
strugee 2013年

回答:


9

/devmknod を使用してデバイスノードを作成する必要があります。のデバイスノードにdevは、タイプ(ブロック、文字など)、メジャー番号、マイナー番号があります。タイプとメジャー番号は、次のようにして確認できますls -l /dev/loop0

user@foo:/sys# ls -l /dev/loop0
brw-rw---- 1 root disk 7, 0 Oct  8 08:12 /dev/loop0

つまり、ループデバイスノードのブロックタイプとメジャー番号は7である必要があります。マイナー番号は、デバイスノードごとに1ずつ増加し、0から始まるため、loop0は単に0で、loop7は7です。

loop8を作成するには、rootとしてcommandを実行しますmknod -m 0660 /dev/loop8 b 7 8。これにより/dev/loop8-mスイッチに沿って指定されたアクセス許可を持つデバイスノードが作成されます(おそらくデスクトップシステムを実行しているため、これは必要ありませんが、すべてのユーザーにデバイスノードの読み取りと書き込みを許可しないことをお勧めします)。


1
名前の後にノードタイプを忘れたため、コマンドはである必要がありますmknod -m 0660 /dev/loop8 b 7 8
Vasilis Lourdas、2015

11

ルートとして実行すると、losetup -f使用可能な空きデバイスがない場合は、必要に応じてループデバイスが自動的に作成されます。

したがってmknod、自分でを行うのではなく、新しいループデバイスを作成する最も簡単な方法はを使用することsudo losetup -fです。この方法では、既存のループデバイスが存在する場合は無料で使用でき、必要に応じて新しいループデバイスが自動的に作成されます。


losetup -f現在、非rootユーザーとして実行しているときに表示されるエラーメッセージはあまり役に立ちません。そのため、バグの改善を提案するために、bugzilla.redhat.com / show_bug.cgi?id = 1215370を提出しました。
ncoghlan 2015

4

Heh、incomplete :)このスクリプトを使用して、新しい/ dev / loopsを追加します。数字を変更することを忘れないでください。スクリプトは63番目のループを作成し、デフォルトでは0〜7が作成されるため、8番目から開始します。注意、権利は/ dev / loop0からコピーされます:)

for i in {8..63}; do if [ -e /dev/loop$i ]; then continue; fi; \
mknod /dev/loop$i b 7 $i; chown --reference=/dev/loop0 /dev/loop$i; \
chmod --reference=/dev/loop0 /dev/loop$i; done
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.