Puncte:1

Citiți imaginea DVD cu dd până când este goală

drapel cn

Vreau să compar hash-ul SHA al fișierului .iso pe care l-am ars pe un DVD cu imaginea DVD-ului în sine pentru a vedea dacă sunt identice dacă inscripția a fost cu succes. Problema este că nu sunt, nu pentru că ar exista o posibilă eroare, ci pentru că modul în care funcționează sectoarele de disc este că, dacă 1 sector este pe jumătate plin, îl citește pe tot, sau ceva de genul ăsta.

Există vreo modalitate de a utiliza dd instrument pentru a citi numai datele completate de pe disc, adică până la ultimul bit/octet care nu este gol, și să ignore spațiul gol și rotunjirea de la sfârșitul acestuia, astfel încât porțiunea de imagine de disc citită până când este umplută, va fi identic cu .iso pe care l-am folosit pentru a-l arde (dacă nu au fost prezente alte erori desigur)?

guiverc avatar
drapel cn
Nu ați furnizat niciun sistem de operare sau detalii de lansare, dar aproape toate mediile Ubuntu au o autovalidare care efectuează această verificare când îl porniți. Pe unele ISO-uri sau versiuni selectați să-l rulați manual, pe altele, verificarea este rulată, dar trebuie să căutați rezultatul... așa că de ce să nu porniți sistemul *nedeclarat* și să îl puneți să verifice mediul în sine? FYI: *Au trecut câteva cicluri (cred groovy) când mi s-a cerut ultima dată să folosesc suporturi DVD în testarea QA, iar validarea DVD-ului este lentă; dar nu este o pornire și validare mai lentă a discului în comparație cu doar citirea totul - încă trebuie să citească întregul disc*
drapel cn
Nu este un Ubuntu .iso, ci altceva, dar vreau în mod special o soluție dd bazată pe terminal pentru asta. Știu că există unul, îmi amintesc că există, dar pur și simplu nu am găsit răspunsul nicăieri. (De asemenea, pornirea și autovalidarea este dăunătoare pentru securitate, dacă ar fi fost un ISO Ubuntu și aș fi descărcat o variantă infestată de malware, ar putea doar să înlocuiască acele mecanisme de verificare de încredere, este întotdeauna important să validezi .iso-ul extern, indiferent de ce ar fi poate fi pentru a evita această problemă de securitate)
drapel cn
Nu înțelegi, folosesc Ubuntu pe celălalt computer al meu pentru a face asta, doar că lucrurile pe care le scriu pe DVD nu sunt un sistem de operare, sunt subiectul acestei discuții. Întreb cum să folosesc instrumentul DD pe un sistem de operare Ubuntu pentru a-mi atinge obiectivele menționate aici.
Puncte:2
drapel jp

Am testat chiar acum cu un fișier ISO vechi Lubuntu 16.04.1 LTS amd64 și un disc DVD pe care l-am ars când era nou (2016). Am extras de pe discul DVD cu dd,

$ sudo dd if=/dev/sr0 of=dvd.img bs=4096
218880+0 afiș în
218880+0 poster ut
896532480 octeți (897 MB, 855 MiB) kopierade, 95.2247 s, 9,4 MB/s

și am comparat rezultatul cu fișierul meu iso stocat,

$ ls -l lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
-rw------- 1 nio 1002 896532480 jul 20 2016 lubuntu-16.04.1-desktop-amd64.iso
-rw-r--r-- 1 root root 896532480 dec 7 12:25 /media/multimed-2/test/test0/temp/dvd.img

$ md5sum lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
d2d7edc41ea03998e267db607f92b40d lubuntu-16.04.1-desktop-amd64.iso
d2d7edc41ea03998e267db607f92b40d /media/multimed-2/test/test0/temp/dvd.img

$ sha256sum lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
1b91a43b0101e03b0890428d3e77198c0d35364cf35e38aaea2755d10ace26a7 lubuntu-16.04.1-desktop-amd64.iso
1b91a43b0101e03b0890428d3e77198c0d35364cf35e38aaea2755d10ace26a7 /media/multimed-2/test/test0/temp/dvd.img

După cum puteți vedea, dimensiunile și sumele de control se potrivesc.

drapel cn
Din păcate, nu funcționează pentru mine, poate că Ubuntu și alte variante ale sistemului de operare Linux sunt făcute pentru a avea o dimensiune exactă pentru a umple toate sectoarele de disc, dar ceea ce scriu pe DVD nu are dimensiunea exactă rotunjită, așa că câțiva biți/octeți va fi lăsat atârnând în celălalt sector, în timp ce restul, presupus umplut cu zerouri. Aș putea să-i `cat` zerouri, dar m-am gândit că există o soluție mai simplă la asta doar cu `dd`, poate niște steaguri pentru a ignora resturile, nu știu, nu un expert cu instrumentul.
sudodus avatar
drapel jp
@Orchid67732, Dacă *știi* dimensiunea (numărul de octeți), poți folosi dd cu `count=blocks`. Ajută dacă numărul de octeți este un multiplu par al numărului mare, altfel trebuie să utilizați o dimensiune de bloc mică (în cel mai rău caz bs=1), ceea ce face dd lent. Ar putea fi mai bine să găsești zerouri sau să folosești o altă metodă pentru a se potrivi dimensiunile.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.