web-dev-qa-db-ja.com

lsblkはデバイスを一覧表示し、「デバイスではありません」と表示します

私はやや奇妙な振る舞いを見ています:

% lsblk | grep sdb                                 
sdb                      8:16   1 114.6G  0 disk  
└─sdb1                   8:17   1 114.6G  0 part  /run/media/ravi/CC49-1FC8
% lsblk /dev/sdb  
lsblk: /dev/sdb: not a block device

デバイスは新しく注文された SandiskデュアルUSB-C 128GB 私が実行している f3write それが偽物であるかどうかを確認するためにオンにします。

なぜlsblkはこのように矛盾するのでしょうか?

ブロックデバイスとは何かについて、さまざまな対策がありますか?

1
Tom Hale

lsblkは、それ自体でsysfs内のデバイスをスキャンします。多くのLinuxディストリビューションにはホットプラグハンドラー(udev)があり、ブロックデバイスが表示されると/devに対応するノードを自動的に作成し、デバイスが表示されなくなるとそれらを削除します。

システムにそのようなホットプラグハンドラーがないか、ある可能性が高いですが、ホットプラグイベントの処理に失敗するため、対応する/devノードがないことになります。後者の場合、おそらくシステムログファイルにその障害に関する何らかの兆候があります。

1