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=noerrorDu 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/sdXYMontera 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.