Skapa iso-bilder av Linux dd. Skapa ett startbart USB-minne för att installera Windows med hjälp av programmet Rufus. Migrera systemet till en annan hårddisk

Var försiktig eftersom om du stavar namnet på flashenheten fel i kommandot dd kan du skada värdhårddisken.

Vi kommer att visa partitionsbeteckningen för alla enheter

och hitta en flash-enhet bland dem:

Sudo fdisk -u -l /dev/sd?

För att definiera partitioner på alla enheter kan du också använda kommandot:

Sudo cat /proc/partitioner

dd kommandosyntax

dd if=/AAAA of=/BBBB bs=CCCC count=DDDD conv=noerror
  • om: (indatafil) anger källan, dvs. varifrån vi kopierar. Anger en fil, som antingen kan vara en vanlig fil eller en enhetsfil.
  • av: (utdatafil) pekar på målfilen. Samma sak, vi kan skriva både till en vanlig fil och direkt till enheten.
  • bs: Antalet byte som kommer att skrivas åt gången. Det vill säga storleken på en bit data som kommer att läsas och skrivas åt gången. Det rekommenderas att ställa in bs= till storleken på hårddiskens cache, d.v.s. 8M 16M 32M
  • räkna: hur många bitar bs kommer att kopieras.
  • konv: låter dig ansluta filter som gäller för dataströmmen. Filtrera "inget fel" inaktiverar bara att stoppa programmet när det stöter på ett läsfel.

Exempel

Komplett diskradering

Så att ingenting kan återställas på media kan du fylla det med nollor, det här kommandot kommer alltid att sluta med felet "media har slut på utrymme"

Dd om=/dev/noll av=/dev/sdX

Skapar en diskavbildning

dd if=/dev/cdrom of=image.iso conv=noerror

Du kan också logga in i systemet

Montera -o loop /PathToImageFile/image.iso /mnt/FolderMount

Om något inte fungerar är processen uppdelad i två nivåer:

Losetup -e /dev/loop0 /PathToImageFile/image.iso mount /dev/loop0 /mnt/FolderMount

MBR-verksamhet

MBR finns i de första 512 byten hårddisk, och består av en partitionstabell, en bootloader och ett par ytterligare. byte. Ibland måste du säkerhetskopiera det, återställa det osv. Säkerhetskopiering görs så här:

Dd if=/dev/sda of=mbr.img bs=512 count=1

Du kan återställa det enklare:

Dd if=mbr.img of=/dev/sda

Kopiering med arkivering

(med gzip) data från en flashenhet till en hårddisk.

Dd if=/dev/sdX conv=sync,noerror bs=8M | gzip -c >/PathToSave/sdX.img.gz

och tillbaka

Gunzip -c /PathToFile/sdX.img.gz | dd of=/dev/sdX conv=sync,noerror bs=8M

Kopiering över nätverket

dd if=/dev/sdX conv=sync,noerror bs=8M | ssh -c blowfish Användarnamn@värdnamn "dd of=sdX.img.gz bs=8M"

och tillbaka

Dd om=sdX.img.gz | ssh -c blowfish användarnamn@värdnamn "dd of=/dev/sdX bs=8M"

För att skapa en bild av en hårddisk är det inte nödvändigt att använda verktyg som Acronis True Image eller Norton Ghost; ett enkelt dd-verktyg, som ingår i de flesta Unix-liknande datorer, räcker. operativsystem(Linux, FreeBSD, Solaris, etc.) Artikeln beskriver ett enkelt sätt att skapa säkerhetskopia hårddiskavbildning med dd. Det första steget är att förbereda för säkerhetskopiering. I den här artikeln introducerar vi följande notation:

  • /dev/sda - disken vars avbildning måste skapas;
  • /dev/sdb - disken som bilden kommer att skrivas på.

Om det behövs måste du ersätta dina egna värderingar.

Förbereder för att skapa en hårddiskbild

Det första steget är att starta från valfri tillgänglig Live-CD-skiva som har verktyget dd och enter kommandorad som superanvändare. Skapa en monteringspunkt att utföra Reserv exemplar.

mkdir /mnt/backup

Vi kliver upp HDD som du vill spara bilden till.

