Mandriva Fórum

Hardware v Mandriva Linuxu => Disky, řadiče, CD a DVD => : debil DVD December 20, 2010, 16:44:01



: MD5SUM blbě funguje
: debil DVD December 20, 2010, 16:44:01
Když vypálím ISO obraz na CD nebo DVD, zkontroluji ho příkazem
:
md5sum /dev/hdb
, vypsaná řetěz si zapíšu, potom zadám příkaz
:
md5sum uložený_obraz_ze_kterého_pálil
a vypsaný řetěz si zapíšu. Oba řetězy potom porovnám a jestli jsou stejné, mám to vypálené dobře. Vždycky mi to tak fungovalo. Jenomže teď se mi ty řetězy liší, ikdyž to mám vypálené dobře, to znamená i u těch CD, DVD, u kterých K3b hlásilo, že jsou vypálené dobře a že i kontrola je v pořádku. Jakto? Abych se přesvědčil, že jsou opravdu vypálené dobře, dal jsem v K3b vypálit několik kopií a ještě k tomu ověřit zapsané data. Hlásilo se, že vypálení i kontrola je v pořádku. Když jsem potom udělal kontrolu pomoci md5sum, tak řetězy všech pálených DVD se lišily od uloženého ISO, ze kterého pálil, ale řetězy jednotlivých DVD se mezi sebou shodovaly. Přitom dříve, jak jsem pálil z ISO obrazu, a potom použil md5sum, tak se mi shodoval řetěz páleného taky s řetězem toho uloženého ISO, ze kterého jsem pálil.


: Re: MD5SUM blbě funguje
: alda81 December 20, 2010, 18:33:32
když porovnáváš hrušky s jabkama, tak se nediv, že ti vyjdou dva různý výsledky
Když vypálím ISO obraz na CD nebo DVD, zkontroluji ho příkazem
:
md5sum /dev/hdb
v prvním kroku počítáš kontrolní součet hardisku

potom zadám příkaz
:
md5sum uložený_obraz_ze_kterého_pálil
v druhém příkazu počítáš kontrolní součet iso souboru

co kdyby ses pro příště obtěžoval podívat se na wiki?
http://wiki.mandrivalinux.cz/kontrola-iso-md5-dvd
http://wiki.mandrivalinux.cz/kontrola-iso-md5

takže md5sum nefunguje blbě, problém je u tebe mezi židlí a klávesnicí


: Re: MD5SUM blbě funguje
: debil DVD December 20, 2010, 19:20:44
Podle těch článků na Wiki se řídím už od samého začátku. Příkazem
:
md5sum /dev/hdb
nepočítám kontrolní součet harddisku, ale opravdu tím kontroluji medium. Kontroluji to jak v článku, akorát nemůžu používat v příkazech /dev/sr0, ani dev/sr1, protože to mi příkaz odpoví, že takové zařízení nebo adresa neexistuje. Místo /dev/sr* musím napsat /dev/hda (pro vypalovačku) a /dev/hdb/ (pro druhou mechaniku), protože to odpovídá uzlu připojení, který jsem vyčetl z kliknutí pravým tlačítkem myši na ikonu strčeného media v Konqueroru a položky vlastnosti. Dříve se mi u správně vypálených CD, DVD, oba řetězy (řetěz od vypáleného media proti řetězu uloženého ISO obrazu na pevném disku, ze kterého pálil) opravdu shodovaly, a teď se neshodují ani při správně vypáleném mediu. Teď jsem si všiml, že dokonce i příkaz,
:
dd if=/dev/hdb | md5sum
se mi chová stejně. Taky se jeho vypsaný řetěz liší od řetězu
:
  md5sum uložený_obraz_ze_kterého_pálil
