script dd

37. Re: script dd

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 31/08/2012 - 10:31h

Sobre o checksum, ou vc pode usar o diff ou utilizar as variáveis para colher o MD5 e comparar com o if (a segunda opção é melhor).


  


38. Re: script dd

Julian Soares
juliansoares

(usa Debian)

Enviado em 31/08/2012 - 10:42h

renato_pacheco escreveu:

Sobre o checksum, ou vc pode usar o diff ou utilizar as variáveis para colher o MD5 e comparar com o if (a segunda opção é melhor).
entendi
tipo assim?

root# md5sum arquivo.iso >arquivo.iso.md5 (gerei md5 da iso)

ai dentro do script :

#! /bin/bash

echo `sudo date`
MD5="/root/arquivo.iso.md5"
DIRETORIO="/tmp/pendrive"
ARQUIVO="/root/cflex.iso"

for part in /dev/sd[bcdef]; do
DEVICE=`sudo fdisk -l $part | grep "$part"1 | awk '{print $1}' `


if [ -n "$DEVICE" ] ; then
SYSTEM=`sudo fdisk -l "$part" | grep "$part"1 | awk '{print $7}' `
echo "detectado dispositivo $DEVICE , SYSTEM: $SYSTEM"


if [ ! -d "$DIRETORIO" ] ; then
mkdir -p $DIRETORIO
echo "$DIRETORIO Criado!" ; else

echo "$DIRETORIO já esta criado!"

if [ -b "$DEVICE" ]; then
umount $DEVICE

dd if=$ARQUIVO of=$DEVICE
echo "DD Finalizado com sucesso"
else
echo "DD Não completado"
fi

if [ -b "$DEVICE" ]; then
echo "`md5sum -c $DEVICE $MD5`"
echo "Checksum realizado com sucesso!"
else
echo "Checksum não realizado!"
fi
umount $DEVICE
echo "Retirar Pendrive"

echo `sudo date`

fi
fi
done







39. Re: script dd

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 31/08/2012 - 10:55h

Ah, o md5sum já tem o parâmetro d comparação, né? Então tá certo.


40. Re: script dd

Julian Soares
juliansoares

(usa Debian)

Enviado em 31/08/2012 - 10:58h

renato_pacheco escreveu:

Ah, o md5sum já tem o parâmetro d comparação, né? Então tá certo.
Renato mais uma pekena ajuda, formatar o pendrive e trocar o nome, fazer isso antes do DD, procurei e não achei comando que faça isso mkfs.ntfs device , mas e o nome, pq os pendrive chegaram com nome 45AE-8710, queria formata e coloca eles com nome da empresa.




41. Re: script dd

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 31/08/2012 - 11:21h

Utilize o dosfslabel (se for FAT32) ou o ntfslabel (se for NTFS).


42. Re: script dd

Julian Soares
juliansoares

(usa Debian)

Enviado em 31/08/2012 - 11:24h

renato_pacheco escreveu:

Utilize o dosfslabel (se for FAT32) ou o ntfslabel (se for NTFS).


zeus ~ # ntfslabel --help

Usage: ntfslabel [options] device [label]
-n, --no-action Do not write to disk
-f, --force Use less caution
--new-serial Set a new serial number
--new-half-serial Set a partial new serial number
-q, --quiet Less output
-v, --verbose More output
-V, --version Display version information
-h, --help Display this help


ntfslabel device ? e p/ mudar nome do pendrive ?


43. Re: script dd

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 31/08/2012 - 11:25h

OU, kra, teste em vez d ficar perguntando. Vc perde mais tempo perguntando q testando...


44. Re: script dd

Julian Soares
juliansoares

(usa Debian)

Enviado em 31/08/2012 - 13:41h

renato_pacheco escreveu:

OU, kra, teste em vez d ficar perguntando. Vc perde mais tempo perguntando q testando...


renato,

testei assim e não deu certo o md5sum =/ como posso comparar os arquivos ?



#! /bin/bash

echo `sudo date`
MD5="/root/cflex.iso.md5"
DIRETORIO="/tmp/pendrive"
ARQUIVO="/root/cflex.iso"