Skapa en hårddiskbild

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror

  • if=/dev/sda - kopiera allt svårt disk sda;
  • of=/mnt/backup/sda.img - kopiera till /mnt/backup/sda.img;
  • bs=8M - ställ in storleken på hårddiskcachen för att påskynda kopieringsproceduren (annars återställs data i små portioner på 512 byte);
  • conv=sync,noerror - vi indikerar att dd behovet av bit-för-bit-kopiering och ignorerar läsfel.

För att minska storleken på en hårddiskavbildning kan du komprimera den med valfri arkivering.

dd om=/dev/sda bs=8M conv=sync,noerror | gzip -c > /mnt/backup/sda.img

Återställa en hårddiskbild

För att återställa en hårddiskavbildning måste du följa den omvända proceduren till proceduren för att skapa den här bilden.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

När du använder komprimering måste du packa upp bilden parallellt.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,noerror bs=8M

Migrera systemet till en annan hårddisk

För att migrera hela systemet till en annan hårddisk måste du ange platsen för den nya enheten som destination.

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,noerror

Installera sedan, om det behövs, boot från det här tuffa disk. Förutsatt att den nya hårddisken är större än den gamla, kommer det att finnas ett icke-allokerat område på den. Den bör märkas upp och formateras enligt befintliga krav.

Kopiera statistik i dd

Den största nackdelen med dd är avsaknaden av en visuell representation av statistiken för kopieringsproceduren. Denna nackdel kan dock lätt kringgås. Allt du behöver göra är att ansluta till en annan terminal.

Bestäm processnumret under vilket dd körs.

Skicka regelbundet kommandot kill -USR1 process_number_dd till denna process.

titta på -n 5 döda -USR1 process_number_dd

  • watch -n 5 - utför kommandot var 5:e sekund;
  • kill -USR1 process_number_dd - visa kopieringsstatistik.

Kommandot dd gör bara en enkel sak: det kopierar data från en fil till en annan fil. Men eftersom många enheter i Linux representeras exakt som filer, har dd många användningsområden. Låt oss titta på de mest användbara av dem.

Vad betyder dd?

dd är en förkortning för dataduplikator. Men eftersom dd-kommandot i fel händer kan leda till fullständig förlust av all data, kallas programmet ofta skämtsamt för diskförstörare. Låt oss försöka ta reda på hur vi inte bara kan förstöra din data, utan även dra nytta av att använda dd.

Allmänt användningsfall för dd

Kommandosyntaxen är som följer:

Dd if=$input_data av=$output_data

Kommandot kopierar data från $input_data-filen till $output_data-filen, med hänsyn till alternativen. Det verkar som att allt är enkelt. Låt oss nu titta på vilka möjligheter denna enkla kopiering öppnar upp.

Exempel på användning av dd

1. Förstörelse av all data på disken utan möjlighet till återställning:

Dd om=/dev/urandom av=/dev/sda bs=4k

2. Komplettera byte-för-byte-kopiering av en disk till en annan (kloning):

Dd if=/dev/sda of=/dev/sdb bs=4096

3. Kopiera en partition till en annan:

Dd if=/dev/sda3 of=/dev/sdb3 bs=4096 conv=notrunc,noerror

4. Visa en lista över tillgängliga filsystem:

Dd if=/proc/filsystem | hexdump -C | mindre

5. Kopiera data på enheter med olika blockstorlekar (1 KB vid källan och 2 KB vid destinationen):

Dd if=/dev/st0 ibs=1024 obs=2048 of=/dev/st1

6. Skapa ett startbart USB-minne:

Dd if=/home/$user/bootimage.img of=/dev/sdc

7. Kontrollera disken för dåliga sektorer:

Dd om=/dev/sda av=/dev/null bs=1m

8. Skapa en säkerhetskopia Disk MBR och spara på diskett

Dd if=/dev/sda of=/dev/fd0 bs=512 count=1

9. Ta bort en ISO-avbild från en CD:

Dd if=/dev/sr0 of=/home/$user/mycdimage.iso bs=2048 conv=nosync

10. Kontrollera filen för virus (naturligtvis, ClamAV krävs):

Dd if=/home/$user/suspicious.doc | clamscan -