, ikdyž je CD, DVD, správně vypálené, zatímco dříve se shodoval, pokud bylo vypálené správně.
V článku na Wiki se sice píše
Jsou-li všechna čísla z daného výstupu shodná s MD5 kontrolním součtem uvedeným v souboru s koncovkou .md5, tak máte jistotu, že vypalování proběhlo opravdu korektně.
Soubor s koncovkou .md5 je vlastně textový soubor, který si stáhuji na internetu někde vedle toho ISO obrazu, který stahuji,  a v tom souboru s koncovkou .md5 je vypsaný řetěz, který bych měl porovnat s vypsaným řetězem od příkazu
:
md5sum uložený_obraz_který_jsem_stáhnul
. Ani když řetěz
:
md5sum /dev/hdb
porovnám s tím souborem s koncovkou .md5, tak se to i u správně vypáleného media liší. A vlastně je jedno, jestli to porovnávám s řetězem obsaženým v souboru *.md5 nebo s řetězem vypsaným příkazem
:
ze md5sum uložený_obraz_ze_kterého_pálil
, protože oba by měly být (pokud dobře stahoval) stejné.


: Re: MD5SUM blbě funguje
: alda81 December 20, 2010, 21:35:05
co ti to vypíše?
:
dmesg | grep -i cd | grep -i rom


: Re: MD5SUM blbě funguje
: debil DVD December 21, 2010, 14:28:04
To se mi píše:
[david@localhost ~]$  dmesg | grep -i cd | grep -i rom
hda: HL-DT-STDVD-RAM GH22NP20, ATAPI CD/DVD-ROM drive
hdb: HL-DT-STDVD-ROM GDR8164B, ATAPI CD/DVD-ROM drive
hda: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(66)
Uniform CD-ROM driver Revision: 3.20
[david@localhost ~]$


: Re: MD5SUM blbě funguje
: alda81 December 21, 2010, 21:40:56
jediné logické vysvětlení pro mě je to, že porovnáváš vypočítaný kontrolní součet s kontrolním součtem, který je určený k jinému souboru - případně ti mechanika špatně čte, má zasranou čočku ...


: Re: MD5SUM blbě funguje
: debil DVD December 22, 2010, 18:13:14
Mechanika mi nemůže blbě číst, protože jsem to DVD zkontroloval potom ještě v druhé mechanice - mám dvě. A zase se součet lišil od součtu na uloženém ISO. A obě mechaniky dávaly stejné součty. To by musely číst obě blbě a ještě stejně blbě a to by musela být náhoda. A to, že bych při kontrolování popletl DVD nebo ISO obraz nebo kontrolní součty, není možné, protože jsem celou zkoušku opakoval několikrát a výsledky pořád stejné.


: Re: MD5SUM blbě funguje
: Ivan Bibr December 22, 2010, 21:06:13
Nejsem si teď jist, jak je to s dd, jestli je výsledek po zkopírování opravdu ISO soubor. Zkusil bych buď ripnout ISO pomocí K3b, nebo nechal provést kontrolu média přímo při vypalování - každý vypalovací soft to umí. Proč to dělat složitě, když to jde jednoduše?

Jinak chybně vypálená DVD nejsou žádná rarita - špatná média nebo špatné mechaniky dělají "zázraky". Když testujeme DVD mastery na lisování, kontrolujeme to na několika mechanikách,


: Re: MD5SUM blbě funguje
: Peťoš December 22, 2010, 22:09:28
ISO soubor není totéž, co binární data nahraná na vlastním CD/DVD. Je to formát, který tato data zachovává, ale pomocí dd není možné vytvořit ISO funkční soubor.
Jak píše Ivan -- je nutné vytvářet ISO soubory nástroji, k tomu určenými...


: Re: MD5SUM blbě funguje
: Ivan Bibr December 22, 2010, 23:46:57
ISO soubor není totéž, co binární data nahraná na vlastním CD/DVD. Je to formát, který tato data zachovává, ale pomocí dd není možné vytvořit ISO funkční soubor.

V tom případě je blbě návod na wiki - http://wiki.mandrivalinux.cz/kontrola-iso-md5-dvd.


