Felhasználói eszközök

Eszközök a webhelyen


Oldalsáv

Index menü


Tagek listája

Szavak listája

tudasbazis:linux:dd

dd

Hibás merevlemez másolására a ddrescue alkalmasabb.

Nagy adat közvetlen írása

Ha forrás/cél egy block device, akkor érdemes kierőszakolni, hogy közvetlenül az eszközt írd/olvasd, hogy kevesebb közbülső rétegen menjen keresztül, ami nagy mennyiségű adatnál sokat gyorsít a folyamaton.

Ha a forrás és a cél is block device:

dd if=/dev/sdXXX of=/dev/sdYYY bs=4M iflag=direct oflag=direct status=progress

Ha szeretnénk a művelet végén egy implicit sync-et is hívni (pl. Ubuntu telepítő USB-re írásakor), akkor használjuk az conv=fdatasync-et is:

dd if=Downloads/ubuntu.iso of=/dev/sdXXX bs=4M iflag=fullblock oflag=direct conv=fdatasync status=progress

Állapot lékérdezése régebbi verziókkal

Régebbi dd-knél még nem volt status paraméter, de USR1 szignálra kiírta, hogy hol tart:

while true
do
    kill -USR1 `ps -C dd -o pid=`
    date
    sleep 5
done

dd-zés tömörített fájlba

  • Egy szálon
    dd if=/dev/sdX bs=4M iflag=direct status=progress | gzip -9 > test.gz
  • Több szálú gzip alternatívával (pl: 7 szálon)
    dd if=/dev/sdX bs=4M iflag=direct status=progress | pigz -9 -p 7 > test.gz

dd-zés tömörített fájlból

  • Több szálú gzip alternatívával (pl: 7 szálon)
    unpigz -c test.gz | dd of=/dev/sdX bs=4M iflag=fullblock oflag=direct status=progress
  • gzip helyett zip-ből
    unzip -p test.zip inner_file.img | dd of=/dev/sdX bs=4M iflag=fullblock oflag=direct status=progress

dd-zés hálózaton keresztül

Közvetlen kapcsolaton

  1. Fogadó (cél) oldalon:
    nc -l 19000 | dd bs=16M of=/dev/sdb oflag=direct status=progress
  2. Küldő (forrás) oldalon:
    dd if=/dev/sda bs=16M iflag=direct status=progress | nc 192.168.0.2 19000

Lassabb hálózati közegen

  1. Fogadó (cél) oldalon:
    nc -l 19000 | bzip2 -d | dd bs=16M of=/dev/sdb oflag=direct status=progress
  2. Küldő (forrás) oldalon:
    dd if=/dev/sda bs=16M iflag=direct status=progress | bzip2 -c | nc 192.168.0.2 19000

MBR és egyéb meta adat törlése

local size=$(blockdev --getsz /dev/sda)
dd if=/dev/zero of=/dev/sda bs=512 count=200
dd if=/dev/zero of=/dev/sda bs=512 count=200 seek=$[$size - 200]
tudasbazis/linux/dd.txt · Utolsó módosítás: 2020.09.25 09:38 szerkesztette: tia