ブロックデバイスが以前に接続されたブロックデバイスと同じかどうかはどうすればわかりますか?

ブロックデバイスが以前に接続されたブロックデバイスと同じかどうかはどうすればわかりますか?

ブロックデバイスがあります。システムから削除され、後で再び追加されました。まったく同じデバイスかどうかを確認するには?

デバイスは常に大容量ストレージデバイスです(書き込むつもりはなく、読み取り専用でのみマウントされます)。

md5sum両方のデバイスを同時に使用してハッシュが一致するかどうかを確認できますが、大容量記憶装置では時間がかかります。

より速い方法がありますか?

答え1

の出力には、fdisk -l $device「Disk Identifier:」で始まる行が含まれます。これには通常、デバイスに固有で永続的なデバイスの一部の詳細が含まれます。イラスト:

# fdisk -l /dev/sda | grep 'Disk identifier:'

答え2

デバイスUUIDを使用できます。 lsblk -fまたはblkid

UUIDは設定(使用tune2fs)できますが、ほとんどのユースケースでは十分に一意である必要があります。

答え3

ハードコーディングされた固有(?)ID

ほとんどの大容量記憶装置(すべてではない場合があります)には、ハードコードされた一意のIDがあります/dev/disk/by-id。次のコマンドラインはこのIDを表示します。

sudo ls -l /dev/disk/by-id|grep -v '[1-9]$'|tr -s ' ' '\t'|cut -f 9- | sed 's#../../#/dev/#'

そしてそれが表すブロックデバイス ' -> /dev/sdx' を表示します。

はい(業務用コンピュータに3つのUSBフラッシュドライブが接続されています)、

$ sudo ls -l /dev/disk/by-id|grep -v '[1-9]$'|tr -s ' ' '\t'|cut -f 9- | sed 's#../../#/dev/#'

ata-HL-DT-STDVD+-RW_GSA-H21L    ->  /dev/sr0
ata-KINGSTON_SKC300S37A120G_50026B724703BCA8    ->  /dev/sda
ata-WDC_WD4002FYYZ-01B7CB1_K3GWHAEB ->  /dev/sdb
usb-Corsair_Voyager_GT_3.0_070883862E1B9719-0:0 ->  /dev/sdc
usb-SanDisk_Cruzer_Blade_200429068118E7C2CFFD-0:0   ->  /dev/sde
usb-SanDisk_Cruzer_Blade_200429068118F440A09E-0:0   ->  /dev/sdd
wwn-0x5000cca25ccc7f97  ->  /dev/sdb
wwn-0x50026b724703bca8  ->  /dev/sda

ファイルシステムUUID

ファイルシステムを含むパーティションがある場合、各ファイルシステムにはUUIDもあります。 UUIDは通常一意ですが、常に一意ではありません。これは、個別に作成されたのか、一部の共通ソースファイルシステムまたはイメージファイルから複製されたのかによって異なります。 UUIDは、blkid次のlsblkコマンドラインで表示できます。

lsblk -l -o name,size,UUID,model

はい(業務用コンピュータに3つのUSBフラッシュドライブが接続されています)、

$ lsblk -l -o name,size,UUID,model
NAME   SIZE UUID                                 MODEL
sda  111,8G                                      KINGSTON SKC300S
sda1 106,9G 0ac1cb43-1609-4fc3-8c69-3e21299729bc 
sda2     5G 6d54c49d-31ac-45fe-917c-2335bcfe7399 
sdb    3,7T                                      WDC WD4002FYYZ-0
sdb1   510M 9F05-5B18                            
sdb2     5G 08b7164f-8852-451b-9624-63b16a66359a 
sdb3    10G fa242ddd-90f8-4603-af5c-c89f4b71ac70 
sdb4    15G 491a6a2b-4867-44d5-94d8-082f79066a5a 
sdb5     1M                                      
sdb6   100G 44156f43-0958-4ea1-800d-b02afbc7d306 
sdb7   3,5T 862210fd-a6fd-4fe3-913c-e18e1448ef36 
sdb8     5G 6958d86a-57a9-4e40-8376-1e41258e5810 
sdc   29,5G                                      Voyager GT 3.0  
sdc1   9,1G 38028BF9184E3FB4                     
sdc2     1M                                      
sdc3   244M 4299-B748                            
sdc4   1,8G 2018-04-26-18-43-51-00               
sdc5  18,4G 033ffb75-518d-4335-89cb-ef7d159cf20b 
sdd    3,7G 2016-08-24-07-06-03-00               Cruzer Blade    
sdd1   1,3G 2016-08-24-07-06-03-00               
sde    3,7G 2016-07-19-21-27-51-00               Cruzer Blade    
sde1   1,4G 2016-07-19-21-27-51-00               
sde2   2,3M 0F7B-9366                            
sr0   1024M                                      DVD+-RW GSA-H21L

これらの方法は、迅速な手動確認後に接続された大容量記憶装置を識別するのに役立ちました。

ハードコーディングされたIDおよび/またはUUIDを自動的に使用できます。たとえば、保持している各大容量記憶装置に対応するmd5sumを作成し、一致するかどうかを確認できるシェルスクリプトの変数にmd5sumを保存できます。

関連情報