DD til og fra usb - iso fil

Søger du et bestemt program? Mangler du et alternativ til dit Windowsprogram? Program-spørgsmål kan stilles her.
Brugeravatar
Blueeyez
Forfatter
Indlæg: 885
Tilmeldt: 24. jul 2012, 21:33
IRC nickname: Blueeyez

DD til og fra usb - iso fil

Indlæg af Blueeyez »

Jeg har netop købt en ny USB nøgle og tænkte jeg vil teste den, men jeg vil lige sikre mig at jeg bruger dd korrekt.

Jeg har følgende dd kommando, som virker, men jeg ved ikke om en er korrekt at bruge:

sudo dd if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb

Jeg kunne os godt tænke mig at vide om jeg kan bruge:

sudo dd if=/dev/sdb of=ubuntu-15.10-desktop-amd64_2.iso

For at teste læse hastigheden?

Jeg ved godt jeg kan bruge benchmark under Diske, men dd giver jo os god info omkring generel brug og så vælger man jo selv den data der skal skrives/læses :)

Men er kommandoen korrekt? Nogle bruger noget med 1M osv nemlig..
* Linux Ubuntu 16.04 64 bit - I3, 4 GB DDR3 1600Mhz, intel 7260AC dual band wifi, Samsung EVO 850 250 GB SSD. - Abook Z510
* Asustor nas: AS-202T, AS-202TE & AS-604T
https://linuxviden.dk
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: DD til og fra usb - iso fil

Indlæg af lath »

Blueeyez skrev:Jeg har netop købt en ny USB nøgle og tænkte jeg vil teste den, men jeg vil lige sikre mig at jeg bruger dd korrekt.

Jeg har følgende dd kommando, som virker, men jeg ved ikke om en er korrekt at bruge:

sudo dd if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb

Jeg kunne os godt tænke mig at vide om jeg kan bruge:

sudo dd if=/dev/sdb of=ubuntu-15.10-desktop-amd64_2.iso

For at teste læse hastigheden?

Jeg ved godt jeg kan bruge benchmark under Diske, men dd giver jo os god info omkring generel brug og så vælger man jo selv den data der skal skrives/læses :)

Men er kommandoen korrekt? Nogle bruger noget med 1M osv nemlig..


Begge dd kommandoer er korrekte , men du skal tilføre den parameter, der gør at dd bruger Direct I/O -altså ikke bruger disk bufferen i kernen.
Jeg kan fortælle dig at det er tilføjelsen af dette argument:

Kode: Vælg alt

conv=fdatasync,fsync

Der er flere spændende muligheder med dd - kig i manual siden for dd kommandoen:

Kode: Vælg alt

man dd


Tilføj også ...

Kode: Vælg alt

bs=2M

... som argument for at overføre data i max. klumper a 2 MiB - det er noget hurtigere - da der er færre systemkald til kernen, og dermed færre af det der på engelsk hedder context switch imellem dd programmet og så kernen.

Opdatering af paritiontabeller i kernen
Kernen har en tabel af partition tabeller cached inde i kernen. Når man ændrer i et filsystem, så går det ofte galt med især GParted .

Du kan fikse kernens ide om hvordan partition tabellerne ser ud ved at køre den her kommando:

Kode: Vælg alt

sudo partprobe

... efter noget disk aktivitet, hvor kernen beder hvert block device om partiton tabellen er kernens partition cache blevet opdateret.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
zob
Redaktør
Indlæg: 4430
Tilmeldt: 6. jan 2009, 22:01
Geografisk sted: København

Re: DD til og fra usb - iso fil

Indlæg af zob »

Er det egentlig ikke ok (og måske endda ønskeligt) at han undlader conv=fdatasync eller for den sags skyld oflag=dsync når han, som han skriver ønsker at teste læsehastigheden fra /dev/sdb og netop ikke skrivehastigheden?
Brugeravatar
Blueeyez
Forfatter
Indlæg: 885
Tilmeldt: 24. jul 2012, 21:33
IRC nickname: Blueeyez

Re: DD til og fra usb - iso fil

Indlæg af Blueeyez »

Vil godt teste læse og skrivehastigheden, men os bruge dd korrekt til at skrive .iso filer til usb, da jeg vil undlade GUI løsninger..

sudo dd bs=2M if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb
1178386432 byte (1,2 GB) kopieret, 82,8716 s, 14,2 MB/s
sudo dd bs=4M if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb
1178386432 byte (1,2 GB) kopieret, 69,9909 s, 16,8 MB/s
sudo dd bs=6M if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb
1178386432 byte (1,2 GB) kopieret, 69,3439 s, 17,0 MB/s
sudo dd bs=8M if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb
1178386432 byte (1,2 GB) kopieret, 69,0938 s, 17,1 MB/s
sudo dd bs=10M if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb
1178386432 byte (1,2 GB) kopieret, 68,7186 s, 17,1 MB/s
sudo dd bs=20M if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb
1178386432 byte (1,2 GB) kopieret, 68,9818 s, 17,1 MB/s

Det er lige de tests jeg har lavet nu her, hvor jeg tænker at jeg skal være 10M...

sudo dd bs=2M if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb conv=fdatasync,fsync
1178386432 byte (1,2 GB) kopieret, 69,13 s, 17,0 MB/s
sudo dd bs=10M if=ubuntu-15.10-desktop-amd64.iso of=/dev/sdb conv=fdatasync,fsync
1178386432 byte (1,2 GB) kopieret, 69,0811 s, 17,1 MB/s

Synes ikke rigtigt det gjorde det meget hurtigere? ^_^
* Linux Ubuntu 16.04 64 bit - I3, 4 GB DDR3 1600Mhz, intel 7260AC dual band wifi, Samsung EVO 850 250 GB SSD. - Abook Z510
* Asustor nas: AS-202T, AS-202TE & AS-604T
https://linuxviden.dk
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: DD til og fra usb - iso fil

Indlæg af AJenbo »

JeG ville sige dd er det forkerte værktøj til det du forsøger. Det kan bruges men er lidt en nødløsning. Det overskriver filtabellen og efterlader din bus disk som en 1,2GB dvd. Det er ikke alle systermer der vil acceptere at læse fra den. Der syndes jeg du ville være bedre tjent med at konvatere til et diskformat så du stafig kan skrive feer til disken, det kunne være praktisk hvis du skal lave et backup af noget via live disken...

Du kan sikker også finde en terminal kommado til at lave konvateringen.

Mht til at teste skrive og læsehastigheden så giver den kun et samlet resultat og ikke et billede af diskens karakteristika sådan som et rigtig test værktøj ville. Ved læsning ville du også ende med en ISO på størelse med disken (16GB?) og ikke 1.2GB som ville indeholde en en masse data fra diskens tidligere indhold. Hvis du endelig ønsker at lave en læse test så skriv til /dev/null så testen ikke samtidig afhænger af målets skrive hastighed. Det omvendte gør sig også gældende når du forsøger at bruge dd til at teste skrivehastigheden.