11. Spara innehållet i RAM till en fil:

Dd if=/dev/mem of=/home/$user/mem.bin bs=1024

12. Konvertera en bild från Nero NRG-format till en standard ISO-bild:

Dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300k

13. Visa MBR-innehåll:

Dd om=/dev/sda count=1 | hexdump -C

Var är de utlovade miljonansökningarna?

En observant läsare kommer förmodligen att märka att artikeln inte listar en miljon användbara applikationer, utan flera färre. Men kraften i dd-programmet ligger i det faktum att användaren kan hitta andra applikationer på egen hand, kombinera olika filer som om, av parametrar och välja de nödvändiga alternativen. Kom bara ihåg att arbete med dd kräver extra uppmärksamhet. Om du inte vet exakt vilka åtgärder som kommer att utföras, är det bättre att avstå från experiment. Försök att inte ge dd superanvändarrättigheter när du kan klara dig utan dessa rättigheter.

Dina egna exempel på att använda detta underbara program är välkomna i kommentarerna.

ddär ett enkelt verktyg som ingår i de flesta Unix-liknande operativsystem - Linux, FreeBSD, Solaris, etc.
Dess syfte är att läsa data från en enhet eller fil och skriva till en annan.

dd kan effektivt användas för att skapa en bild av en hårddisk, utan att använda kommersiella verktyg som Acronis True Image eller Norton Ghost.

Låt oss anta att vi har två diskar:

  • /dev/sda - disken vars avbildning måste skapas;
  • /dev/sdb - disken som bilden kommer att skrivas på.

Om det behövs måste du ersätta dina egna värderingar.

Det första steget är att starta från en tillgänglig Live-CD-skiva som har verktyget dd och ange kommandoraden som en superanvändare. Skapa en monteringspunkt för säkerhetskopiering.

mkdir /mnt/backup

Vi monterar hårddisken som du vill spara bilden på.

Skapa en hårddiskbild

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror

  • if=/dev/sda - kopiera hela hårddiskens sda;
  • of=/mnt/backup/sda.img - kopiera till /mnt/backup/sda.img;
  • bs=8M — ställ in storleken på hårddiskens cache för att påskynda kopieringsproceduren (annars återställs data i små portioner på 512 byte);
  • conv=sync,noerror - vi indikerar att dd behovet av bit-för-bit-kopiering och ignorerar läsfel.

För att minska storleken på en hårddiskavbildning kan du komprimera den med valfri arkivering.

dd om=/dev/sda bs=8M conv=sync,noerror | gzip -c > /mnt/backup/sda.img

Återställa en hårddiskbild

För att återställa en hårddiskavbildning måste du följa den omvända proceduren till proceduren för att skapa den här bilden.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

När du använder komprimering måste du packa upp bilden parallellt.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,noerror bs=8M

Migrera systemet till en annan hårddisk

För att migrera hela systemet till en annan hårddisk måste du ange platsen för den nya enheten som destination.

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,noerror

Installera sedan vid behov uppstart från den här hårddisken. Förutsatt att den nya hårddisken är större än den gamla, kommer det att finnas ett icke-allokerat område på den. Den bör märkas upp och formateras enligt befintliga krav.

Kopiera statistik i dd

Den största nackdelen med dd är avsaknaden av en visuell representation av statistiken för kopieringsproceduren. Denna nackdel kan dock lätt kringgås. Allt du behöver göra är att ansluta till en annan terminal.

Bestäm processnumret under vilket dd körs.

Skicka regelbundet kommandot kill -USR1 process_number_dd till denna process.

titta på -n 5 döda -USR1 process_number_dd

  • watch -n 5 - utför kommandot var 5:e sekund;
  • kill -USR1 process_number_dd — visa kopieringsstatistik.

Nackdelar med att använda dd för att skapa diskbilder

Allt har för- och nackdelar. dd är ett gratis och mycket flexibelt verktyg, men det kan bara göra en hel kopia av en volym. Specialprogram De kan bara kopiera data som är lagrad på disk.

Således kommer volymen på en diskavbildning skapad med dd att vara lika med volymen på själva disken - oavsett hur mycket data som finns på disken.

