Verifique a imagem de CD / DVD gravada em um Mac

0

Basicamente, o que eu gostaria de fazer é verificar se uma imagem foi gravada com sucesso. É praticamente a mesma pergunta como isso , exceto para o Mac OS X.

Depois de pesquisar on-line (incluindo superuser.com), só encontrei soluções para o meu problema no Windows e gostaria de resolver esse problema no Mac OS X.

Eu já tentei instalar o ImgBurn via Wine, mas parece que não funciona.

    
por comfreak 02.09.2015 / 19:44

4 respostas

2

A melhor maneira de fazer esse tipo de comparação é o comando cmp . cmp compara os dados byte a byte e informará você sobre qualquer diferença ** entre os dois arquivos.

Digite o comando como cmp /home/image.iso /media/cdrom0 (certifique-se de usar os caminhos reais para a imagem e o CD conforme apropriado para sua situação). A saída que você deseja ver é sem saída (a imagem e o CD são idênticos) ou cmp: EOF on image.iso , que indica que há mais bytes no CD que a imagem, mas todos os dados da imagem foram copiados com êxito para o CD. Os dados extras no CD provavelmente são apenas preenchidos com zeros, o que ocorre quando a imagem é menor que o tamanho do CD.

Por outro lado, se você vir uma saída informando que os dois diferem (parecerá algo como image.iso cdrom0 differ, byte 128 line 7 ), então houve um erro ao copiar a imagem e há alguma diferença entre eles. A outra coisa que você pode ver que não seria boa seria cmp: EOF on cdrom0 , pois isso indica que parte da imagem não foi copiada para o CD (isso pode ser o resultado de uma interrupção no processo de cópia).

Como uma nota lateral, eu diria que o motivo pelo qual você está vendo um shasum diferente para cada arquivo é por causa desse zero de preenchimento no final do CD, que irá alterar o shasum , mas não afetam a funcionalidade de todo.

** Tecnicamente, cmp reporta apenas a primeira diferença entre os arquivos. Se houver várias diferenças, elas não serão exibidas, mas, no caso de gravar uma imagem em um CD, o número de erros não deve ser importante, os erros são ruins.

    
por 04.09.2015 / 17:45
0

Eu não sou usuário de Mac, mas depois de fazer um pouco de bisbilhotice, parece que isso é suportado nativamente no OS X, graças ao aplicativo Disk Utility. Detalhes aqui: link

Este artigo é de 2011, e como eu disse, eu não sou usuário de Mac, então não tenho um disponível para verificar, mas se o Utilitário de Disco ainda existir, esta opção provavelmente ainda está lá.

    
por 02.09.2015 / 19:55
0

Se você não tem medo do "lado negro" do OSX, ou seja, use um terminal para que você possa simplesmente comparar as somas de verificação SHA do dispositivo bruto e o arquivo de imagem.

$ shasum /dev/rdisk2
bad2c8fbb090a4b49b63135895fdb3b64062ceb6  /dev/rdisk2
$ shasum yourdisk.iso
bad2c8fbb090a4b49b63135895fdb3b64062ceb6 yourdisk.img

e compare a saída.

    
por 02.09.2015 / 22:27
0

Assumindo que o script do bash está disponível

Copie o bash-script abaixo como 'cksum.sh' em uma pasta incluída em seu $ PATH. Digite chmod 755 cksum.sh (dentro da pasta em que você salvou o script)

Em seguida, use-o; cd na pasta com os arquivos originais e faça:
$ cksum.sh -b para criar um arquivo 'CONTENT.sha256sum'.
$ cksum.sh -c para verificar as somas de verificação no arquivo em relação aos arquivos no diretório atual.

Você também pode fornecer um nome de arquivo para as somas de verificação como um segundo argumento, para substituir o padrão, que é sempre criado em / read do diretório de trabalho atual (nota: excluído do arquivo de soma de verificação).

Isso é certamente mais lento do que muitas outras soluções, mas acredito que seja mais versátil que outras. Observe também que, se você deixar o arquivo da soma de verificação na mídia (seja CD, DVD ou USB), verificar o conteúdo da mídia será um simples
sha256sum -c CONTENT.sha256sum
a qualquer momento, supondo que você tenha o executável sha256sum.

Ele detecta arquivos com falhas e ausentes, mas não com 'arquivos adicionados' (conforme escrito); mas isso é possível combinando o conteúdo da pasta com o conteúdo da lista.

O usuário final também pode detectar arquivos defeituosos (por exemplo, erros de leitura) e arquivos substituídos localizando o executável sha256sum e usando sha256sum -c CONTENT.sha256sum .

--- cksum.sh ---
#!/bin/bash

file="$2"
file="${file:=CONTENT.sha256sum}"

case  "$1" in

  "-b" ) 
    ( find -type f ! -iname "*$file" 2>/dev/null   \
     | while read f ;do sha256sum -b "$f" ;done )  \
     | tee "$file"
  ;;

  "-c" )
    if [ ! -r "$file" ] ;then
      echo "'$file' is not a readable file, cannot check."
    else
      sha256sum -c "$file"
    fi
  ;;

  * )
    echo "Usage: ${0##*/} -b|-c [checksum-filename]"
    echo "Will create(-b)/check checksums in '$file'"
    echo "for files in current dir,"
    echo "by use of 'find -type f' and 'sha256sum -b/-c'"
  ;;

esac
    
por 04.09.2015 / 19:22