linux user group brescia

immagine del castello

Archivio della mailing list

Cambio hard disk

Maurizio Paolini paolini a dmf.unicatt.it
Mar 2 Set 2003 16:52:44 UTC
> From: andrea gelmini <andrea.gelmini a lugbs.linux.it>
>
> On gio, ago 14, 2003 at 05:11:28 +0200, Luca Coianiz wrote:
> >  Domanda:
> > 
> >  cat /dev/hda2 > /dev/hdb2
> > 
> >  รจ equivalente a
> > 
> >  dd if=/dev/hda2 of=/dev/hdb2 bs=4k count=0   ?
>
> non sono equivalenti in quanto cat potrebbe trovarsi nella condizione di
> interpretare delle sequenze di caratteri (quindi alterandole sulla
> destinazione)... banalmente uno puo` pensare allo EOF.

No, non sono d'accordo.  Credo che ^D sia associato all'EOF solo in certe
situazioni (ad es quando lo stream e' legato alla tty), ma NON quando stai
leggendo da un file.

Ho infatti provato a scrivere un file con un "^D" in mezzo (spero 
corrisponda al 4, altrimenti ritiro tutto!), ed un cat me lo presenta
senza difficolta'.

Ho usato il "cat" *innumerevoli* volte, anche su interi dischi
(tipo cat /dev/hda | grep ...), e non ho mai avuto problemi di
terminazioni premature.  Secondo me cat termina solo in caso di
errore di i/o e quando il file finisce (in base alla sua dimensione
come riferita da ls -l).

Chiaro che con 'dd' puoi ottenere effetti (tipo leggere dal mezzo di
un file o scrivere nel mezzo di un file) che con 'cat' non puoi
ottenere, ma altrimenti penso che 'cat' sia molto affidabile.

mp


> dd e` l'unica soluzione applicabile. eventualmente con i dovuti parametri,
> come per ignorare eventuali errori se si volesse migrare un hd con dei
> badblocks (no, non c'e` bisogno di utilizzare il delirante dd_rescue).
> notasi comunque che count=0 e` errato, nel senso che in questo modo viene
> detto di copiare nessun blocco da 4k.
> inoltre non e` necessario specificare la dimensione dei blocchi (che, per
> inciso, non c'entrano nulla con la dimensione dei blocchi del filesystem).
> insomma, quando sopra puo` essere semplicemente scritto cosi`:
> dd if=/dev/hda2 of=/dev/hdb2
>
> ad ogni modo, piccola raffinatezza, specificato un bs => a 4kb su macchine
> a 32 bit, o a 8kb su architetture a 64 bit, si puo` tenere un certo
> vantaggio in performance (vantaggio che non cambia all'aumentare della
> dimensione indicata).
>
> ciao,
> andrea
>



Maggiori informazioni sulla lista Lug