Linux dd-kommando: Hva det er og hvordan du bruker det

De Linux dd-kommandoen står ikke offisielt for diskdump, men du kan tenke på det på den måten. Og til tross for det upretensiøse navnet er det en veldig nyttig Linux-terminal program. Fra sikkerhetskopier til å skrive USB-stasjoner, å vite hvordan du bruker dd er definitivt et godt tillegg til Linux-verktøykassen.

dd: Kommandoen "Disk Dump".

I kjernen ble dd laget for å kopiere og konvertere filer fra ett format til et annet. Ikke formater som Ord eller PDF, men svært lavt nivå formater som beskriver hvordan data er representert på disk. Dette var tilbake i stormaskindagene, da forskjellige systemer hadde sine egne interne formater, og å løse utvekslingsproblemer var en stor oppgave.

dd-kommandoen tar biter fra én fil og flytter dem til en annen fil. Det som er viktig å forstå er at dd ganske enkelt flytter biter herfra til der, uavhengig av filsystemformater, mapper eller utvidelser. Dette betyr at du kan oppnå mye veldig raskt, men det betyr også at du må være forsiktig når du kjører den.

Med dette i tankene, overførte de flinke folkene i Linux-fellesskapet dd til et annet formål. Siden i Linux "alt er en fil," gir dd en enkel måte brenne et ISO-bilde til en flash-stasjon. Den gjør dette ved å ta bildefilen og "kopiere" den til filen som representerer minnepinne. Det er alle slags scenarier der dette er nyttig, men vi fokuserer på to her: å skrive flyttbare medier og ta en sikkerhetskopi.

Grunnleggende bruk av dd-kommandoen

Den grunnleggende bruken av dd bruker følgende syntaks:

dd alternativ1=verdi1 alternativ2=verdi2

Det er en hel rekke alternativer tilgjengelig for dd, men her er de du bør vite for å komme i gang:

  • bs: Blokkstørrelse beskriver hvor mye data som skal leses og skrives på en gang. Avveiningen med dette alternativet er mellom hastigheten på å fullføre operasjonen, og hvor enkelt det er å gjenopprette ved feil. Større blokkstørrelser fullføres raskere, men er vanskeligere å gjenopprette.
  • hvis: Inndatafilen er kilden til dataene.
  • av: Utdatafilen er destinasjonen for alle dataene som leses inn fra inngangskilden.
  • status: Dette er et valgfritt flagg, men et nyttig flagg som vil gi deg litt informasjon når kommandoen din kjøres. Vi vil gi dette en verdi på framgang så det gir oss beskjed om at kommandoen fortsatt fungerer.

Bruke dd for å skrive flyttbare medier

I dette første eksemplet skal vi prøve en av de vanligste brukstilfellene for dd: å skrive flyttbare medier. Du vil for eksempel gjøre dette for å "brenne" et installasjonsbilde for Linux på en USB-minnepinne.

Mange installasjonsbilder kommer som en .ISO-fil, som er ment å brennes til en CD- eller DVD-ROM-stasjon, men du kan brenne .ISO-bildet til USB-stasjonen med en kommando som følgende:

dd bs=4M if=/path/to/imagefilename.img of=/dev/sda status=progress

I det ovenstående tar vi innholdet i bildefilnavn.img og kopiere den 4 MB om gangen til /dev/sda. Dette er filen med /dev filundersystem som representerer USB-stasjonen vår. Vi bruker blokkstørrelsen på 4 MB her fordi de fleste installasjonsbildene er store, og hvis vi bruker en mindre vil det ta lang tid å fullføre. I alle fall går det galt, det er ikke så farlig, bare formater minnepinne på nytt og prøv igjen.

Pass på at du har de riktige verdiene for input og output. Som nevnt er dd designet for å flytte biter fra ett sted til et annet, og det bryr seg ikke om hva det kan overskrive i prosessen. Sørg i tillegg for at det ikke er noe på målstasjonen du trenger. I beste fall vil det være svært vanskelig å komme seg, og i verste fall kan det være borte for godt.

Bruke dd for å sikkerhetskopiere en Linux-PC

Du kan også gjøre prosessen ovenfor omvendt og skrive innholdet på en hel stasjon til en bildefil. Dette er en veldig praktisk og grundig måte å sikkerhetskopiere harddisken på.

Kjører Linux dd-kommandoen

I dette tilfellet kan vi i utgangspunktet bytte "in-filen" for en av våre stasjoner, og "ut-filen" for et bilde: Drive.

dd bs=64k if=/dev/nvme0n1 of=/home/aaron/nvmedrivebackup.img status=progress

Her velger vi en av partisjonene på den bærbare datamaskinen vår NVMe-stasjon som inngang, og gir en bane og filnavn for bildet som utdata.

Vi bruker en mindre bytestørrelse for å unngå problemer med kopien, da dette vil være gjenopprettingsbildet vårt i tilfelle en katastrofe. For å gjenopprette disken, reverser du bare inn- og utdatafilene.

dd-kommandoen er et kraftig verktøy, så bruk det med omhu

dd-kommandoen er et veldig kraftig verktøy, og med litt smart tenkning kan du sannsynligvis avdekke enda flere bruksområder for den. Det er imidlertid også en veldig enkel kommando, så sørg for at du enten har plukket alternativene dine fra noen som er kunnskapsrike, eller du har trippelsjekket at du ikke blander inn- og utdatafilene dine. Ellers kan du ende opp med å skrive alle de tomme bitene fra noen tomme medier til disken på PC-en.