: Re: MD5SUM blbě funguje
: debil DVD December 23, 2010, 18:08:34
---Někdy mi nezbyde nic jiného, než vypálené CD, DVD, zkontrolovat dodatečně, mimo vypalovací program, protože: Občas zapomenu při vypalování dát ověřit, a jindy mi zase při kontrole vypalovací program někdy odmítne medium zkontrolovat a nahlásí chybu. Například jsem někdy vypaloval DVD s ověřením a vypalovací program nejdříve hlásil úspěch při vypálení ale dále mi odmítl kontrolovat a napsal mi "chyba, no track to verify found". Vypálil jsem několik stejných kopii a u těch dalších se to už dobře skontrolovalo a napsalo úspěch při vypalování i úspěch při kontrole. Potom jsem všechny ty DVD, i to, co se nechtělo v K3b zkontrolovat, dal spočítat pomoci md5sum a úplně všechny DVD, včetně toho, co se v K3b nechtělo zkontrolovat, měly řetězy navzájem stejné.
---Jinak, nevím, v čem je chyba, že teď mi už md5sum blbě ukazuje (dříve ukazovalo dobře, ikdyž postupuji pořád stejně), dokonce to md5sum jsem schválně začal zkoušet i u těch CD, DVD, které vypálím v K3b s ověřením, a u kterých vypálení a ověření v K3b dopadlo dobře. Přesto, že ve vypalovacím programu dopadlo dobře i vypálení, i kontrola, tak podle md5sum vychází, že dopadla blbě. A u několika vypálených stejných kopií md5sum dokonce "tvrdí", že jsou vypálené stejně blbě - řetězy jednotlivých kopií se navzájem shodují, ale od ISO obrazu se liší. To už je divné.


: Re: MD5SUM blbě funguje
: Ivan Bibr December 26, 2010, 10:57:17
---Jinak, nevím, v čem je chyba, že teď mi už md5sum blbě ukazuje (dříve ukazovalo dobře, ikdyž postupuji pořád stejně), dokonce to md5sum jsem schválně začal zkoušet i u těch CD, DVD, které vypálím v K3b s ověřením, a u kterých vypálení a ověření v K3b dopadlo dobře. Přesto, že ve vypalovacím programu dopadlo dobře i vypálení, i kontrola, tak podle md5sum vychází, že dopadla blbě. A u několika vypálených stejných kopií md5sum dokonce "tvrdí", že jsou vypálené stejně blbě - řetězy jednotlivých kopií se navzájem shodují, ale od ISO obrazu se liší. To už je divné.

Hmm, něco se muselo změnit, resp. asi se změnil přístup k mechanikám, takže dd poskytne něco jiného, než původně poskytoval. Mohu potvrdit, že dd nedává jako výsledek ISO (nicméně kdysi dával).


: Re: MD5SUM blbě funguje
: Peťoš December 26, 2010, 11:10:48
že by přechod pod libata a jiný přístup k datům? Protože md5sum jako takový funguje dobře, tam se nemá co pokazit ;)


: Re: MD5SUM blbě funguje
: Ivan Bibr December 26, 2010, 11:45:33
že by přechod pod libata a jiný přístup k datům? Protože md5sum jako takový funguje dobře, tam se nemá co pokazit ;)

Jistěže není chyba v md5sum, stejně tak není ani v dd. Libata to nebude, tím se myslím mění jen drivery. Zkouším si s tím hrát, ale na nic jsem nepřišel - a navíc všude na netu píší, že dd dává ISO soubor, dokonce i na Wikipedii. Smrdí to.


: Re: MD5SUM blbě funguje
: LenardoIV December 26, 2010, 11:49:04
Zkus tohle: http://cfv.sourceforge.net/ (http://cfv.sourceforge.net/). Není to zrovna košer, ale možná to bude fungovat lépe.


: Re: MD5SUM blbě funguje
: LenardoIV December 26, 2010, 12:17:45
a navíc všude na netu píší, že dd dává ISO soubor
Ano dd skutečně vytváří iso soubory pomocí koncovky .iso, asi takto
:
dd if=/dev/cdrom of=/home/user/cd.iso
viz zde: http://linuxtuts.webnode.com/news/vytvoreni-iso-z-cd/ (http://linuxtuts.webnode.com/news/vytvoreni-iso-z-cd/) nebo zde:http://wiki.linuxquestions.org/wiki/Dd (http://wiki.linuxquestions.org/wiki/Dd). Otázkou zde je, co je to iso soubor?