for part in /dev/sd[bcdef]; do
DEVICE=`sudo fdisk -l $part | grep "$part"1 | awk '{print $1}' `


if [ -n "$DEVICE" ] ; then
SYSTEM=`sudo fdisk -l "$part" | grep "$part"1 | awk '{print $7}' `
echo "detectado dispositivo $DEVICE , SYSTEM: $SYSTEM"


if [ ! -d "$DIRETORIO" ] ; then
mkdir -p $DIRETORIO
echo "$DIRETORIO Criado!" ; else

echo "$DIRETORIO já esta criado!"

if [ -b "$DEVICE" ]; then
umount $DEVICE

dd if=$ARQUIVO of=$DEVICE
echo "DD Finalizado com sucesso"
else
echo "DD Não completado"
fi

if [ -b "$DEVICE" ]; then
# mount $DEVICE $DIRETORIO
echo `md5sum -c $MD5 $DEVICE`
# echo "Checksum realizado com sucesso!"
# else
# echo "Checksum não realizado!"
fi
umount $DEVICE
echo "Retirar Pendrive"

echo `sudo date`

fi
fi
done


45. Re: script dd

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 31/08/2012 - 13:59h

Fiz alguns testes aki e reparei alguns fatos:

- Sempre q realizar um MD5 d um dispositivo, substitua o conteúdo do arquivo. Ex.:

MD5_FILE=/tmp/md5.txt
md5sum $DEVICE > $MD5_FILE


- Para conferir, o comando está incorreto. O certo é:

md5sum -c $MD5_FILE


Obs.: o processo d cada um demora uns minutos...


46. Re: script dd

Julian Soares
juliansoares

(usa Debian)

Enviado em 31/08/2012 - 15:49h

renato_pacheco escreveu:

Fiz alguns testes aki e reparei alguns fatos:

- Sempre q realizar um MD5 d um dispositivo, substitua o conteúdo do arquivo. Ex.:

MD5_FILE=/tmp/md5.txt
md5sum $DEVICE > $MD5_FILE


- Para conferir, o comando está incorreto. O certo é:

md5sum -c $MD5_FILE


Obs.: o processo d cada um demora uns minutos...


o script esta executando legal, o checksum retornarndo : SUCESSO, esta correto ?
só preciso encaixar o format no pendrive e trocar o nome, antes de fazer o DD.

zeus ~ # md5sum cflex.iso > cflex.iso.md5
zeus ~ # cat cflex.iso.md5
7806bc3cb846ef6b5c540e2a81581159 cflex.iso
zeus ~ # md5sum -c cflex.iso.md5
cflex.iso: SUCESSO

script :
#! /bin/bash

echo `sudo date`
MD5="/root/cflex.iso.md5"
DIRETORIO="/tmp/pendrive"
ARQUIVO="/root/cflex.iso"

for part in /dev/sd[bcdef]; do
DEVICE=`sudo fdisk -l $part | grep "$part"1 | awk '{print $1}' `


if [ -n "$DEVICE" ] ; then
SYSTEM=`sudo fdisk -l "$part" | grep "$part"1 | awk '{print $7}' `
echo "detectado dispositivo $DEVICE , SYSTEM: $SYSTEM"


if [ ! -d "$DIRETORIO" ] ; then
mkdir -p $DIRETORIO
echo "$DIRETORIO Criado!" ; else

echo "$DIRETORIO já esta criado!"

if [ -b "$DEVICE" ]; then
umount $DEVICE

dd if=$ARQUIVO of=$DEVICE
echo "DD Finalizado com sucesso"
else
echo "DD Não completado"
fi

if [ -b "$DEVICE" ]; then
# mount $DEVICE $DIRETORIO
md5sum $DEVICE > $MD5
echo "`md5sum -c $MD5`"
# echo "Checksum realizado com sucesso!"
# else
# echo "Checksum não realizado!"
fi
umount $DEVICE
echo "Retirar Pendrive"

echo `sudo date`

fi
fi
done




47. Re: script dd

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 31/08/2012 - 16:04h

Tá certim. Agora é só fazer os ajustes.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts