• inkeso@feddit.org
    link
    fedilink
    arrow-up
    0
    ·
    14 days ago

    Aah OK. Mache ich so ähnlich auch gern bei dubiosen Speichermedien, wo es nur so halb drauf ankommt.

    Wäre ja in dem Fall sogar übertrieben zu gucken, ob korrekt geschrieben wurde.
    # blocksize 1M * 1k = 1G file
    dd if=/dev/urandom bs=1M count=1k status=progress | tee random.junk | md5sum
    md5sum random.junk
    

    (Prüfsummen sollten identisch sein)

    • bleistift2@sopuli.xyzOP
      link
      fedilink
      Deutsch
      arrow-up
      1
      ·
      1 day ago

      Danke für die Idee. Hab’s ein bisschen weiter automatisiert.

      #!/bin/bash
      
      set -euo pipefail
      
      OUTDIR="/mnt/HDD"
      COUNT=2621440
      for i in $(seq 1 28); do
          outfile="$(mktemp -p ${OUTDIR})"
          checksum=$(dd if=/dev/random bs=4096 count=${COUNT} status=none | tee "$outfile" | sha256sum)
          filename="$(realpath --relative-to=${OUTDIR} ${outfile})"
          echo "${checksum/-/${filename}}" >> "${OUTDIR}/sums"
      done
      
      sha256sum -c "${OUTDIR}/sums"