<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pbinsol</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pbinsol"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Pbinsol"/>
	<updated>2026-05-09T13:40:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=30421</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=30421"/>
		<updated>2011-05-06T13:55:05Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autorid: Peep Binsol (AK31), Rene Vahtel (DK31)&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku.  Pole mingit vajadust pakkuda avalikku teenust kõigile.  See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. [http://www.youtube.com/watch?v=1d1tUefYn4U&amp;amp;feature=related] [http://www.youtube.com/watch?v=UtEPfAgp2Xg&amp;amp;feature=related] Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. [http://www.youtube.com/watch?v=1d1tUefYn4U&amp;amp;feature=related] Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
=Bind9 konfigureerimine=&lt;br /&gt;
&lt;br /&gt;
Näide kuidas ACL&#039;i kasutades vältida nimeserveri muutumist open resolveriks.&lt;br /&gt;
named.conf.options näitefail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
acl me {192.168.7.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                8.8.8.8;&lt;br /&gt;
                8.8.4.4;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* acl - access control list, nimekiri võrkudest või ip aadressidest&lt;br /&gt;
* allow-recursion - kas päringud on lubatud &amp;quot;forwarders&amp;quot; nimeserveritesse&lt;br /&gt;
* allow-query - kas päringud on lubatud&lt;br /&gt;
* allow-transafer - kas tsooni transfer on lubatud&lt;br /&gt;
&lt;br /&gt;
=Open resolver test=&lt;br /&gt;
&lt;br /&gt;
* Käsurealt küsimine kasutades dig programmi:&lt;br /&gt;
Kontrollime nimeserverit 193.40.254.227&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dig +short 227.254.40.193.dnsbl.openresolvers.org&lt;br /&gt;
127.0.0.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Juhul kui vastus on 127.0.0.2 siis on tegu openresolveriga.&lt;br /&gt;
&lt;br /&gt;
Teine variant (kontrollitakse masinas kasutatavad nimeserverit):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dig +short amiopen.openresolvers.org TXT&lt;br /&gt;
&amp;quot;Your resolver at 193.40.56.245 is CLOSED&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Veebipõhine liides: http://dns.measurement-factory.com/cgi-bin/openresolvercheck.pl&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
* Ubuntu Bind9 konfigureerimine [https://help.ubuntu.com/community/BIND9ServerHowto]&lt;br /&gt;
* konfinäide: [http://jazzymarketing.com/main/0904/open-resolver-securing-bind-server]&lt;br /&gt;
* Openresolver [http://dns.measurement-factory.com/surveys/openresolvers.html]&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=30420</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=30420"/>
		<updated>2011-05-06T13:52:28Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku.  Pole mingit vajadust pakkuda avalikku teenust kõigile.  See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. [http://www.youtube.com/watch?v=1d1tUefYn4U&amp;amp;feature=related] [http://www.youtube.com/watch?v=UtEPfAgp2Xg&amp;amp;feature=related] Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. [http://www.youtube.com/watch?v=1d1tUefYn4U&amp;amp;feature=related] Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
=Bind9 konfigureerimine=&lt;br /&gt;
&lt;br /&gt;
Näide kuidas ACL&#039;i kasutades vältida nimeserveri muutumist open resolveriks.&lt;br /&gt;
named.conf.options näitefail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
acl me {192.168.7.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                8.8.8.8;&lt;br /&gt;
                8.8.4.4;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* acl - access control list, nimekiri võrkudest või ip aadressidest&lt;br /&gt;
* allow-recursion - kas päringud on lubatud &amp;quot;forwarders&amp;quot; nimeserveritesse&lt;br /&gt;
* allow-query - kas päringud on lubatud&lt;br /&gt;
* allow-transafer - kas tsooni transfer on lubatud&lt;br /&gt;
&lt;br /&gt;
=Open resolver test=&lt;br /&gt;
&lt;br /&gt;
* Käsurealt küsimine kasutades dig programmi:&lt;br /&gt;
Kontrollime nimeserverit 193.40.254.227&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dig +short 227.254.40.193.dnsbl.openresolvers.org&lt;br /&gt;
127.0.0.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Juhul kui vastus on 127.0.0.2 siis on tegu openresolveriga.&lt;br /&gt;
&lt;br /&gt;
Teine variant (kontrollitakse masinas kasutatavad nimeserverit):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dig +short amiopen.openresolvers.org TXT&lt;br /&gt;
&amp;quot;Your resolver at 193.40.56.245 is CLOSED&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Veebipõhine liides: http://dns.measurement-factory.com/cgi-bin/openresolvercheck.pl&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
* Ubuntu Bind9 konfigureerimine [https://help.ubuntu.com/community/BIND9ServerHowto]&lt;br /&gt;
* konfinäide: [http://jazzymarketing.com/main/0904/open-resolver-securing-bind-server]&lt;br /&gt;
* Openresolver [http://dns.measurement-factory.com/surveys/openresolvers.html]&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=30137</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=30137"/>
		<updated>2011-05-04T10:38:43Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Bind9 konfigureerimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku.  Pole mingit vajadust pakkuda avalikku teenust kõigile.  See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
=Bind9 konfigureerimine=&lt;br /&gt;
&lt;br /&gt;
Näide kuidas ACL&#039;i kasutades vältida nimeserveri muutumist open resolveriks.&lt;br /&gt;
named.conf.options näitefail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
acl me {192.168.7.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                8.8.8.8;&lt;br /&gt;
                8.8.4.4;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* acl - access control list, nimekiri võrkudest või ip aadressidest&lt;br /&gt;
* allow-recursion - kas päringud on lubatud &amp;quot;forwarders&amp;quot; nimeserveritesse&lt;br /&gt;
* allow-query - kas päringud on lubatud&lt;br /&gt;
* allow-transafer - kas tsooni transfer on lubatud&lt;br /&gt;
&lt;br /&gt;
=Open resolver test=&lt;br /&gt;
&lt;br /&gt;
* Käsurealt küsimine kasutades dig programmi:&lt;br /&gt;
Kontrollime nimeserverit 193.40.254.227&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dig +short 227.254.40.193.dnsbl.openresolvers.org&lt;br /&gt;
127.0.0.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Juhul kui vastus on 127.0.0.2 siis on tegu openresolveriga.&lt;br /&gt;
&lt;br /&gt;
Teine variant (kontrollitakse masinas kasutatavad nimeserverit):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dig +short amiopen.openresolvers.org TXT&lt;br /&gt;
&amp;quot;Your resolver at 193.40.56.245 is CLOSED&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Veebipõhine liides: http://dns.measurement-factory.com/cgi-bin/openresolvercheck.pl&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
* Ubuntu Bind9 konfigureerimine [https://help.ubuntu.com/community/BIND9ServerHowto]&lt;br /&gt;
* konfinäide: [http://jazzymarketing.com/main/0904/open-resolver-securing-bind-server]&lt;br /&gt;
* Openresolver [http://dns.measurement-factory.com/surveys/openresolvers.html]&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=30136</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=30136"/>
		<updated>2011-05-04T10:36:53Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku.  Pole mingit vajadust pakkuda avalikku teenust kõigile.  See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
=Bind9 konfigureerimine=&lt;br /&gt;
&lt;br /&gt;
named.conf.options näitefail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
acl me {192.168.7.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                8.8.8.8;&lt;br /&gt;
                8.8.4.4;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* acl - access control list, nimekiri võrkudest või ip aadressidest&lt;br /&gt;
* allow-recursion - kas päringud on lubatud &amp;quot;forwarders&amp;quot; nimeserveritesse&lt;br /&gt;
* allow-query - kas päringud on lubatud&lt;br /&gt;
* allow-transafer - kas tsooni transfer on lubatud&lt;br /&gt;
&lt;br /&gt;
=Open resolver test=&lt;br /&gt;
&lt;br /&gt;
* Käsurealt küsimine kasutades dig programmi:&lt;br /&gt;
Kontrollime nimeserverit 193.40.254.227&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dig +short 227.254.40.193.dnsbl.openresolvers.org&lt;br /&gt;
127.0.0.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Juhul kui vastus on 127.0.0.2 siis on tegu openresolveriga.&lt;br /&gt;
&lt;br /&gt;
Teine variant (kontrollitakse masinas kasutatavad nimeserverit):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dig +short amiopen.openresolvers.org TXT&lt;br /&gt;
&amp;quot;Your resolver at 193.40.56.245 is CLOSED&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Veebipõhine liides: http://dns.measurement-factory.com/cgi-bin/openresolvercheck.pl&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
* Ubuntu Bind9 konfigureerimine [https://help.ubuntu.com/community/BIND9ServerHowto]&lt;br /&gt;
* konfinäide: [http://jazzymarketing.com/main/0904/open-resolver-securing-bind-server]&lt;br /&gt;
* Openresolver [http://dns.measurement-factory.com/surveys/openresolvers.html]&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23622</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23622"/>
		<updated>2011-03-12T17:04:33Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Lingid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
=Lingid=&lt;br /&gt;
&lt;br /&gt;
konfinäide: [http://jazzymarketing.com/main/0904/open-resolver-securing-bind-server]&lt;br /&gt;
&lt;br /&gt;
=Bind9 konfigureerimine=&lt;br /&gt;
=Open resolver test=&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23621</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23621"/>
		<updated>2011-03-12T17:03:59Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
=Lingid=&lt;br /&gt;
=Bind9 konfigureerimine=&lt;br /&gt;
=Open resolver test=&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23620</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23620"/>
		<updated>2011-03-12T17:02:59Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
=Lingid=&lt;br /&gt;
=Bind9 konfigureerimine=&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23619</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23619"/>
		<updated>2011-03-12T17:02:35Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
=Lingid=&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23618</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23618"/>
		<updated>2011-03-12T17:01:16Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23617</id>
		<title>Open resolver</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Open_resolver&amp;diff=23617"/>
		<updated>2011-03-12T17:00:10Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: Created page with &amp;#039;Teema võetud - Peep Binsol, Rene Vahtel&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teema võetud - Peep Binsol, Rene Vahtel&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22486</id>
		<title>Talk:Sort</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22486"/>
		<updated>2011-01-09T08:37:22Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Peep Binsol&lt;br /&gt;
&lt;br /&gt;
--[[User:Pbinsol|Pbinsol]] 09:39, 9 January 2011 (EET)&lt;br /&gt;
&lt;br /&gt;
Artikli struktuur vajaks veidi kohendamist. Näidis/näited peatükid on kahes kohas.&lt;br /&gt;
&lt;br /&gt;
* Sissejuhatus&lt;br /&gt;
Sissejuhatuses tasuks mainimist, et tekstifaili sort käsuga sorteerides tegelikult faili ei muudeta,&lt;br /&gt;
vaid järjestus kuvatakse lihtsalt vastavalt parameetritele.&lt;br /&gt;
&amp;quot;väljad on sõnad&amp;quot; fraasi sisaldav lause kõlab kummaliselt. Jupita see lühemateks ja loogilisemateks osadeks.&lt;br /&gt;
&lt;br /&gt;
* Süntaks&lt;br /&gt;
Isiklikult eelistaks, kui artiklis oleks välja toodud vaid olulisemad võtmed ja artikkel oleks&lt;br /&gt;
selle võrra selgem ja ülevaatlikum. Praegu on kolm võtmete kategooriat: võtmed, põhilised võtmed ja muud võtmed.&lt;br /&gt;
&lt;br /&gt;
* Näited&lt;br /&gt;
Esimene näide on hea.&lt;br /&gt;
Teises näites tahaks näha stringi numbrilise väärtuse lahtiseletamist. -n on käsurea kohalt puudu.&lt;br /&gt;
Lisaks võiks olla sisendfail -&amp;gt; sorteerimine -&amp;gt; sorteeritud fail näide (sort -r +2 -3 andmed.txt &amp;gt; sorteeritud.andmed.txt).&lt;br /&gt;
&lt;br /&gt;
Üldse võiks olla rohkem näiteid, mis näitaksid sort&#039;i erinevaid kasutusvõimalusi.&lt;br /&gt;
&lt;br /&gt;
Artikkli lõpus võiks pisike kokkuvõte olla. Kiirustamine paistab välja.&lt;br /&gt;
Hetke seisuga hindaks 7 punktile.&lt;br /&gt;
&lt;br /&gt;
--[[User:Mvaling|Marko Valing, AK31(2010)]] 10:22, 9 January 2011 (EET)&lt;br /&gt;
Muutsin artikli struktuuri, näited tõstetud lõppu.&lt;br /&gt;
Sissejuhatus parandatud, muudetud osad laused punktideks.&lt;br /&gt;
Süntaksi osas eemaldatud alapealkiri Võtmed, mis minu arvates muudab arusaadavamaks võtmete osa.&lt;br /&gt;
Näiteid lisatud juurde ning lisatud neile rohkem funktsioone, parandatud näite struktuur. Samuti lisatud retsensendi poolt soovitatud väljundi faili suunamine.&lt;br /&gt;
Lisaks muudetud üleüldist väljanägemist, lisatud paar reavahet, et oleks paremini arusaadav.&lt;br /&gt;
&lt;br /&gt;
Lisatud ka kokkuvõte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Pbinsol|Pbinsol]] 10:37, 9 January 2011 (EET)&lt;br /&gt;
&lt;br /&gt;
Nüüd on artikkel hulka selgem ja ülevaatlikum. Minu toodud puudused on kõrvaldatud ja näiteid lisatud.&lt;br /&gt;
Hindan 10 punktile.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22455</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22455"/>
		<updated>2011-01-09T07:50:44Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda5 of=/dev/sdb5 bs=4096 conv=noerror,notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla kettajao kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtkettajagu ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Varundamine ja taastamine =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin sulgeda, haakida külge olemasoleva kettaga analoogne ketas, käivitada masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks kasutusest maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle [https://wiki.itcollege.ee/index.php/Ssh ssh] või [http://en.wikipedia.org/wiki/Netcat netcat]&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta &#039;&#039;&#039;master boot record&#039;&#039;&#039; ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Varukoopiast taastamine käib täpselt samamoodi nagu varukoopia tegemine, ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti käivitada live CD pealt. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Täiendavat lugemist===&lt;br /&gt;
&lt;br /&gt;
http://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/&lt;br /&gt;
&lt;br /&gt;
http://www.forensicfocus.com/linux-dd-basics&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Dd_(Unix)&lt;br /&gt;
&lt;br /&gt;
http://linuxmanpages.com/man1/dd.1.php&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik multifunktsionaalne taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22450</id>
		<title>Talk:Sort</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22450"/>
		<updated>2011-01-09T07:39:32Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Peep Binsol&lt;br /&gt;
&lt;br /&gt;
--[[User:Pbinsol|Pbinsol]] 09:39, 9 January 2011 (EET)&lt;br /&gt;
&lt;br /&gt;
Artikli struktuur vajaks veidi kohendamist. Näidis/näited peatükid on kahes kohas.&lt;br /&gt;
&lt;br /&gt;
* Sissejuhatus&lt;br /&gt;
Sissejuhatuses tasuks mainimist, et tekstifaili sort käsuga sorteerides tegelikult faili ei muudeta,&lt;br /&gt;
vaid järjestus kuvatakse lihtsalt vastavalt parameetritele.&lt;br /&gt;
&amp;quot;väljad on sõnad&amp;quot; fraasi sisaldav lause kõlab kummaliselt. Jupita see lühemateks ja loogilisemateks osadeks.&lt;br /&gt;
&lt;br /&gt;
* Süntaks&lt;br /&gt;
Isiklikult eelistaks, kui artiklis oleks välja toodud vaid olulisemad võtmed ja artikkel oleks&lt;br /&gt;
selle võrra selgem ja ülevaatlikum. Praegu on kolm võtmete kategooriat: võtmed, põhilised võtmed ja muud võtmed.&lt;br /&gt;
&lt;br /&gt;
* Näited&lt;br /&gt;
Esimene näide on hea.&lt;br /&gt;
Teises näites tahaks näha stringi numbrilise väärtuse lahtiseletamist. -n on käsurea kohalt puudu.&lt;br /&gt;
Lisaks võiks olla sisendfail -&amp;gt; sorteerimine -&amp;gt; sorteeritud fail näide (sort -r +2 -3 andmed.txt &amp;gt; sorteeritud.andmed.txt).&lt;br /&gt;
&lt;br /&gt;
Üldse võiks olla rohkem näiteid, mis näitaksid sort&#039;i erinevaid kasutusvõimalusi.&lt;br /&gt;
&lt;br /&gt;
Artikkli lõpus võiks pisike kokkuvõte olla. Kiirustamine paistab välja.&lt;br /&gt;
Hetke seisuga hindaks 7 punktile.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Dd&amp;diff=22449</id>
		<title>Talk:Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Dd&amp;diff=22449"/>
		<updated>2011-01-09T07:39:08Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Marko Valing&lt;br /&gt;
Artikkel on väga eeskujulikult koostatud, suhteliselt lihtsalt loetav ning üheselt arusaadav.&lt;br /&gt;
Väljatoodud näited on head ja arusaadavad. Võiks olla ainult eestikeelsed väljendid, näiteks &amp;quot;Backup ja restore&amp;quot;, peatükis on ju ülejäänud tekst eesti keelne.&lt;br /&gt;
Võiks täpsustada kuhu käivad võtmed bs, count, skip, conv=noerror/notrunc.&lt;br /&gt;
Keele kasutus, mida parandada:&lt;br /&gt;
*siis panen siia&lt;br /&gt;
*maha lasta&lt;br /&gt;
*buutida/bootida&lt;br /&gt;
&lt;br /&gt;
Täiendavate võimaluste juurde võiks lisata võimalustele lingid, kus oleks võimalik selle kohta lugeda.&lt;br /&gt;
&lt;br /&gt;
Hinnang:&lt;br /&gt;
Autor on olnud referaadi koostamisel väga põhjalik.&lt;br /&gt;
8/10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Pbinsol|Pbinsol]] 09:38, 9 January 2011 (EET)&lt;br /&gt;
&lt;br /&gt;
Tänan.&lt;br /&gt;
&lt;br /&gt;
Puudujäägid olid täpselt need, mida ma isegi arvasin.&lt;br /&gt;
Segakeelsed väljendid vahetasin võimalikult palju eestikeelsete vastu.&lt;br /&gt;
Täiendavate võimaluste peatükki lisasin lingid, mis olid mul artikli kirjutamisel kõige rohkem abiks. Esimese lingi alt leiab väga palju kõikvõimalikke näiteid.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Dd&amp;diff=22448</id>
		<title>Talk:Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Dd&amp;diff=22448"/>
		<updated>2011-01-09T07:38:50Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Marko Valing&lt;br /&gt;
Artikkel on väga eeskujulikult koostatud, suhteliselt lihtsalt loetav ning üheselt arusaadav.&lt;br /&gt;
Väljatoodud näited on head ja arusaadavad. Võiks olla ainult eestikeelsed väljendid, näiteks &amp;quot;Backup ja restore&amp;quot;, peatükis on ju ülejäänud tekst eesti keelne.&lt;br /&gt;
Võiks täpsustada kuhu käivad võtmed bs, count, skip, conv=noerror/notrunc.&lt;br /&gt;
Keele kasutus, mida parandada:&lt;br /&gt;
*siis panen siia&lt;br /&gt;
*maha lasta&lt;br /&gt;
*buutida/bootida&lt;br /&gt;
&lt;br /&gt;
Täiendavate võimaluste juurde võiks lisata võimalustele lingid, kus oleks võimalik selle kohta lugeda.&lt;br /&gt;
&lt;br /&gt;
Hinnang:&lt;br /&gt;
Autor on olnud referaadi koostamisel väga põhjalik.&lt;br /&gt;
8/10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Pbinsol|Pbinsol]] 09:38, 9 January 2011 (EET)&lt;br /&gt;
Tänan.&lt;br /&gt;
&lt;br /&gt;
Puudujäägid olid täpselt need, mida ma isegi arvasin.&lt;br /&gt;
Segakeelsed väljendid vahetasin võimalikult palju eestikeelsete vastu.&lt;br /&gt;
Täiendavate võimaluste peatükki lisasin lingid, mis olid mul artikli kirjutamisel kõige rohkem abiks. Esimese lingi alt leiab väga palju kõikvõimalikke näiteid.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Dd&amp;diff=22447</id>
		<title>Talk:Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Dd&amp;diff=22447"/>
		<updated>2011-01-09T07:38:04Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Marko Valing&lt;br /&gt;
Artikkel on väga eeskujulikult koostatud, suhteliselt lihtsalt loetav ning üheselt arusaadav.&lt;br /&gt;
Väljatoodud näited on head ja arusaadavad. Võiks olla ainult eestikeelsed väljendid, näiteks &amp;quot;Backup ja restore&amp;quot;, peatükis on ju ülejäänud tekst eesti keelne.&lt;br /&gt;
Võiks täpsustada kuhu käivad võtmed bs, count, skip, conv=noerror/notrunc.&lt;br /&gt;
Keele kasutus, mida parandada:&lt;br /&gt;
*siis panen siia&lt;br /&gt;
*maha lasta&lt;br /&gt;
*buutida/bootida&lt;br /&gt;
&lt;br /&gt;
Täiendavate võimaluste juurde võiks lisata võimalustele lingid, kus oleks võimalik selle kohta lugeda.&lt;br /&gt;
&lt;br /&gt;
Hinnang:&lt;br /&gt;
Autor on olnud referaadi koostamisel väga põhjalik.&lt;br /&gt;
8/10&lt;br /&gt;
&lt;br /&gt;
Tänan.&lt;br /&gt;
&lt;br /&gt;
Puudujäägid olid täpselt need, mida ma isegi arvasin.&lt;br /&gt;
Segakeelsed väljendid vahetasin võimalikult palju eestikeelsete vastu.&lt;br /&gt;
Täiendavate võimaluste peatükki lisasin lingid, mis olid mul artikli kirjutamisel kõige rohkem abiks. Esimese lingi alt leiab väga palju kõikvõimalikke näiteid.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22446</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22446"/>
		<updated>2011-01-09T07:35:28Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Operatsioonid kõvakettaga */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla kettajao kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtkettajagu ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Varundamine ja taastamine =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin sulgeda, haakida külge olemasoleva kettaga analoogne ketas, käivitada masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks kasutusest maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle [https://wiki.itcollege.ee/index.php/Ssh ssh] või [http://en.wikipedia.org/wiki/Netcat netcat]&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta &#039;&#039;&#039;master boot record&#039;&#039;&#039; ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Varukoopiast taastamine käib täpselt samamoodi nagu varukoopia tegemine, ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti käivitada live CD pealt. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Täiendavat lugemist===&lt;br /&gt;
&lt;br /&gt;
http://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/&lt;br /&gt;
&lt;br /&gt;
http://www.forensicfocus.com/linux-dd-basics&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Dd_(Unix)&lt;br /&gt;
&lt;br /&gt;
http://linuxmanpages.com/man1/dd.1.php&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik multifunktsionaalne taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22445</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22445"/>
		<updated>2011-01-09T07:34:11Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Märkused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Varundamine ja taastamine =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin sulgeda, haakida külge olemasoleva kettaga analoogne ketas, käivitada masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks kasutusest maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle [https://wiki.itcollege.ee/index.php/Ssh ssh] või [http://en.wikipedia.org/wiki/Netcat netcat]&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta &#039;&#039;&#039;master boot record&#039;&#039;&#039; ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Varukoopiast taastamine käib täpselt samamoodi nagu varukoopia tegemine, ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti käivitada live CD pealt. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Täiendavat lugemist===&lt;br /&gt;
&lt;br /&gt;
http://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/&lt;br /&gt;
&lt;br /&gt;
http://www.forensicfocus.com/linux-dd-basics&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Dd_(Unix)&lt;br /&gt;
&lt;br /&gt;
http://linuxmanpages.com/man1/dd.1.php&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik multifunktsionaalne taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22444</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22444"/>
		<updated>2011-01-09T07:33:44Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Täiendavad võimalused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Varundamine ja taastamine =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin sulgeda, haakida külge olemasoleva kettaga analoogne ketas, käivitada masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks kasutusest maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle [https://wiki.itcollege.ee/index.php/Ssh ssh] või [http://en.wikipedia.org/wiki/Netcat netcat]&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta &#039;&#039;&#039;master boot record&#039;&#039;&#039; ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Varukoopiast taastamine käib täpselt samamoodi nagu varukoopia tegemine, ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti käivitada live CD pealt. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Täiendavat lugemist===&lt;br /&gt;
&lt;br /&gt;
http://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/&lt;br /&gt;
&lt;br /&gt;
http://www.forensicfocus.com/linux-dd-basics&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Dd_(Unix)&lt;br /&gt;
&lt;br /&gt;
http://linuxmanpages.com/man1/dd.1.php&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22443</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22443"/>
		<updated>2011-01-09T07:32:11Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Nullidega ülekirjutamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Varundamine ja taastamine =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin sulgeda, haakida külge olemasoleva kettaga analoogne ketas, käivitada masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks kasutusest maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle [https://wiki.itcollege.ee/index.php/Ssh ssh] või [http://en.wikipedia.org/wiki/Netcat netcat]&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta &#039;&#039;&#039;master boot record&#039;&#039;&#039; ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Varukoopiast taastamine käib täpselt samamoodi nagu varukoopia tegemine, ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti käivitada live CD pealt. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22442</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22442"/>
		<updated>2011-01-09T07:31:04Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Varundamine ja taastamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Varundamine ja taastamine =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin sulgeda, haakida külge olemasoleva kettaga analoogne ketas, käivitada masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks kasutusest maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle [https://wiki.itcollege.ee/index.php/Ssh ssh] või [http://en.wikipedia.org/wiki/Netcat netcat]&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta &#039;&#039;&#039;master boot record&#039;&#039;&#039; ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Varukoopiast taastamine käib täpselt samamoodi nagu varukoopia tegemine, ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22441</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22441"/>
		<updated>2011-01-09T07:30:27Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Backup ja restore */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Varundamine ja taastamine =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin sulgeda, haakida külge olemasoleva kettaga analoogne ketas, käivitada masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks kasutusest maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle [https://wiki.itcollege.ee/index.php/Ssh ssh] või [http://en.wikipedia.org/wiki/Netcat netcat]&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta &#039;&#039;&#039;master boot record&#039;&#039;&#039; ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Varukoopiast taastamine käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22438</id>
		<title>Talk:Sort</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22438"/>
		<updated>2011-01-09T06:06:00Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Peep Binsol&lt;br /&gt;
&lt;br /&gt;
Artikli struktuur vajaks veidi kohendamist. Näidis/näited peatükid on kahes kohas.&lt;br /&gt;
&lt;br /&gt;
* Sissejuhatus&lt;br /&gt;
Sissejuhatuses tasuks mainimist, et tekstifaili sort käsuga sorteerides tegelikult faili ei muudeta,&lt;br /&gt;
vaid järjestus kuvatakse lihtsalt vastavalt parameetritele.&lt;br /&gt;
&amp;quot;väljad on sõnad&amp;quot; fraasi sisaldav lause kõlab kummaliselt. Jupita see lühemateks ja loogilisemateks osadeks.&lt;br /&gt;
&lt;br /&gt;
* Süntaks&lt;br /&gt;
Isiklikult eelistaks, kui artiklis oleks välja toodud vaid olulisemad võtmed ja artikkel oleks&lt;br /&gt;
selle võrra selgem ja ülevaatlikum. Praegu on kolm võtmete kategooriat: võtmed, põhilised võtmed ja muud võtmed.&lt;br /&gt;
&lt;br /&gt;
* Näited&lt;br /&gt;
Esimene näide on hea.&lt;br /&gt;
Teises näites tahaks näha stringi numbrilise väärtuse lahtiseletamist. -n on käsurea kohalt puudu.&lt;br /&gt;
Lisaks võiks olla sisendfail -&amp;gt; sorteerimine -&amp;gt; sorteeritud fail näide (sort -r +2 -3 andmed.txt &amp;gt; sorteeritud.andmed.txt).&lt;br /&gt;
&lt;br /&gt;
Üldse võiks olla rohkem näiteid, mis näitaksid sort&#039;i erinevaid kasutusvõimalusi.&lt;br /&gt;
&lt;br /&gt;
Artikkli lõpus võiks pisike kokkuvõte olla. Kiirustamine paistab välja.&lt;br /&gt;
Hetke seisuga hindaks 7 punktile.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22431</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22431"/>
		<updated>2011-01-08T20:49:12Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Backup ja restore */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle [https://wiki.itcollege.ee/index.php/Ssh ssh] või [http://en.wikipedia.org/wiki/Netcat netcat]&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22430</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22430"/>
		<updated>2011-01-08T20:47:29Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod saab peale kasutusele võtmist [http://en.wikipedia.org/wiki/GNU_Parted parted] või [http://en.wikipedia.org/wiki/GParted 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22429</id>
		<title>Talk:Sort</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22429"/>
		<updated>2011-01-08T20:38:50Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Peep Binsol&lt;br /&gt;
&lt;br /&gt;
Artikli struktuur vajaks veidi kohendamist. Näidis/näited peatükid on kahes kohas.&lt;br /&gt;
&lt;br /&gt;
* Sissejuhatus&lt;br /&gt;
Sissejuhatuses tasuks mainimist, et tekstifaili sort käsuga sorteerides tegelikult faili ei muudeta,&lt;br /&gt;
vaid järjestus kuvatakse lihtsalt vastavalt parameetritele.&lt;br /&gt;
&amp;quot;väljad on sõnad&amp;quot; fraasi sisaldav lause kõlab kummaliselt. Jupita see lühemateks ja loogilisemateks osadeks.&lt;br /&gt;
&lt;br /&gt;
* Süntaks&lt;br /&gt;
Isiklikult eelistaks, kui artiklis oleks välja toodud vaid olulisemad võtmed ja artikkel oleks&lt;br /&gt;
selle võrra selgem ja ülevaatlikum. Praegu on kolm võtmete kategooriat: võtmed, põhilised võtmed ja muud võtmed.&lt;br /&gt;
&lt;br /&gt;
* Näited&lt;br /&gt;
Esimene näide on hea.&lt;br /&gt;
Teises näites tahaks näha stringi numbrilise väärtuse lahtiseletamist. -n on käsurea kohalt puudu.&lt;br /&gt;
Lisaks võiks olla sisendfail -&amp;gt; sorteerimine -&amp;gt; sorteeritud fail näide.&lt;br /&gt;
Üldse võiks olla rohkem näiteid, mis näitaksid sort&#039;i erinevaid kasutusvõimalusi.&lt;br /&gt;
&lt;br /&gt;
Artikkli lõpus võiks pisike kokkuvõte olla. Kiirustamine paistab välja.&lt;br /&gt;
Hetke seisuga hindaks 7 punktile.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22428</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22428"/>
		<updated>2011-01-08T20:35:54Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Märkused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks saab dd käsuga väga palju kõikvõimalikke operatsioone sooritada. Samas on iga kindla töö jaoks olemas paremad ja täiuslikumad tööriistad. Dd on nagu korralik taskunuga :-)&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22427</id>
		<title>Talk:Sort</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22427"/>
		<updated>2011-01-08T19:35:42Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Peep Binsol&lt;br /&gt;
&lt;br /&gt;
Artikli struktuur vajaks veidi kohendamist. Näidis/näited peatükid on kahes kohas.&lt;br /&gt;
&lt;br /&gt;
* Sissejuhatus&lt;br /&gt;
Sissejuhatuses tasuks mainimist, et tekstifaili sort käsuga sorteerides tegelikult faili ei muudeta,&lt;br /&gt;
vaid järjestus kuvatakse lihtsalt vastavalt parameetritele.&lt;br /&gt;
&amp;quot;väljad on sõnad&amp;quot; fraasi sisaldav lause kõlab kummaliselt. Jupita see lühemateks ja loogilisemateks osadeks.&lt;br /&gt;
&lt;br /&gt;
* Süntaks&lt;br /&gt;
Isiklikult eelistaks, kui artiklis oleks välja toodud vaid olulisemad võtmed ja artikkel oleks&lt;br /&gt;
selle võrra selgem ja ülevaatlikum. Praegu on kolm võtmete kategooriat: võtmed, põhilised võtmed ja muud võtmed.&lt;br /&gt;
&lt;br /&gt;
* Näited&lt;br /&gt;
Esimene näide on hea.&lt;br /&gt;
Teises näites tahaks näha stringi numbrilise väärtuse lahtiseletamist. -n on käsurea kohalt puudu.&lt;br /&gt;
Lisaks võiks olla sisendfail -&amp;gt; sorteerimine -&amp;gt; sorteeritud fail näide.&lt;br /&gt;
Üldse võiks olla rohkem näiteid, mis näitaksid sort&#039;i erinevaid kasutusvõimalusi.&lt;br /&gt;
&lt;br /&gt;
Kiirustamine paistab välja.&lt;br /&gt;
Hetke seisuga hindaks 7 punktile.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22426</id>
		<title>Talk:Sort</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Sort&amp;diff=22426"/>
		<updated>2011-01-08T19:10:13Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hindaja: Peep Binsol&lt;br /&gt;
&lt;br /&gt;
Artikli struktuur vajaks veidi kohendamist. Näidis/näited peatükid on kahes kohas.&lt;br /&gt;
&lt;br /&gt;
* Sissejuhatus&lt;br /&gt;
Sissejuhatuses tasuks mainimist, et tekstifaili sort käsuga sorteerides tegelikult faili ei muudeta,&lt;br /&gt;
vaid järjestus kuvatakse lihtsalt vastavalt parameetritele.&lt;br /&gt;
&amp;quot;väljad on sõnad&amp;quot; fraasi sisaldav lause kõlab kummaliselt. Jupita see lühemateks ja loogilisemateks osadeks.&lt;br /&gt;
&lt;br /&gt;
* Süntaks&lt;br /&gt;
Isiklikult eelistaks, kui artiklis oleks välja toodud vaid olulisemad võtmed ja artikkel oleks&lt;br /&gt;
selle võrra selgem ja ülevaatlikum. Praegu on kolm võtmete kategooriat: võtmed, põhilised võtmed ja muud võtmed.&lt;br /&gt;
&lt;br /&gt;
* Näited&lt;br /&gt;
Esimene näide on hea.&lt;br /&gt;
Teises näites tahaks näha stringi numbrilise väärtuse lahtiseletamist. -n on käsurea kohalt puudu.&lt;br /&gt;
Lisaks võiks olla sisendfail -&amp;gt; sorteerimine -&amp;gt; sorteeritud fail näide.&lt;br /&gt;
Üldse võiks olla rohkem näiteid, mis näitaksid sort&#039;i erinevaid kasutusvõimalusi.&lt;br /&gt;
&lt;br /&gt;
Kiirustamine paistab välja.&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22402</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22402"/>
		<updated>2011-01-08T10:56:33Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne. Suuruse valikul võiks arvestada sellega, et ploki suurus ei oleks suurem kui masina vaba mälu hulk.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22398</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22398"/>
		<updated>2011-01-08T10:46:04Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Nullidega ülekirjutamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22397</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22397"/>
		<updated>2011-01-08T10:44:06Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Nullidega ülekirjutamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Programmi väljund juhul kui 8,6GB adndmekandja sisaldab tõepoolest ainult nulle&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;br /&gt;
 *&lt;br /&gt;
 201f78000&lt;br /&gt;
 16841664+0 records in&lt;br /&gt;
 16841664+0 records out&lt;br /&gt;
 8622931968 bytes (8.6 GB) copied, 1247.05 s, 6.9 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22396</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22396"/>
		<updated>2011-01-08T10:41:33Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039; - ei kirjuta sihtfaili üle vaid muudab lihtsalt vajaliku osa failist.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22395</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22395"/>
		<updated>2011-01-08T10:40:25Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Täiendavad võimalused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* andmekandjate kiiruste testimine&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* dd ja hexdump&#039;ga asjade sisse vaatamine&lt;br /&gt;
* erinevate failide genereerimine&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22394</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22394"/>
		<updated>2011-01-08T10:34:36Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Nullidega ülekirjutamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib osutuda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22392</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22392"/>
		<updated>2011-01-08T10:32:46Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Backup ja restore */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record ja kettajagude tabel. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib ostutda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22391</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22391"/>
		<updated>2011-01-08T10:31:11Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Floppy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
Kogu floppy ketta sisu kopeerimine tõmmisfailiks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib ostutda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22390</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22390"/>
		<updated>2011-01-08T10:29:29Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Operatsioonid kõvakettaga */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui sihtpartitsiooni ei eksisteeri, siis dd alustab ketta algusest ja loob selle.&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib ostutda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22387</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22387"/>
		<updated>2011-01-08T10:22:19Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid (512, 1024, 2048, 4096 jne), aga ei pea tingimata. Võib ka märkida kujul 32K, 1M jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
Kõvaketta nullidega ülekirjutamine võib ostutda vajalikuks ka siis, kui mõni trooja või viirus on ennast paigutanud sellisesse kõvaketta osasse, mida pole võimalik operatsioonisüsteemi vahenditega hallata.&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22375</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22375"/>
		<updated>2011-01-07T14:22:10Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Vaba ruumi puhastamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/kasutaja/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22374</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22374"/>
		<updated>2011-01-07T14:21:39Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Backup ja restore */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22365</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22365"/>
		<updated>2011-01-07T09:18:54Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Märkused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
Dd ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22364</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22364"/>
		<updated>2011-01-07T09:18:14Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Nullidega ülekirjutamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
DD ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22363</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22363"/>
		<updated>2011-01-07T09:17:51Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Backup ja restore */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata dd väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult &#039;&#039;&#039;if&#039;&#039;&#039; ja &#039;&#039;&#039;of&#039;&#039;&#039; tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live-CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
DD ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22362</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22362"/>
		<updated>2011-01-07T09:16:45Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Lihtne kopeerimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dd võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning dd korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et dd saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata DD väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult if ja of tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live-CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
DD ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22361</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22361"/>
		<updated>2011-01-07T09:15:48Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
Dd juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DD võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning DD korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et DD saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata DD väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult if ja of tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live-CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
DD ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22360</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22360"/>
		<updated>2011-01-07T09:14:20Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
dd - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt andmekandjalt. Dd ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused dd kasutamiseks:&lt;br /&gt;
* dd on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* dd kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* dd ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
DD juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DD võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning DD korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et DD saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata DD väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult if ja of tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live-CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
DD ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22358</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22358"/>
		<updated>2011-01-07T09:08:48Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
DD - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt amdmekandjalt. DD ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused DD kasutamiseks:&lt;br /&gt;
* DD on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* DD kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* DD ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
DD juured ulatuvad tagasi ammustesse [http://en.wikipedia.org/wiki/Job_Control_Language IBM JCL] aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DD võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning DD korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et DD saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata DD väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult if ja of tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live-CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
DD ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22357</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22357"/>
		<updated>2011-01-07T09:07:25Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
DD - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt amdmekandjalt. DD ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused DD kasutamiseks:&lt;br /&gt;
* DD on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* DD kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* DD ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
DD juured ulatuvad tagasi ammustesse IBM JCL aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DD võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning DD korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et DD saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata DD väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult if ja of tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live-CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
DD ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22356</id>
		<title>Dd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dd&amp;diff=22356"/>
		<updated>2011-01-07T09:06:51Z</updated>

		<summary type="html">&lt;p&gt;Pbinsol: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sissejuhatus =&lt;br /&gt;
&lt;br /&gt;
DD - &#039;&#039;&#039;disk duplicate&#039;&#039;&#039; programmi DD Kasutatakse madala taseme kopeerimiseks. Ta ei kopeeri mitte faile, vaid konkreetseid baite mingilt amdmekandjalt. DD ei hooli ka sellest, millised kettajaod on kettal. Sellega saab kopeerida mistahes kettajagude ja failisüsteemidega kettaid. &lt;br /&gt;
&lt;br /&gt;
Mõned märkused DD kasutamiseks:&lt;br /&gt;
* DD on väga levinud programm ja ta on vaikimisi olemas enamustes linuxi süsteemides.&lt;br /&gt;
* DD kasutamiseks pead olema root õigustega.&lt;br /&gt;
* Enne kasutamist veendu kindlasti, et sisend ja väljund said õigesti märgitud, muidu võid oma kettal olevad andmed väga kergesti rikkuda.&lt;br /&gt;
* DD ei anna töötamisel mingit väljundit ja samas võtavad operatsioonid suuremahuliste ketastega palju aega. Katsetamiseks on head väiksemad andmekandjad nagu näiteks mälupulgad.&lt;br /&gt;
&lt;br /&gt;
= Süntaks =&lt;br /&gt;
&lt;br /&gt;
DD juured ulatuvad tagasi ammustesse IBM JCL aegadesse ja tema süntaks on jäänuk neist iidsetest aegadest. Seega tuleb arvestada, et see on veidi erivev tavaliste linuxi käskude süntaksist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=&amp;lt;lähteketas&amp;gt; of=&amp;lt;sihtketas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB! võrdusmärkide ümber ei tohi olla tühikuid.&lt;br /&gt;
&lt;br /&gt;
Mõned olulisemad võtmed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - ploki suurus. Kui ploki suurus jäetakse määramata, siis kasutatakse vaikimisi suurust 512 baiti. Ploki suurusena kasutatakse üldiselt kahe astmeid, aga ei pea tingimata. Võib ka märkida kujul 32K, 1M, 1G jne.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;count&#039;&#039;&#039; - mitut plokki kasutame. Korrutades ploki suuruse plokkide arvuga saame teada, kui palju me reaalselt andmeid läbi vaatame. Näiteks bs=1M, count=10 vaatab ketta algusest arvestades läbi 10MB andmeid. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;skip&#039;&#039;&#039; - mitu plokki me algusest vahele jätame. Näiteks bs=1M count=10, skip=5 loeb andmed alates 5MB&#039;st kuni 10MB&#039;ni. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=noerror&#039;&#039;&#039; - noerror argument kindlustab ketta kopeerimise isegi siis, kui lähtekettal on loetamatuid sektoreid.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;conv=notrunc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Täpsemalt vaata siit: [http://linuxmanpages.com/man1/dd.1.php Linuxmanpages.com]&lt;br /&gt;
&lt;br /&gt;
= Lihtne kopeerimine =&lt;br /&gt;
===Operatsioonid kõvakettaga===&lt;br /&gt;
Kõige lihtsam näide on see, et kopeerida ühe kõvaketta sisu täpselt samasugusele teisele kettale.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/dev/sdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;if&#039;&#039;&#039; on ketas mida kopeeritakse (lähteketas).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;of&#039;&#039;&#039; on ketas kuhu kopeeritakse (sihtketas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DD võimaldab kettast ka nn. tõmmisfaili tegemist. See on igapäevaseks kasutamiseks hulka kasulikum kui ühe ketta kopeerimine teisele.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/kasutaja/varukoopia.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellisel varukoopia tegemisel pole aga erilist mõtet, kuna tulemuseks saadav fail on väga suur. Saadava faili suurus võrdub kopeeritava ketta suurusega. Näiteks 200GB ketta tõmmisfail on 200GB suur, olgugi et suurem osa sellest ruumist võis tühi olla.&lt;br /&gt;
Sellest ülesaamiseks oleks mõistlik tõmmisfail kohe alguses gzip pakkimisprogrammi sisendisse suunata.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda | gzip &amp;gt; /home/kasutaja/varukoopia.img.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Et saadav tõmmisfail veel väiksemaks saada, tuleks silmas pidada asjaolu, et failide kustutamisel neid päriselt kettalt ei kustutata ja info jääb binaarkujul siiski kettale alles ning DD korjab selle info sealt ka kokku. Et kogu kõvakettalt loetud info kõige efektiivsemalt kokku pakkida, oleks kasulik vaba ruum enne nullidega üle kirjutada - nullid pakkuvad hästi kokku. Vt. altpoolt - [https://wiki.itcollege.ee/index.php/Dd#Vaba_ruumi_puhastamine Vaba ruumi puhastamine].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alati ei ole vajalik terve ketta kopeerimine vaid piisab ka mingi kindla partitsiooni kopeerimisest.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 of=/dev/sdb1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CD/DVD===&lt;br /&gt;
&lt;br /&gt;
CD/DVD tõmmise tegemiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/cdrom of=/home/kasutaja/CD_image.iso bs=2048 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CD&#039;l ja DVD&#039;l on sektori suuruseks 2048 baiti, seega oleks seda hea kopeerida sektorite kaupa. Tekkinud tõmmist saab kasutada nagu tavalist CD/DVD seadet. Selleks tuleks iso-fail failisüsteemi ühendada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/imageCD&lt;br /&gt;
mount -o loop /home/kasutaja/CD_image.iso /mnt/imageCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floppy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/fd0 of=/home/kasutaja/floppy.img bs=2x80x18b conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Muu===&lt;br /&gt;
&lt;br /&gt;
Muutmälu kopeerimist ei lähe tavaliselt küll vaja, aga demostreerimaks, et DD saab mistahes seadme lugemisega hakkama, siis panen siia ka mälu kopeerimise näite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/mem of=/home/kasutaja/mem.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tekkinud faili vaatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/home/kasutaja/mem.bin | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backup ja restore =&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsam ja kindlam variant on masin maha lasta, haakida külge olemasoleva kettaga analoogne ketas, buutida masin live CD pealt ja siis teha lihtsalt tervest kõvakettast koopia.&lt;br /&gt;
&lt;br /&gt;
Üldjuhul peaksid lähteketas ja sihtketas olema sama mahutavusega. Sihtketas võib olla suurem kui lähteketas, sellisel juhul jääb sihtketta lõpus olev ruum lihtsalt kasutamata. Uue ketta kettajaod 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. Kui on siiski vajadus kopeerida suurel kettal olev info väiksemale, siis tuleks suure ketta kettajaod eelnevalt väiksemaks teha. Eeldusel muidugi, et kettal oleva info maht seda võimaldab. Enne kettajao suuruse muutmist on soovitatav andmetest kuskile mujale varukoopia teha.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Töötava masina puhul võib probleemiks olla see, et arvutit ei ole võimalik varukoopia tegemise ajaks maha võtta ja samas pole masinas endas ka ruumi varukoopia mahutamiseks. Üks variant on siin suunata DD väljund võrku, et koopia üle ssh või netcat&#039;i teise masinasse salvestada.&lt;br /&gt;
&lt;br /&gt;
SSH näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 | ssh kasutaja@192.168.0.1 &amp;quot;sudo dd of=/home/kasutaja/sda1.img&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisem näide koos pakkimisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda1 bs=2048 | gzip | ssh kasutaja@192.168.0.1 &amp;quot;cat - | gunzip | dd of=/dev/sda1 bs=2048&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerida saab ka osa mingist andmekandjast. Näiteks kõvaketta esimesel 512 baidil asub ketta master boot record. Sellest on kasulik eraldi varukoopia teha.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda of=/home/user/MBR_koopia.img bs=512 count=1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restore käib täpselt samamoodi nagu backup ainult if ja of tuleb ära vahetada.&lt;br /&gt;
&lt;br /&gt;
= Kõvaketta puhastamine =&lt;br /&gt;
==== Nullidega ülekirjutamine ====&lt;br /&gt;
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 :-) Süsteemiketta puhastamiseks tuleb arvuti live-CD pealt üles bootida. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero of=/dev/sda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Peale ketta puhastamist oleks hea ka kontrollida, kas ketas on ikka tõepoolest puhas. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/sda bs=1M count=10 | hexdump -C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aja kokkuhoiu mõttes võib piirduda näiteks ketta ühe osa ülevaatamisega. Bs=1M ja count=10 argumentidega vaatame läbi andmekandja esimesed 10MB&lt;br /&gt;
&lt;br /&gt;
====Vaba ruumi puhastamine====&lt;br /&gt;
Teine variant on see, et kogu &#039;&#039;&#039;vaba ruum&#039;&#039;&#039; 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. Dev/urandom asemel võib kasutada ka /dev/zero. Viimase eeliseks on see, et kui hiljem kettast tõmmisfail teha ja kokku pakkida, siis nullid pakkuvad paremini kokku kui suvalised andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/urandom of=/home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /home/user/suurfail.tmp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Täiendavad võimalused =&lt;br /&gt;
&lt;br /&gt;
* kiirused&lt;br /&gt;
* ketta noorendamine&lt;br /&gt;
* hexdump&lt;br /&gt;
* võrgu kiiruse test&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ftp kasutaja@server&lt;br /&gt;
put &amp;quot;|dd if=/dev/zero bs=32k count=10000&amp;quot; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
DD ei näita enne töö lõpetamist ekraanil mingit väljundit. Programm nimega dcfldd teeb sama töö nagu dd, ainult näitab ka jooksvalt progressi.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
Peep Binsol&lt;br /&gt;
&lt;br /&gt;
AK31&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Pbinsol</name></author>
	</entry>
</feed>