Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
| | dd on työkalu eri tiedostojen matalan tason kopiointiin ja muuntamiseen toiseen muotoon. Toisin kuin [[cp]], joka kopioi kokonaisia tiedostoja, kopioi dd tiedoston sisällön bitintarkasti. Tästä syystä dd:llä voidaan esimerkiksi tehdä identtinen kopio jostakin osiosta (partition) jollekin toiselle osiolle. |
| '''dd''' on [[komentorivi]]työkalu eri tiedostojen matalan tason kopiointiin ja muuntamiseen toiseen muotoon. Toisin kuin [[cp]], joka kopioi kokonaisia tiedostoja, kopioi dd tiedoston sisällön bitintarkasti. Tästä syystä dd:llä voidaan esimerkiksi tehdä identtinen kopio jostakin osiosta (partition) jollekin toiselle osiolle.
| |
|
| |
|
| == Käyttö == | | == Käyttö == |
| {{Haitallinen esimerkki|komento}}
| |
| Kopioidaan koko ykköskiintolevy (<tt>/dev/hda</tt>), mukaanlukien esimerkiksi osiotaulukko, täyteen satunnaista dataa, mikä tuhoaa kaiken tällä kiintolevyllä ja sen eri osioilla sijaitsevan tiedon. Mikäli lähdetiedostona käytetään <tt>/dev/u[[random]]</tt>in sijasta <tt>/dev/random</tt>ia, on satunnaisluvun taso korkeampi, mutta operaatio sujuu selvästi hitaammin.
| |
| dd if=/dev/urandom of=/dev/hda | | dd if=/dev/urandom of=/dev/hda |
| | Kopioi koko ykköskiintolevyn (/dev/hda), mukaanlukien esimerkiksi osiotaulukon, täyteen satunnaista dataa, mikä tuhoaa kaiken tällä kiintolevyllä ja sen eri osioilla sijaitsevan tiedon. Mikäli lähdetiedostona käytetään /dev/random:ia, on satunnaisluvun taso korkeampi, mutta operaatio sujuu selvästi hitaammin. |
|
| |
|
| Kirjoitetaan kiintolevyn /dev/hdb osiotaulukko ja pääkäynnistyslohko täyteen nollaa, mikä käytännössä estää kiintolevyn nykyisten tietojen käytön. Sitä varten käytettäväksi lohkokooksi määritellään 512 tavua ja tämän lohkon kirjoitus määritellään toistettavaksi kaksi kertaa.
| | dd if=dev/zero of=/dev/hdb bs=512 count=2 |
| dd if=/dev/zero of=/dev/hdb bs=512 count=2
| | Kirjoittaa kiintolevyn /dev/hdb osiotaulukon ja pääkäynnistyslohkon täyteen nollaa, mikä käytännössä estää kiintolevyn nykyisten tietojen käytön. Sitä varten käytettäväksi lohkokooksi määritellään 512 tavua ja tämän lohkon kirjoitus määritellään toistettavaksi kaksi kertaa. |
| {{HEL}}
| |
| Dd:tä voi käyttää myös [[komentorivin perusteet|putkissa]], if- ja of-parametrit eivät ole pakollisia:
| |
| fortune | dd | less
| |
| toimii tarkalleen samoin kuin
| |
| fortune | less
| |
| Tällöin dd:n käyttö vaikuttaa tyhmältä, mutta jos välissä on vaikkapa [[ssh]]-yhteys, dd:stä saattaa olla enemmän hyötyä:
| |
| fortune | ssh kayttaja@kone 'dd | less'
| |
|
| |
|
| ===[[levykuva|Levykuvien]] luominen=== | | ===[[levykuva|levykuvien]] luonti=== |
| Tehdään sisälläolevasta levykkeestä (laitetiedosto <tt>/dev/fd0</tt>) [[levykuva]] (image) tiedostoon <tt>korppu.img</tt>. Vastaavasti voi luoda myös iso-imagen optisesta levystä.
| |
| dd if=/dev/fd0 of=korppu.img | | dd if=/dev/fd0 of=korppu.img |
| | Tekee sisälläolevasta levykkeestä (laitetiedosto /dev/fd0) [[levykuva]]n (imagen) tiedostoon korppu.img |
|
| |
|
| Luodaan tyhjä tiedosto, jota voi käyttää levykuvana. Levykuvan koko annetaan tässä [http://fi.wikipedia.org/wiki/Tavu_(tietotekniikka)#Tavun_monikerrat kibitavuina].
| |
| dd if=/dev/zero of=/polku/<[[levykuva|levykuvan]] nimi> count=<koko> bs=1024 | | dd if=/dev/zero of=/polku/<[[levykuva|levykuvan]] nimi> count=<koko> bs=1024 |
| | Luo tyhjän tiedoston, jota voi käyttää levykuvana, levykuvan koko kibitavuina. |
|
| |
|
| ===Naarmuisen DVD:n tai CD:n kopioiminen=== | | ===yleistä=== |
| Vaikka levy olisi vaurioitunut sen verran että esimerkiksi [[cp]] antaa virheilmoituksen levyltä kopioidessa, dd:llä voi onnistua pelastamaan ainakin joitain tiedostoja. Tiedoston tyypistä riippu paljon se, voiko sitä käyttää, jos siitä puuttuu pala tai palasia.
| |
|
| |
|
| Tiedostojen pelastamista voi kokeilla seuraavasti: Aloitetaan kopiointi dd:llä ja katsotaan, kuinka pitkälle se pääsee:
| | Dd:tä voi käyttä myös putkissa, if- ja of-parametrit eivät ole pakollisia: |
| dd if=/media/DVD/tiedosto of=tiedosto
| | fortune | dd | less |
| | | toimii tarkalleen samoin kuin |
| dd: luettaessa tiedostoa "/media/DVD/tiedosto": I/O-virhe | | fortune | less |
| 608+0 tietuetta sisään
| | Tällöin dd:n käyttö vaikuttaa tyhmältä, mutta jos välissä on vaikkapa [[ssh]]-yhteys, dd:stä saattaa olla enemmän hyötyä: |
| 608+0 tietuetta ulos
| | fortune | ssh kayttaja@kone 'dd | less' |
| 311296 tavua (311 kB) kopioitu 6,06266 sekunnissa, 51,3 kB/s
| |
| | |
| Jatketaan kopiointia toiseen tiedostoon virhekohdan toiselta puolelta. Kun etsit ehjää aloituskohtaa (parametri <tt>skip</tt>), kasvata sen arvoa niin vähän kerrallaan, kuin viitsit. Arvo ei kuitenkaan saa olla pienempi kuin datasolu, äänitiedostossa 2 x 16 bittiä = 4 tavua.
| |
| dd if=/media/DVD/tiedosto of=tiedosto2 bs=4 skip=411296 | |
| | |
| Jatka samalla tavalla, jos virheitä on enemmänkin.
| |
| | |
| Lopuksi voit yhdistää palaset komennolla
| |
| [[cat]] tiedosto tiedosto2 tiedosto3 > lopullinen
| |
| | |
| dd voi tehdä vastaavan itse kerralla valitsimella conv=noerror, joka pyytää ohjelman jatkamaan virheistä huolimatta. | |
| dd if=/media/DVD/tiedosto of=tiedosto2 bs=4
| |
| | |
| Esimerkiksi videot, äänitiedostot ja kuvat sietävät melko hyvin tällä tavalla tehtävää palautusta varsinkin, jos virheitä ei ole ihan tiedoston alussa. Jos joku mediasoitin ei osaa katkokohtaa näyttää, avaa tiedosto johonkin [[:Luokka:Videoeditointiohjelmat|videoeditoriin]] ja tallenna video uudelleen. Videon luominen voi kestää jonkin aikaa, mutta ulostulevassa videossa ei pitäisi olla enää virheitä.
| |
| | |
| Jos virheellistä osaa tiedostosta ei pidä poistaa, vaan se pitää korvata nollilla (kuten monessa tiedostotyypissä, vastaavan voi tehdä käyttämällä sync-valitsinta (tässä bs=512, oletetaan että sektori on joko ehjä tai rikki kokonaisuudessaan):
| |
| dd if=/media/mikälie/tiedosto conv=noerror,sync bs=512 of=lopullinen
| |
| | |
| Vaurioituneen CD:n tai DVD:n kopioimiseen on myös erikoistunut ohjelma [[cdparanoia]], joka dd:stä poiketen yrittää rikkinäisen sektorin lukemista monta kertaa. Myös jotkut muut kopiointiohjelmat sisältävät saman toiminnon.
| |
| | |
| == Katso myös ==
| |
| * [[ddrescue]]
| |
| * [[Palautustyökalut]]
| |
| | |
| == Aiheesta muualla ==
| |
| * [https://www.vidarholen.net/contents/blog/?p=479 Useless of dd] - dd:n tarpeettomasta käytöstä
| |
| * [https://eklitzke.org/the-cult-of-dd Cult of DD] - Lisää dd:n tarpeettomasta käytöstä
| |
| | |
| [[Luokka:Coreutils]]
| |
| [[Luokka:Komentorivin perustyökalut]]
| |
|
| |
|
| [[de:dd]] | | [[Luokka:Coreutils]][[Luokka:Komentorivin perustyökalut]] |