Som bekant, "Datoranvändare är indelade i de som gör säkerhetskopior och de som kommer att göra dem". I den här artikeln ska vi titta på olika sätt säkerhetskopiering (backup) av hela systemet och följaktligen återställning från en säkerhetskopia.

Det är värt att omedelbart notera att alla operationer inte ska utföras "live", dvs. inte på ett system som körs, utan från en liveCD eller installerat på en angränsande partition/flashenhet/usb-hdd till systemet. I de fall där driftstopp på några minuter är kritiskt för systemet är det möjligt att kopiera systemet underifrån, men i detta fall måste några ytterligare förhållanden beaktas, som ännu inte beaktas i denna artikel

Längre fram i texten, för åtgärder som utförs som en superanvändare, kommer kommandot sudo att användas, vilket är standarden för Ubuntu. På andra system är det möjligt att få superanvändarprivilegier via su, vissa liveCD-system körs i superanvändarläge som standard

tjära

Ett av de mest populära sätten att skapa en enkel säkerhetskopia är att arkivera data med tar. Fördelarna med denna metod är möjligheten till inkrementell säkerhetskopiering (lägga till filer i ett befintligt arkiv, ta bort eller ändra dem), möjligheten att extrahera från arkivet separata filer, samt närvaron av tjära i nästan alla Linux-system.

Skapa ett arkiv

Skapa först monteringspunkter för rotpartitionen och för partitionen som du ska skapa en säkerhetskopia på, till exempel så här

Montera båda partitionerna. För större tillförlitlighet kan du montera rotpartitionen i skrivskyddat läge för att eliminera möjligheten för oavsiktliga dataändringar

Sudo mount /dev/sdXY /mnt/root -o ro sudo mount /dev/sdXY /mnt/backup

(Istället för "sdXY" använd dina värden för de partitioner du vill ha. Du kan bestämma dem med sudo fdisk -l eller sudo blkid)

Om du använder separata partitioner för /boot, /usr, /home, etc. och vill inkludera deras innehåll i säkerhetskopian, montera dem i lämpliga mappar

Sudo mount /dev/sdXY /mnt/root/usr -o ro sudo mount /dev/sdXY /mnt/root/home -o ro

Skapa vid behov en mapp på backup-partitionen där du till exempel vill placera arkivet

Sudo mkdir -p /mnt/backup/ubuntu/root

Nu kan du börja skapa arkivet. För att skapa ett gzip-komprimerat arkiv, kör

Sudo tar -cvzpf -C /mnt/root /mnt/backup/ubuntu-sda1.tar.gz .

(-p-växeln gör det möjligt att spara ägare och behörigheter för filer)

För bzip2-komprimering

Sudo tar -cvjpf /mnt/backup/ubuntu-sda1.tar.bz2 /mnt/root

För lzma-komprimering

Sudo tar --lzma -cvpf /mnt/backup/ubuntu-sda1.tar.lzma /mnt/root

På samma sätt för lzo-komprimering - switch --lzop istället för --lzma

Olika komprimeringsalgoritmer producerar olika arkivstorlekar och skiljer sig även i prestanda

När processen är klar, avmontera alla monterade partitioner

Sudo umount /mnt/root(/boot,/var,/home,) /mnt/backup

Återställer från ett arkiv

Skapa monteringspunkter för rotpartitionen och partitionen där ditt arkiv lagras

Sudo mkdir /mnt/(root,backup)

Montera partitionen med säkerhetskopieringsarkivet

Sudo mount /dev/sdXY /mnt/backup -o ro

Formatera rotpartitionen till samma (eller ett annat) filsystem. Om du använder separata partitioner för /usr, /boot, etc. och arkiverade dem, formatera dem också

(om du återställer systemet till en ny hårddisk, partitionera det med fdisk/gparted och formatera partitionerna)

Vissa filsystem stöder inställning av UUID vid formatering. Detta gör det möjligt att skapa ett filsystem med samma UUID som det gamla, vilket kommer att undvika behovet av att redigera fstab.

För ext2/3/4 ställs UUID in med -U-omkopplaren, och du kan förenkla uppgiften ytterligare med ett kommando som

Sudo mkfs.ext4 -L "etikett" -U "$(sudo blkid -o värde -s UUID /dev/sda1)" /dev/sda1

