Ao trabalhar com Pendrives e cartões SD, para testar distribuições à serem executadas no Raspberry Pi, por exemplo, pode ser útil, fazer cópias de segurança (backup) de imagens que você já tenha configurado, executado e atualizado.
Neste caso, algo bastante útil e simples de ser feito, é efetuar uma cópia (criar uma imagem) do Pendrive ou Cartão SD, de tal forma que você possa recupera-la posteriormente, ou até então replicar para diversos Pendrives ou Cartões SD.
Efetuando a cópia…
Insira o Pendrive ou Cartão SD no Mac
Acesse o aplicativo Terminal.app, pelo Spotlight (⌘ + Tecla Espaço) ou diretamente através do diretório /Applications/Utilities/
Execute o comando “diskutil list“, para obter uma lista de discos disponíveis:
$diskutil list
O retorno do diskutil list, poderá ser semelhante à isto:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *120.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage OSX 119.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS OSX +118.8 GB disk1
Logical Volume on disk0s2
B34DD1A2-6928-4216-9B11-76DDF772B04F
Unlocked Encrypted
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *4.0 GB disk2
1: DOS_FAT_32 RASPBPI 4.0 GB disk2s1
Identifique o disco relativo ao dispositivo, neste caso, é o /dev/disk2
Desmonte o disco, com o comando “diskutil unmountDisk“
$diskutil unmountDisk /dev/disk2
Uma vez que o disco esteja desmontado, você poderá acessa-lo e altera-lo diretamente.
Para efetuar a cópia, iremos utilizar o utilitário dd, o qual já se encontra disponível no Mac OS X.
Para saber mais sobre o dd, basta consultar o Manual, digitando “man dd“ no Terminal.
A sintaxe básica do dd é:
dd if=origem of=destino
Substitua origem e destino, pelo disco de origem e pelo caminho e nome do arquivo de destino, respectivamente.
O nome do arquivo de destino pode possuir qualquer nome e extensão, bem como pode ser salvo onde você bem entender, logo teremos algo semelhante à:
dd if=/dev/rdisk2 of=~/imagens/2015-12-23-backup-raspbian.img bs=128m
Note que, para acelerar o processo de cópia, complementamos o comando, definindo o parâmetro block size (bs) como 128m e alteramos o disco de destino incluindo um “r“ antes de “disk2“.
O bs indica que os blocos de leitura e escrita devem possuir o mesmo tamanho, enquanto que o “r“ define que o disco deve ser acessado no modo raw.
Quando o processo de cópia for concluído, você receberá uma mensagem informando o tempo decorrido e a quantidade de bytes transferidos.
Restaurando a cópia…
Quando desejar restaurar a cópia, bastará efetuar o procedimento reverso, definindo o arquivo de origem em if= e o dispositive de destivo em of=, algo como:
dd if=~/imagens/2015-12-23-backup-raspbian.img of=/dev/rdisk2 bs=128m
Quando o processo de cópia for concluído, bastará utilizar o Cartão ou Pendrive normalmente…