GNU/Linux >> Znalost Linux >  >> Linux

Jak používat dd v Linuxu bez zničení disku

Tento článek je výňatek z kapitoly 4 Linuxu v akci, vydaného společností Manning.

Ať už se snažíte zachránit data z umírajícího úložného disku, zálohovat archivy na vzdálené úložiště nebo vytvořit dokonalou kopii aktivního oddílu někde jinde, budete potřebovat vědět, jak bezpečně a spolehlivě kopírovat disky a souborové systémy. Naštěstí dd je jednoduchý a výkonný nástroj pro kopírování obrázků, který existuje, no, skoro odjakživa. A za celou tu dobu nepřišlo nic, co by dělalo práci lépe.

Vytváření dokonalých kopií jednotek a diskových oddílů

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

S dd můžete dělat nejrůznější věci pokud budete dostatečně usilovně zkoumat, ale to, co svítí, je způsob, jakým vám umožňuje hrát si s oddíly. Můžete samozřejmě použít tar nebo dokonce scp replikovat celé souborové systémy zkopírováním souborů z jednoho počítače a jejich vložením tak, jak jsou, na novou instalaci Linuxu na jiném počítači. Ale protože tyto archivy souborového systému nejsou kompletní obrazy, budou vyžadovat běžící hostitelský OS na obou koncích, aby sloužil jako základ.

Pomocí dd , na druhou stranu, dokáže vytvořit dokonalé obrázky po jednotlivých bajtech téměř čehokoli digitálního. Ale než začnete přehazovat oddíly z jednoho konce Země na druhý, měl bych zmínit, že na tom starém unixovém administrátorském vtipu je něco pravdy:"dd znamená ničitel disku ." Pokud do dd zadáte byť jen jeden špatný znak můžete okamžitě a trvale vymazat celou jednotku cenných dat. A ano, pravopis se počítá.

Pamatujte: Před stisknutím klávesy Enter proveďte vyvolat dd , zastavte se a velmi pečlivě přemýšlejte!

Základní operace dd

Nyní, když jste byli náležitě varováni, začneme s něčím přímočarým. Předpokládejme, že chcete vytvořit přesný obraz celého disku s daty, který byl označen jako /dev/ sda . Připojili jste prázdný disk (ideálně se stejnou kapacitou jako váš /dev/ sda Systém). Syntaxe je jednoduchá:if= definuje zdrojovou jednotku a of= definuje soubor nebo umístění, kam chcete uložit data:

# dd if=/dev/sda of=/dev/sdb

Další příklad vytvoří archiv .img z /dev/ sda disk a uložte jej do domovského adresáře svého uživatelského účtu:

# dd if=/dev/sda of=/home/username/sdadisk.img

Tyto příkazy vytvořily obrazy celých jednotek. Můžete se také zaměřit na jeden oddíl z disku. Následující příklad to dělá a také používá bs pro nastavení počtu bajtů ke kopírování najednou (v tomto případě 4 096). Hraní s bs hodnota může mít vliv na celkovou rychlost dd provozu, i když ideální nastavení bude záviset na vašem hardwarovém profilu a dalších aspektech.

# dd if=/dev/sda2 of=/home/username/partition2.img bs=4096

Obnovení je jednoduché:Efektivně změníte hodnoty if a of . V tomto případě if= vezme obraz, který chcete obnovit, a of= vezme cílovou jednotku, na kterou chcete zapsat obrázek:

# dd if=sdadisk.img of=/dev/sdb

Můžete také provádět operace vytvoření a kopírování v jednom příkazu. Tento příklad například vytvoří komprimovaný obraz vzdáleného disku pomocí SSH a výsledný archiv uloží na váš místní počítač:

# ssh [email protected] "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz

Vždy byste měli otestovat své archivy, abyste se ujistili, že fungují. Pokud je to spouštěcí jednotka, kterou jste vytvořili, vložte ji do počítače a zjistěte, zda se spouští podle očekávání. Pokud se jedná o normální datový oddíl, připojte jej, abyste se ujistili, že soubory existují a jsou správně přístupné.

Vymazání disků pomocí dd

Před lety jsem měl přítele, který byl zodpovědný za bezpečnost na zámořských ambasádách své vlády. Jednou mi řekl, že každé velvyslanectví pod jeho dohledem bylo vybaveno oficiálním vládním kladivem. Proč? Pro případ, že by zařízení někdy hrozilo přepadení nepřáteli, mělo být kladivo použito ke zničení všech jejich pevných disků.

co to je Proč data prostě nesmazat? To nemyslíš vážně, že ne? Každý ví, že smazáním souborů obsahujících citlivá data z úložných zařízení data ve skutečnosti neodstraníte. S dostatkem času a motivace lze prakticky z jakéhokoli digitálního média získat téměř cokoli, snad s výjimkou těch, která byla dobře a správně zatlučena.

Můžete však použít dd aby bylo pro padouchy mnohem obtížnější dostat se k vašim starým datům. Tento příkaz stráví nějaký čas psaním milionů a milionů nul přes každý kout a skulinu /dev/sda1 oddíl:

# dd if=/dev/zero of=/dev/sda1

Ale je to lepší. Pomocí /dev/ urandom soubor jako zdroj, můžete zapisovat přes disk s náhodnými znaky:

# dd if=/dev/urandom of=/dev/sda1

Monitorování operací dd

Protože archivace disku nebo diskového oddílu může trvat velmi dlouho, možná budete chtít do příkazu přidat monitor průběhu. Nainstalujte Pipe Viewer (sudo apt install pv na Ubuntu) a vložte jej do dd . Pomocí pv , ten poslední příkaz může vypadat nějak takto:

# dd if=/dev/urandom | pv | dd of=/dev/sda1
4,14MB 0:00:05 [ 98kB/s] [      <=>                  ]

Odkládáte zálohování a správu disků? Díky dd vám nezbude příliš mnoho výmluv. Opravdu to není těžké, ale buďte opatrní. Hodně štěstí!


Linux
  1. Jak používat BusyBox na Linuxu

  2. Jak používám cron v Linuxu

  3. Jak rozdělit disk v Linuxu

  1. Jak používat Su Command v Linuxu

  2. Jak používat OpenSSH k připojení k vašemu linuxovému serveru

  3. Jak použít fdisk k rozdělení disku v Linuxu

  1. Jak používám nastavení usnadnění přístupu v systému Linux

  2. Jak nastavit tiskárnu v systému Linux

  3. Jak používat FIND v Linuxu