Om du använde arkivering när du skapade bildfilen, packa först upp den med till exempel samma arkivering

Bzip2 -dv /media/backup/sda5.dd.bz

Nu kan du montera bilden

Sudo mount /media/backup/sda5.dd -o loop /mnt

(Med loop-alternativet kommer monteringsprogrammet automatiskt att "plocka upp" bildfilen till en ledig loop-enhet och sedan montera filsystemet)

Nu kan du arbeta med innehållet i bilden som med ett vanligt filsystem, alla dina ändringar kommer att skrivas till bilden. När du är klar, montera bilden som ett vanligt filsystem

Sudo umount /mnt

dd - kopiera hela hårddisken

I det här fallet kommer vi att använda dd igen, bara den här gången kommer vi att spara hela innehållet på hårddisken - med partitionstabellen, själva partitionerna och all data. Fördel den här metoden det faktum att du kan spara alla system installerade på denna hårddisk i ett steg utan att behöva säkerhetskopiera varje partition separat. Dessutom, med en sådan säkerhetskopia, kommer alla data relaterade till starthanteraren att sparas - så efter återställning från säkerhetskopian behöver du inte ytterligare manipulationer, du kan omedelbart starta från den här hårddisken.

Skapa en bild

I allmänhet liknar proceduren den som beskrivs ovan för säkerhetskopiering av enskilda partitioner. I det här fallet gäller rådet om att rensa ledigt utrymme med "nollor" också - om du har ledig tid, gör detta med alla partitioner.

Innan du startar operationen, se till att ingen av partitionerna på den här hårddisken är monterad. Detta kan göras genom att köra monteringskommandot utan parametrar.

Välj den partition som du ska placera klippfilen på. Naturligtvis måste detta vara en partition från en annan hårddisk. Se också till att det finns tillräckligt med ledigt utrymme på den här partitionen (till exempel med hjälp av df-verktyget) - mängden ledigt utrymme ska motsvara volymen på den kopierade hårddisken (när den komprimeras blir bilden mindre, men detta beror på om vilken typ av data som lagras).

Montera en backup-partition

Sudo mount /dev/sdXY /mnt

Nu kan du börja

Sudo dd if=/dev/sdX bs=1M conv=noerror,sync | lzma -cv > /mnt/hdd.dd.lzma

(här är "sdX" en disk, inte en partition! för kopiering utan komprimering, kommandot liknar det ovan för säkerhetskopiering av en partition)

Beroende på hårddiskens storlek och datorns prestanda kan proceduren ta lång tid (upp till flera timmar). När du är klar, montera backup-partitionen

Sudo umount /mnt

Återställning från bild

Uppmärksamhet! Den här metoden innebär en fullständig återställning till staten vid den tidpunkt då arkivet skapades med ersättning av all data!

Innan arbetet påbörjas, se till att strömförsörjningen är tillförlitlig. Ansluta nätverksadapter, om du har en bärbar dator, och om möjligt använd en UPS eller stabilisator. På hög intensitet inspelning ökar risken för diskskador vid strömavbrott

Se till att ingen partition på disken som återställs används. Montera en backup-partition

Sudo mount /dev/sdXY /mnt

Du kan starta proceduren

Bzip2 -dc /mnt/hdd.dd.bz | sudo dd of=/dev/sdX bs=1M conv=sync,noerror

Eller för en okomprimerad bild

Sudo dd if=/mnt/hdd.dd.bz of=/dev/sdX bs=1M conv=sync,noerror

När du är klar, montera backup-partitionen

Sudo umount /mnt

Om du vill extrahera bilden till en annan hårddisk måste den vara minst lika stor som den ursprungliga. Om ny disk större volym kan du utöka partitionerna eller skapa en ny partition för fritt utrymme använder parted/fdisk/gparted/etc

Använd inte båda hårddiskar("duplicera" och "original") på samma gång! Om båda enheterna är anslutna kommer systemet att ha två partitioner för varje UUID, vilket kommer att leda till driftsproblem eller oförmåga att starta

Montering av bilden

I analogi med partitionsbilden kan du arbeta med hårddiskavbildningen som med en vanlig hårddisk. I det här fallet blir proceduren något mer komplicerad, eftersom bilden innehåller flera avsnitt.

