答え1
はい、ブロックデバイスのデバイス番号は変更される可能性があります。これはシステム起動時に動的に割り当てられます。デバイスを追加および削除すると(時にはBIOSファームウェアの変更も可能です)、アイテムが異なる順序で検索され、デバイスIDが異なる場合があります。
ファイルシステムを一意に識別するには、ファイルシステムUUID(コマンドを使用して取得できますblkid
)を使用します。
inodeを識別子として使用することは、実行したい操作によっては問題になる可能性があります。たとえば、ハードリンクのために、単一のファイルが同じ inode を持つ複数の場所に存在する可能性があり、inode が最初に接続されたときに新しいファイルに対して回収される可能性があります。ファイルが削除された場合。
答え2
はい。変更することはできますが、持続しません。簡単な例を挙げましょう。 2つのネットワークドライブをマウントし、別の順序でマウントします。
st_dev
デバイスクラスとそのクラスのデバイス番号の2つの部分で構成されています。デバイスクラスは、デバイスがインストールされたときに学習されます(デフォルトではデバイスのインストール方法)。ただし、クラスの番号はインストール順序に従って定義されます。
もちろん、fstabでマウントされたデバイスについて話している場合は、fstabを変更するまでこのコマンドを信頼できます。
makedev(3)
それを分解する方法を学びますst_dev
。