Ero sivun ”Dd” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
ei muokkausyhteenvetoa
p (Botti vaihtoi luokan Luokka:Coreutils) |
pEi muokkausyhteenvetoa |
||
(27 välissä olevaa versiota 12 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
dd on työkalu eri tiedostojen matalan tason kopiointiin ja muuntamiseen toiseen muotoon. Toisin kuin [[cp]], joka kopioi kokonaisia tiedostoja, kopioi dd | {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | ||
'''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 | |||
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 | |||
{{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=== | |||
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 | ||
dd if=/ | 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 | |||
===Naarmuisen DVD:n tai CD:n kopioiminen=== | |||
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 if=/media/DVD/tiedosto of=tiedosto | |||
dd: luettaessa tiedostoa "/media/DVD/tiedosto": I/O-virhe | |||
608+0 tietuetta sisään | |||
608+0 tietuetta ulos | |||
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]] |