Om bilden är komprimerad, packa upp den. "Hämta" nu bilden till loop-enheten

Sudo lossetup -fv /media/backup/sda.dd

(Med -f-omkopplaren hittar programmet automatiskt en ledig loop-enhet, annars måste du uttryckligen ange den)

lostup kommer att visa namnet på enheten som används - om du inte arbetar med andra bildfiler (iso, krypterade behållare, etc.), kommer det troligen att vara /dev/loop0

Nu har vi en enhet som är en hårddisk för systemet, men vi har inte tillgång till dess partitioner. Kpartx-programmet hjälper dig att komma till partitionerna (du kan behöva installera paketet med samma namn)

Sudo kpartx -av /dev/loop0

(Key -a - lägg till partitioner för en given enhet; -v - informativ utdata)

Programmet kommer att visa namnen på de skapade enheterna för diskpartitionerna: loop0p1 för den första partitionen, loop0p2 för den andra, liknande partitionerna på en vanlig disk. Enhetsfilerna kommer att finnas i mappen /dev/mapper

Nu kan du arbeta med partitioner och FS på dem. Till exempel, montera den tidigare sda5 och skriv filer till den

Sudo mount /dev/mapper/loop0p5 /mnt

När du är klar avmonterar du partitionen

Sudo umount /mnt

Ta bort partitionsenheter med kpartx

Sudo kpartx -dv /dev/loop0

och släpp slinganordningen

Sudo lossetup -v -d /dev/loop0

Allt! Ändringarna registreras och din bild blir en vanlig fil igen

cp

Här ska vi titta på säkerhetskopiering med hjälp av cp-verktyget, d.v.s. med enkel kopiering. Egentligen är detta inte den mest optimala metoden, och den är mer lämpad för att kopiera systemet till en annan hårddisk / partition / dator, snarare än för att skapa en säkerhetskopia.

Å andra sidan har denna metod ett antal fördelar:

    Universalitet - du hittar cp i alla Linux-system

    Låga resurskrav (på grund av bristande kompression och enkelhet i mekanismen)

    Lätt att arbeta vidare med säkerhetskopieringen (lägga till/ändra/ta bort filer, extrahera nödvändiga data, etc.)

Att göra en kopia

Skapa monteringspunkter för rot- och backuppartitionerna

Sudo mkdir /mnt/(root,backup)

Montera båda partitionerna

Sudo mount /dev/sdXY -o ro /mnt/root sudo mount /dev/sdXY /mnt/backup

Montera partitioner för /usr, /boot, etc., om några

Sudo mount /dev/sdXY -o ro /mnt/root/home

Skapa en mapp för din backup på backup-partitionen

Sudo mkdir /mnt/backup/ubuntu

Vi kan börja

