• bleistift2@sopuli.xyzOP
    link
    fedilink
    Deutsch
    arrow-up
    0
    ·
    15 days ago

    Juhuu, noch ein Kompressionsalgorithmus!

    Für nicht-Pinguine: Er „kopiert” 100GB aus einer „Datei”, die nur Nullen enthält und komprimiert sie dann mit zstd. Das Ergebnis speichert er dann als Datei. Die Datei ist nur 3,3MiB groß.

    • bennypr0fane@discuss.tchncs.de
      link
      fedilink
      arrow-up
      0
      ·
      15 days ago

      Und in welcher Form ist das Komprimieren hilfreich dabei, die Funktionstüchtigkeit des “Magnetspeichers” (SSD?) zu überprüfen?

      • bleistift2@sopuli.xyzOP
        link
        fedilink
        Deutsch
        arrow-up
        0
        ·
        15 days ago

        Gar nicht. Siehe Überschrift (entzangendeutscht) „any% Speedrun”. Es ging ihm nur darum, die 100GB zu nehmen und eine Datei auf die Platte zu werfen.

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

          Exakt. Aber wenn es wirklich darum ging auf Funktionstüchtigkeit zu prüfen (und nicht auf Schreibgeschwindigkeit oder so) wäre schlechtblöcke (badblocks) im nichtdestruktiven Modus und bei ausgehängter Partition das bessere Werkzeug. Und sehr, SEHR viel langwieriger.

          • bleistift2@sopuli.xyzOP
            link
            fedilink
            Deutsch
            arrow-up
            0
            ·
            15 days ago

            Danke für den Hinweis. Ich wusste, dass es Tools gibt, die „richtig” prüfen, ob eine Festplatte gut ist. So weit vertraue ich aber meinem Händler. Ich teste gerade hauptsächlich, ob die Kapazität wirklich korrekt angegeben wurde oder ob das Ding nach einem Terabyte wieder Daten überschreibt. Und ob sich sonst irgendwas Komisches bemerkbar macht.

            Die Festplatte soll eigentlich nur das Internet cachen, also kommt es nicht einmal darauf an, dass die Blöcke gut sind.

            • inkeso@feddit.org
              link
              fedilink
              arrow-up
              0
              ·
              15 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
                ·
                2 days 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"