GNU/Linux >> Linux Esercitazione >  >> Linux

Calcola Md5sum di un Cd/dvd?

Ho un file ISO, che ho masterizzato su un CD. Ora come posso verificare se il CD è stato creato correttamente? Vorrei un comando che calcola la somma hash che posso usare per verificare con la somma hash che calcolo sul file ISO. Idealmente il comando dovrebbe:

  • Funziona indipendentemente dal file ISO:cioè, non voglio tenere un elenco di hash sum per ogni file nel disco, o ricordare il numero di blocchi qualunque
  • Sii relativamente breve:un comando di una riga è ottimo, una catena di comandi lunga due righe va bene, uno script che si estende su una pagina non lo è
  • Sii abbastanza efficiente:ad esempio, dd il disco torna a un file, quindi esegui md5sum sul file è inaccettabile

Se non c'è risposta che non soddisfi tutti apprezzerò anche la corrispondenza più vicina. Ancora meglio se puoi dirmi perché non è così semplice.

Risposta accettata:

Il problema di base è che vogliamo prendere l'md5sum delle stesse identiche informazioni che erano originariamente sull'ISO. Quando scrivi l'ISO su un CD, è probabile che sia presente uno spazio vuoto all'estremità del disco, che inevitabilmente cambia l'md5sum. Quindi, la via più breve:

md5sum /dev/cdrom

non funziona . Ciò che funziona (ed è comune nella documentazione online) è solo leggere il numero esatto di byte dal dispositivo e quindi eseguire il md5sum . Se conosci il numero di byte puoi fare qualcosa come:

dd if=/dev/cdrom bs=1 count=xxxxxxxx | md5sum

dove 'xxxxx' è la dimensione dell'iso in byte.

Se non conosci il numero di byte fuori mano, ma hai ancora gli iso sul tuo disco, puoi ottenerli usando ls facendo qualcosa come il seguente (tratto da qui):

dd if=/dev/cdrom | head -c `stat --format=%s file.iso` | md5sum

Ci sono molte altre costruzioni a una linea che dovrebbero funzionare. Nota che in ogni caso stiamo usando dd per leggere i byte dal disco, ma non li stiamo inviando a un file, ma li stiamo consegnando immediatamente a md5sum.

Correlati:come calcolare il tempo di ricarica e scarica della batteria?

Possibili miglioramenti della velocità possono essere apportati eseguendo alcuni calcoli per utilizzare una dimensione del blocco maggiore (il bs= nel dd comando).


Linux
  1. Ubuntu:eseguire un comando quando viene inserito un Cd/dvd/bd?

  2. Come calcolare il checksum CRC in Linux usando il comando Cksum

  3. Come verificare l'integrità di un file con il checksum md5

  4. Confronta le somme md5 nello script bash

  5. disabilitare il pulsante cd/dvd sul laptop Linux (ubuntu)

Come utilizzare il comando md5sum in Linux

Come montare CD/DVD ROM su CentOS / RHEL Linux

Linux:come masterizzare un CD/DVD tramite la riga di comando

Editor VIM

Quale software di masterizzazione di Cd/dvd dovrei usare??

K3b Nero come il software di masterizzazione di CD/DVD in Ubuntu Linux