Dd
Teema võttis: Peep Binsol, AK31
Teema on pooleli.
Sissejuhatus
DD - disk duplicate Kasutatakse madala taseme kopeerimiseks, ei kopeeri faile, vaid konkreetseid baite. DD ei hooli ka sellest, millised partitsioonid on kettal. Sellega saab kopeerida mistahes partitsioonide ja failisüsteemidega kettaid.
Mingi jutt sissejuhatuseks
DD kasutamiseks pead olema root õigustega.
Süntaks
veidi teistmoodi if input file of output file
bs - byte size (default 512) -> üldiselt kasutatakse kahe astmeid aga ei pea. suurema numbriga käivad asjad kiiremini?
hoiatus äravahetamise kohta
conv=noerror - võrdusmärgi ümber ei tohi tühikuid olla
Lihtne kopeerimine
Operatsioonid HDD'ga
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.
dd if=/dev/sda of=/dev/sdb conv=noerror
if on ketas mida kopeeritakse.
of on ketas kuhu kopeeritakse.
Noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.
Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta partitsioonid saab peale kasutusele võtmist parted või gparted programmiga suuremaks venitada. Kui sihtketas on väiksem kui lähteketas, siis jääb ketta lõpus olev info lihtsalt kirjutamata ja saadud koopia ei ole kasutatav.
DD võimaldab ketta kopeerimist ka nn. image failiks. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.
dd if=/dev/sda of=/home/user/varukoopia.img
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur ja mõistlik oleks see kohe alguses gzip'i sisendisse suunata.
dd if=/dev/sda | gzip > /home/user/varukoopia.img.gz
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.
CD/DVD
cd (mountimise näide)
Floppy
floppy hdd -> gzip,partitsioon mbr
Backup ja restore
suuruste probleem
üle võrgu: ssh & netcat
Kõvaketta puhastamine
Nullidega ülekirjutamine
Mõnikord võib tekkida vajadus andmekandja puhastamiseks kogu eelnevalt talletatud infost. Näiteks arvuti või kõvaketta müümisel, peale kasutusest mahavõttu vms. Selleks on võimalik dd-käsku kasutades ketas nullidega üle kirjutada ja muuta kogu kõvakettal olnud info mittetaastatavaks. Paranoilised isikud võivad seda isegi mitu korda teha :-)
dd if=/dev/zero of=/dev/sda
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas.
dd if=/dev/sda | hexdump -C | head
Vaba ruumi puhastamine
Teine variant on see, et kogu vaba ruum suvaliste andmetega üle kirjutada. Kogu senine info jääb kettale alles. Vaba ruum kirjutatakse suvaliste andmetega üle, nii et kettalt juba kustutatud asjad pole enam kättesaadavad.
dd if=/dev/urandom of=/home/user/suurfail.tmp
Selle käsuga hakatakse genereerima suvalistest andmetest faili ja see protsess kestab niikaua kuni kettal veel vaba ruumi on. Vaba ruumi lõppemisel protsess katkestatakse. Peale seda tuleb kindlasti see fail ära kustutada, et kettale taas ruumi tekiks.
rm /home/user/suurfail.tmp
hdd analüüs/testimine
kiirused noorendamine hexdump
märkused
DD ei näita enne töö lõpetamist ekraanil mingit väljundit asjad võtavad palju aega