: Re: MD5SUM blbě funguje
: Peťoš December 26, 2010, 12:19:51
Otázkou zde je, co je to iso soubor?
Ne, toto otázkou není. My víme, co je to ISO soubor. Otázkou je, proč
:
dd /dev/sr0 /tmp/cd.iso
nefunguje...


: Re: MD5SUM blbě funguje
: lukas.v December 26, 2010, 16:51:57
Ahoj. Všechny zdravím a přeju pěkné svátky.

Vyzkoušel jsem udělat iso obraz z již vypálené instalačky Mandrivy pomocí aplikace dd. Podařilo se mi jej připojit do virtuální mechaniky pomocí cdemu. A normálně to fungovalo. Je to docela obyčejný iso obraz.

Tento obraz byl však asi o 23.7MiB větší než původní obraz stažený z netu. Četl jsem, že vypalovací programy na cd/dvd přidávají nějaká data. Ale o co jde, to nevím.

Nyní je však jisté, že přímo porovnávat kontrolní součet obrazu iso s kontrolním součtem vypálených dat asi nepůjde.
Tak by mě zajímalo, jak kontrolují data vypalovací programy.


: Re: MD5SUM blbě funguje
: alda81 December 26, 2010, 18:05:06
oba dva příkazy na kontrolu kontrolního součtu vypáleného média uvedené na wiki mě fungují v Mandrivě 2010.0 naprosto spolehlivě a dávají správné výsledky, k novější Mandrivě jsem se ještě nepropracoval, takže tam nemůžu sloužit


: Re: MD5SUM blbě funguje
: debil DVD December 26, 2010, 18:25:18
A ještě jsem zapoměl říct, že od doby, kdy mi kontrola řetězů fungovala dobře, až do teď, jsem neměnil operační systém, mám stále Mandriva Linux 2008.0, a ani jsem nic neaktualizoval. Takže problém nemohly způsobit ani aktualizace, ani změna operačního systému.


: Re: MD5SUM blbě funguje
: debil DVD December 26, 2010, 18:42:41
Celý problém s kontrolou řetězů jsem ještě řešil ještě na http://www.abclinuxu.cz/poradna/linux/show/323436 (http://www.abclinuxu.cz/poradna/linux/show/323436) , kde mi napsali, že háček je v tom, jak se data z vypáleného media načtou, jestli se načte celý blok i s prázdným místem, nebo jenom konec dat. Nevím ale, jak to můžu ovlivnit.


: Re: MD5SUM blbě funguje
: lukas.v December 26, 2010, 18:56:14
Mám to! Našel jsem tuto stránku http://sandbox.cz/~covex/Linux/isoimage.html (http://sandbox.cz/~covex/Linux/isoimage.html).

Podle uvedených příkazů jsem zadal tento příkaz:
:
dd if=/dev/sr0 bs=4096 count=1141504 | md5sum > md5_vypalena_data

Výsledný kontrolní součet z tohoto příkazu se shoduje s kontrolním součtem původního ISO obrazu ještě před vypálením.

Vypalovací programy tedy data navíc přidávají a nakonec. V mém případě to bylo asi 23.7 MiB. Nejspíš nějaká kontrolní data.
Edit: Uplně jsem zapomněl popsat to číslo za count=:
To podivné číslo je počet bloků ke kontrole. Ten vynásobte velikostí bloku 4096 a máte velikost původního ISO obrazu v bajtech.


: Re: MD5SUM blbě funguje
: Ivan Bibr December 26, 2010, 18:56:38
No podle toho, kolik mi dd načetl dat (4,6 GB místo 4,4 GB) bych řekl, že stahuje i nějaká ta kontrolní data, která jsou na DVD navíc. Totéž dělá, když pustím md5sum přímo na zařízení nebo udělám cat /dev/sr0. Dělá to i Ubuntu 10.10, není to tedy jen záležitost Mandriva Linuxu.


: Re: MD5SUM blbě funguje
: lukas.v December 26, 2010, 19:16:31
Takže to ještě shrnu:
Abyste dostali správný kontrolní součet je nutné znát velikost původního ISO obrazu. Tu podělíte Vámi zadanou velikosti bloku. A výsledné číslo je počet bloků ke kontrole. To se musí zadat v uvedeném příkazu výše do parametru count=.


: Re: MD5SUM blbě funguje
: Peťoš December 26, 2010, 19:22:34
To je proboha nějak šíleně obskurní, ne? Bože, křišťálová koule a netopýří nožičky... Celkem masakr...


: Re: MD5SUM blbě funguje
: debil DVD December 26, 2010, 20:15:28
U vypáleného media u kterého vypálení i kontrola v K3b dopadla dobře a u uloženého ISO obrazu jsem si prohlédl vlastnosti a počet bajtů se tam liší. Obrázky v příloze.


: Re: MD5SUM blbě funguje
: lukas.v December 27, 2010, 12:11:08
Zkoušel jsem si taky vypálit a zkontrolovat zmíněné Ubuntu Studio. A jak se zdá, tato záležitost není tak jednoduchá. Prvně musíme zjistit, jestli je velikost souboru původního obrazu ISO dělitelná naší zadanou velikostí bloku. Aplikace dd v parametru count nebude počítat s půlkou bloku. Proto jsem v tomto případě zmenšil velikost bloku na 2048.

Pro ty, co by snad chtěli kontrolovat pomocí md5sum, jsem trochu zautomatizoval příkazy ke kontrole:
:
ZARIZENI="/dev/ZARIZENI MEDIA"
OBRAZ_ISO="soubor obrazu ISO"
VELIKOST_BLOKU=2048
VELIKOST_ISO=`du -b $OBRAZ_ISO | sed -r s/\\\s.*//g`
POCET_BLOKU=`expr $VELIKOST_ISO / $VELIKOST_BLOKU`
dd if=$ZARIZENI bs=$VELIKOST_BLOKU count=$POCET_BLOKU | md5sum > md5_vypalena_data
Avšak tyto příkazy jsou vhodné spíš do nějakého skriptu, ale funguje. Stačí zadat správné zařízení, soubor původního obrazu ISO a velikost bloku.
A nakonec provést kontrolní součet samotného obrazu, který jste vypalovali.
:
md5sum "soubor obrazu ISO" > md5_iso


: Re: MD5SUM blbě funguje
: Ivan Bibr December 31, 2010, 11:30:50
Vypadá to, že při vypalování se k ISO opravdu něco připisuje (např. se uzavírá session) - našel jsem několik odkazů, které pracují s velikostí ISO a tvrdí, že md5sum na /dev/dvd není správně: 1 (https://help.ubuntu.com/community/HowToMD5SUM#Check the CD), 2 (http://wiki.linuxquestions.org/wiki/Md5sum), 3 (http://www.g-loaded.eu/2006/10/07/verify-a-burned-cddvd-image-on-linux/). Dává to celkem smysl, nicméně ...

oba dva příkazy na kontrolu kontrolního součtu vypáleného média uvedené na wiki mě fungují v Mandrivě 2010.0 naprosto spolehlivě a dávají správné výsledky, k novější Mandrivě jsem se ještě nepropracoval, takže tam nemůžu sloužit

... mám stejně zkušenosti jako Alda, tzn. mám na 100 % vyzkoušeno, že v některých případech není bezpodmínečně nutné zadávat programu dd množství bloků k přečtení.

Nemám čas to hlouběji zkoumat, moje domněnka je, že to dělá hardware, přesněji mechanika, která posílá data pro dd. Oba mé počítače, na kterých jsem testoval, jsou stejné mašiny a mají tudíž stejné chování - nemám tu však nic jiného, čím bych to vyzkoušel, případně potvrdil/vyvrátil. Jestli někdo najde nějaké další informace, napište je sem, prosím (stačí i odkaz).