Sudo cp -av /mnt/root/* /mnt/backup/ubuntu

(växeln -a gör det möjligt att kopiera länkar "som de är", sparar alla möjliga filattribut och rekursivt läge. -v-växeln - visar information om vad som händer)

När processen är klar, avmontera alla partitioner

I framtiden kan du arkivera dina data på vilket bekvämt sätt som helst.

Återställer från en kopia

Uppmärksamhet! Denna metod innebär en fullständig återställning till tillståndet vid den tidpunkt då arkivet skapades, och ersätter all data!

Skapa monteringspunkter för partitioner

Sudo mkdir /mnt/(root,backup)

Montera en backup-partition

Sudo mount /dev/sdXY -o ro /mnt/backup

Formatera rotpartitionen och /usr, /boot, etc. partitioner, om några. (För att formatera partitioner samtidigt som UUID bevaras, se avsnittet om)

Sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXY

Montera de nyskapade filsystemen

Kopieringsprocessen är liknande, bara i motsatt riktning.

Sudo cp /mnt/backup/ubuntu/* -av /mnt/root

När kopieringen är klar, redigera fstab för att korrigera partitionens UUID

Avmontera partitionerna

Sudo umount /mnt/backup /mnt/root/(usr,home,)

squashfs

sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXY

Montera de nyskapade filsystemen

Sudo mount /dev/sdXY /mnt/root sudo mount /dev/sdXY /mnt/root/usr sudo mount /dev/sdXY /mnt/root/var

Vi är redo att börja! För att packa upp bilden, använd unsquashfs-verktyget

Sudo unsquashfs -d /mnt/root -f /mnt/backup/ubuntu-root.sqfs

(-d-växeln anger sökvägen för uppackning, med -f-växeln kommer programmet att använda befintliga mappar istället för att försöka skapa nya)

Precis som när du skapar en bild kommer du att se en förloppsindikator och massor av annan användbar information.

När du är klar, redigera fstab, ersätt partitionernas UUID med nya (om du formaterade partitionerna med samma UUID, hoppa över det här steget)

Sudo nano /mnt/root/etc/fstab

Spara filen och avmontera alla partitioner

Sudo umount /mnt/backup /mnt/root(/usr,/var,)

Montering av bilden

squashfs monteras som vilken annan bild som helst - via en slinganordning. Kärnstöd för squashfs ingår i många distributioner, inklusive Ubuntu, så du behöver bara använda mount-kommandot med loop-alternativet

Sudo mount /media/backup/ubuntu-root.sqfs -o ro,loop /mnt

(Ro-alternativet krävs inte, eftersom det inte fungerar att skriva något där ändå)

Nu kan du kopiera vilken som helst nödvändiga filer. Att lägga till något på det här sättet kommer inte att fungera; för att göra detta måste du använda mksquashfs igen

När du är klar, montera bilden som ett vanligt filsystem

Sudo umount /mnt

rsync

Precis som cp fungerar rsync med filer, inte med blockera enheter. Grejen med rsync är att den inte kopierar filer som redan finns på destinationen. Som standard kontrollerar den storleken och ändringstiden för filer, men du kan också kontrollera hashen (vanligtvis görs detta när ökad säkerhet behövs).

Lätt att använda

rsync-syntaxen liknar cp:

Rsync -a /mnt/root /mnt/backup

Parametern -a är ofta tillräcklig, den ger det som behövs mest: rekursiv kopiering av kataloger, spara information om ägaren och gruppen, etc. Att visa detaljerad information Switchen -v används för kopiering, var försiktig med den, du kan missa ett felmeddelande i dataströmmen. Switchen -x säkerställer att rsync inte går utöver det angivna filsystemet.

rsync-dokumentationen beskriver många alternativ. Det finns till exempel de som låter dig kopiera över SSH, eller ta bort en fil från destinationen om den raderades i källkatalogen.

Smart kopiering minskar systemets stilleståndstid. Vi kör rsync direkt på ett körande system, där data ständigt förändras, rsync kopierar data, säg, inom några timmar. Sedan byter vi systemet till skrivskyddat, kör rsync igen, nu kopierar det bara de filer som har ändrats under dessa få timmar. Om några minuter har vi en komplett kopia av det ursprungliga filsystemet. Driftstopp minskade med en storleksordning jämfört med offlinekopiering. Och i vissa fall räcker det med en onlinekopia utan att konvertera systemet till skrivskyddat.

Sparar tidigare kopior

Strängt taget är rsync inte ett säkerhetskopieringsverktyg – det är ett synkroniseringsverktyg. Detta är viktigt när du skapar vanliga kopior, för om några viktig fil togs bort i källarbetskatalogen - rsync tar också bort den i säkerhetskopian. För att förbättra datasäkerheten är det lämpligt att spara gamla säkerhetskopior. Men att bara lagra flera kopior kommer att kräva mycket hårddiskutrymme. Om kopior har många identiska filer leder detta till onödig redundans. Detta problem kan lösas genom att använda hårda länkar.

Poängen är att i modern filsystem(inklusive Ext4), adressering av en fil görs i två steg: filnamnet indikerar ett unikt filnummer (indexdeskriptor eller i-nod), och själva data associeras med detta nummer. Alla filnamn är i själva verket en hård länk till detta nummer. Följaktligen kan en fil (dataset) ha flera namn och finnas i olika kataloger, och detta eliminerar redundans vid behov av att duplicera filer (en hård länk tar trots allt lite minne). Själva data raderas inte förrän den sista hårda länken begärs raderad.

En betydande begränsning är att hårda länkar endast är möjliga inom samma filsystem.

Synkronisera kataloginnehåll för den aktuella säkerhetskopian med källkatalogen:

Rsync \ --archive \ --delete --delete-excluded \ # tar bort filer som inte finns i källan och exkluderade filer från säkerhetskopian--framsteg\ # visa information om överföringens förlopp"/hem/användare/filer/" \ # katalogkälla"/backup/senaste/" \ # katalog för aktuell backup--exclude = "/Public/" # exkludera onödiga kataloger

I katalogen "/backup/latest/" kommer en kopia av alla nödvändiga filer och kataloger från källan att skapas och allt onödigt kommer att tas bort.

Skapa en annan aktuell säkerhetskopia utan redundans:

cp\--arkiv\ # rädda alla Ytterligare information om filer--länk\ # använd hårda länkar för filer - eliminera redundans"/backup/senaste/" \ # källa är den aktuella säkerhetskopian som erhållits ovan "/backup/$(datum +%Y-%m-%d_%H-%M-%S) /" # destination - katalog med datum i namnet för enkelhetens skull (se mandate)

Nästa gång du skapar en säkerhetskopia kommer rsync att ta bort filer i katalogen " /backup/latest/ " som raderades/exkluderades/ändrades i källkatalogen (ändrade filer tas först bort och skrivs sedan en ny version). Men bara filnamnen (samma hårda länkar) kommer att raderas; själva filerna (data) kommer att sparas, eftersom hårda länkar skapades till dem i en angränsande katalog med kommandot "cp".

Andra verktyg

Det finns många applikationer för att skapa säkerhetskopior i Linux. Du kan söka efter "backup" i Ubuntu App Center för att hitta de som är tillgängliga i Ubuntu-program för att arbeta med säkerhetskopior.

För en företagsmiljö och helt enkelt för ganska storskaliga och kritiska säkerhetskopieringsuppgifter, kan vi rekommendera att du förstår ett av de mest populära och kraftfulla backupsystemen för Linux, kallat Bacula

Förresten, du kan också hitta ryskspråkiga manualer på Internet.

Parted Magic

Parted Magic är en annan stor, men betalas ett distributionspaket som innehåller en hel samling verktyg för att säkerhetskopiera och återställa information, arbeta med diskar och partitioner, samt återställa förlorad data. Den stöder många filsystem, LVM2 och RAID (både hårdvara och mjukvara) och innehåller verktyg som fsarchiver, GParted, ovannämnda Clonezilla och allt som krävs för metoderna som beskrivs i denna artikel. Dessutom innehåller distributionen en webbläsare och en del annan extra programvara. Distributionen är översatt till flera språk, inklusive ryska, och har ett fullfjädrat grafiskt gränssnitt.

LPdelade

LParted är en fullfjädrad LiveCD designad främst för att arbeta med partitioner hårddiskar(HDD), permanent radering eller återställning av data och utrustningstestning. LiveCD baserad på Lubuntu Linux. LParted är en funktionell analog till Parted Magic.

Jag skulle vilja lägga till här om SystemRescueCD och andra

Lite mer om att spara data

    För viktig data kan du skapa en spegelpartition på två diskar. För att göra detta är det inte alls nödvändigt att ha en RAID-kontroller och diskar av samma storlek - du kan till exempel montera en spegel från en 80 GB gammal enhet och en 80 GB partition på en ny. Spegling kan implementeras med LVM eller mjukvaru-RAID. Denna metod är dock värdelös om till exempel en spänning på ~220V träffar +5V-bussen eller en meteorit faller på systemenhet dator.

    IT-nördar som har sin egen server hemma kan utöka idén om att spegla och använda DRBD. Samma RAID-1, men hårddiskarär belägna i olika datorer, vilket ökar tillförlitligheten.

    En modern, bekväm lösning är att säkerhetskopiera data till molnet, till exempel med hjälp av Ubuntu One, Dropbox, http://www.adrive.com/ och andra.

    Varken spegling eller replikering på Ubuntu One kommer att rädda dig från att av misstag trycka på Delete, så gör i alla fall "klassiska" säkerhetskopior. Och en dag kommer allt ditt hårda arbete och ansträngningar att belönas.