GNU/Linux >> Znalost Linux >  >> Linux

Replikujete SD kartu?

POZADÍ

Karta SD byla nakonfigurována pro Raspberry pi. Cílem je přesně replikovat SD kartu (OS, aplikace, data), aby replika fungovala v rPi přesně jako původní hlavní SD karta.

AKTUALIZACE:Předpokládejme:

  • replikace bude provedena na notebooku nakonfigurovaném s operačním systémem podobným UNIX
  • replikace se nesmí provádět z rPi
  • cílová SD karta je stejné značky/modelu
  • zdrojová karta SD je rozdělena na různé systémy souborů:

Otázky

Jaké možnosti klonování UNIX jsou k dispozici pro notebook Ubuntu HP se slotem pro SD kartu a USB čtečkou/zapisovačkou SD karet.

Je rozdíl, jestli je USB SD karta RW čtečkou nebo zapisovačem?

Cílem (omezením) je vyhnout se nákupu dalšího hardwaru.

Postřehy k řešení

date; sudo sh -c 'cat sdcard.image >/dev/mmcblk0'; date

Po 3. června 17:53:18 EDT 2019
[sudo] heslo pro uživatele:
Po 3. června 23:42:17 EDT 2019

date; sudo sh -c 'pv sdcard.image >/dev/mmcblk0'; date

Út 4. června 00:33:50 EDT 2019
[sudo] heslo pro uživatele:
119GiB 6:06:12 [5,56MiB/s] [=================================>] 100 %
Út 4. června 06:43:05 EDT 2019

gParted analýza flash SD karty ukazuje identické rozdělení:

Přijatá odpověď:

Unixové systémy zpřístupňují úložná zařízení prostřednictvím souboru zařízení. Soubory zařízení se v mnoha ohledech chovají jako běžné soubory. Konkrétně, chcete-li vytvořit přesnou kopii úložného zařízení, stačí zkopírovat obsah zdrojového zařízení do cílového zařízení.

Nejprve musíte určit soubor zdrojového zařízení a soubor cílového zařízení. Název závisí na vaší Unixové variantě a na tom, jak je nakonfigurována, ale v praxi jsou soubory zařízení vždy pod /dev adresář. Pokud máte připojenou kartu SD, můžete zjistit, s čím je soubor zařízení

df /media/sdcard1/some/file/on/the/sdcard

Soubor zařízení je v prvním sloupci. Jiné nástroje mohou poskytnout stejné informace, například zprávy protokolu jádra při vložení karty SD nebo lsblk příkaz v systému Linux.

Na kartě mohou být oddíly. Pokud ano, zkopírujte celou kartu, i když existuje jeden oddíl, protože některé informace o době spouštění mohou být umístěny mimo oddíl. Pokud například df zobrazuje /dev/sdb1 v systému Linux zkopírujte /dev/sdb a nejen /dev/sdb1 .

Pokud vytáhnete SD kartu a znovu ji vložíte, bude mít obvykle stejný název souboru zařízení jako předtím, ale to není zaručeno.

Před kopírováním se ujistěte, že:

  • Zdrojové zařízení není připojeno nebo je připojeno pouze pro čtení.
  • Cílové zařízení není vůbec připojeno.
  • Cílové zařízení je alespoň tak velké jako zdrojové. V systému Linux lsblk zobrazí velikost zařízení.
  • Máte správné cílové zařízení. Všimněte si, že níže uvedený příkaz přepíše svůj obsah, aniž by požadoval potvrzení!
Související:Co to znamená být „sh kompatibilní“?

Předpokládejme, že jste určili, že zdrojové zařízení je /dev/sdb a cílové zařízení je /dev/sdc . Chcete-li zkopírovat obsah, spusťte následující příkaz jako root:

cat /dev/sdb >/dev/sdc

Pokud používáte sudo, přesměrování > se musí stát jako root, takže musíte napsat něco jako

sudo sh -c 'cat /dev/sdb >/dev/sdc'

Abyste se ujistili, že omylem nepřepíšete nesprávné zařízení, můžete postupovat ve dvou krocích:

  1. Dejte uživateli (gatorback v mém příkladu) oprávnění ke čtení ze zdrojového zařízení (dev/sdb v mém příkladu) a zapisovat do zdrojového zařízení (/dev/sdc v mém příkladu).
    sudo setfacl -m user:gatorback:r /dev/sdb
    sudo setfacl -m user:gatorback:w /dev/sdc
    
  2. Proveďte kopírování bez sudo.
    cat /dev/sdb >/dev/sdc
    

Obraz disku můžete zkopírovat do souboru a poté zkopírovat soubor obrazu do cílového zařízení. To je užitečné, pokud potřebujete vytvořit více kopií nebo pokud máte pouze jednu čtečku karet SD, nebo chcete-li snížit riziko kopírování nesprávným směrem.

  1. sudo cat /dev/sdb >sdcard.image
  2. Vytáhněte zdrojovou kartu a vložte cílovou kartu.
  3. Volitelně ověřte obsah připojením obrázku, např. sudo mount -o loop -r sdcard.image /mnt .
  4. sudo sh -c 'cat sdcard.image >/dev/sdb'

Pokud chcete pohodlně vidět informace o průběhu, použijte pv místo cat (pv se ve výchozím nastavení instaluje jen zřídka, ale je k dispozici jako balíček ve většině distribucí).


Linux
  1. Pci-stub vs Vfio-pci?

  2. Konfigurace výchozího zařízení Alsa (hw:0,0) v Asoundrc?

  3. Jak vytvořit virtuální blokové zařízení (smyčkové zařízení/systém souborů) v Linuxu

  1. uflash:příkaz nenalezen

  2. příkaz setpci – konfigurace PCI zařízení

  3. V zařízení nezbývá místo

  1. Jak nainstalovat ovladač zařízení v systému Linux

  2. Používat zařízení přes SSH?

  3. Jak vytvořit fiktivní zařízení zvukové karty na serveru Linux?