Lurer du på om du bør oppgradere Linux-filsystemet ditt, men er usikker på hvordan du skal unngå en fullstendig installasjon? Her får du en veiledning til hvordan du konverterer ext2 og ext3 til ext4 uten å måtte installere alt på nytt.
Linux-filsystemer
Hvis vi skal være ærlige, er ext3-filsystemet fra 2001 ganske gammelt. Og det gamle ext2, som stammer fra 1993, er enda eldre. I dataterminologi er ext3 en antikvitet, mens ext2 nærmest er et arkeologisk funn.
Det moderne filsystemet i Linux-verdenen er ext4, som ble lansert i 2008. Det er raskere, mindre utsatt for fragmentering, kan håndtere større filsystemer og filer, har mer nøyaktige tidsstempler – og er generelt mye raskere.
Greit, jeg er overbevist – la oss sette i gang
Men la oss tenke oss om to ganger. Kanskje du *ikke* bør oppgradere filsystemet. Det er ofte mer fornuftig å oppgradere hele Linux-systemet i stedet.
Med «oppgradere» mener vi å ta sikkerhetskopier av dataene dine, slette systemet, installere en moderne distribusjon på nytt, og deretter gjenopprette dataene. Det er en fullstendig oppdatering som gir deg en moderne Linux-distribusjon med oppdatert programvare, i tillegg til et rent, moderne filsystem.
Hvis maskinvaren din ikke takler en moderne Linux, finnes det lette distribusjoner som Lubuntu, LinuxLite eller CrunchBang++. Men hvis du absolutt må holde deg til det gamle systemet, er det likevel noen forbehold.
For å oppgradere filsystemet til ext4, må du ha kjerneversjon 2.6.28 eller nyere. Hvis du ikke har den versjonen eller en nyere, må du oppgradere kjernen først.
Advarsel: Ikke prøv dette uten å ha riktig kjerneversjon. Det kan føre til at maskinen din ikke starter opp igjen. Sjekk hvilken kjerneversjon du bruker før du fortsetter.
Sørg for at du har en installasjonsdisk for din nåværende Linux-versjon for hånden. Oppgradering av filsystemet er ikke helt uten risiko.
Sikkerhetskopier er avgjørende. Før du gjør noe, ta flere sikkerhetskopier av dataene dine på forskjellige medier, og sørg for at du har den gamle Linux-installasjonsdisken tilgjengelig. Hvis noe går galt, kan du reinstallere det gamle systemet og gjenopprette dataene dine.
Du trenger også en Live CD/DVD av en moderne Linux-distribusjon for å utføre filsystemoppgraderingen. Ha den klar.
Denne artikkelen ble for øvrig testet med en installasjon av Ubuntu Jaunty Jackalope, som ble lansert i april 2009 og brukte ext3 som filsystem.
Fortsatt med oss?
Som de sier, «mot er å være livredd, men likevel sadle opp». Det er bra at du er modig.
Det første vi må gjøre er å sjekke kjerneversjonen med kommandoen `uname`. Denne kommandoen viser ulike typer systeminformasjon.
Åpne et terminalvindu på den gamle Linux-maskinen din og skriv inn følgende:
uname -r
I dette tilfellet er kjerneversjonen 2.6.28-11, som oppfyller kravene.
Hvis du ikke oppfyller dette kravet, må du stoppe nå. Du *må* ha denne kjerneversjonen eller en nyere.
Nå sjekker vi diskidentifikatorene med `blkid`, som identifiserer blokkenhetene i systemet.
blkid
Systemet har en enkelt harddisk (sda) med et filsystem (sda1) montert på /dev/sda1. Dette er et ext3-filsystemet, som vi skal konvertere.
Det er også et swap-filsystem, men det er ikke relevant for oss.
Start på nytt med Live CD
Sett inn Live CD-en og start datamaskinen på nytt. Du må kanskje trykke på en tast under omstart for å få datamaskinen til å starte fra CD-en. Dette vises som regel i starten av oppstartsprosessen. Vær rask, vinduet varer ikke lenge. Hvis du ikke rekker det, må du starte på nytt og prøve igjen.
Når du har startet i Live CD-miljøet, pass på at du ikke starter en installasjon. Les alternativene nøye, og velg det som tilsvarer «Prøv [distribusjonsnavn]».
Bli root
Åpne et terminalvindu og skriv inn:
sudo bash
Legg merke til at ledeteksten endres. Du er nå root-bruker. Vær forsiktig.
Identifiser filsystemene
Vi må identifisere filsystemene på nytt for å se hvordan de vises i denne Linux-forekomsten.
fdisk -l
Du vil se utdata som ligner på dette:
Filsystemet vi tidligere identifiserte som sda1 er gjenkjent av Live CD Linux. Dette er første steg.
Neste steg er å konvertere filsystemet.
Konvertering av filsystemet
Her er to kommandoer, én for konvertering fra ext2 til ext4, og én fra ext3 til ext4. Pass på at du bruker riktig kommando!
For å konvertere fra ext2 til ext4, bruk:
tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sda1
For å konvertere fra ext3 til ext4, bruk:
tune2fs -O extents,uninit_bg,dir_index /dev/sda1
Det skjer ikke så mye. Du kommer tilbake til ledeteksten. Hvis det er noen utdata, er det sannsynligvis feilmeldinger. Så ingen nyheter er gode nyheter her.
Sjekk filsystemet
Selv om det ikke ble flagget noen feil, la oss sjekke filsystemet grundig. Vi skal bruke kommandoen `e2fsck`, som sjekker integriteten til filsystemet. Den kan også reparere eventuelle feil. `e2fsck` fungerer med både ext2, ext3 og ext4.
`-p` (preen) får `e2fsck` til å reparere feil, mens `-f` (force) får den til å sjekke filsystemet selv om det virker rent.
e2fsck -pf /dev/sda1
Ingen feil ble rapportert. Vi kan prøve å montere filsystemet.
Montering av filsystemet
Vi må justere filsystemtabellen (fstab) og grub bootloader til det konverterte filsystemet. For å gjøre det, må vi montere filsystemet. Vi monterer det på /mnt. Vi identifiserte filsystemet som sda1 tidligere, så kommandoen blir:
mount -t ext4 /dev/sda1 /mnt
Nå som det er montert, bør vi kunne liste filsystemet. La oss sjekke det. Roten til filsystemet er nå på monteringspunktet, /mnt.
ls /mnt
Det ser bra ut. Alt ser ut som det skal.
Redigering av fstab
Vi må redigere fstab-filen og endre eventuelle referanser til ext3 (eller ext2, hvis det er filsystemet du konverterte fra) til ext4.
Live-CDen i dette eksemplet bruker nano-editoren, en enkel editor. Hvis nano ikke er tilgjengelig på din Live CD, finnes det garantert en annen editor du kan bruke.
nano /mnt/etc/fstab
Nano-vinduet vises. Se etter forekomster av «ext3» eller «ext2» og endre dem til «ext4». I dette eksemplet var det én forekomst av ext3, som er uthevet.
ext3 er erstattet av ext4.
Lagre filen og avslutt editoren. I nano lagres filen med Ctrl+O, og du avslutter med Ctrl+X.
Oppgradering av grub
Siden vi har montert sda1-filsystemet på /mnt, har banene til katalogene blitt flyttet ett nivå dypere. Derfor var banen til nano `/mnt/etc/fstab` i stedet for `/etc/fstab`.
Siden grub forventer å finne ting på bestemte steder, må vi få filsystemet til å se ut som om det var montert normalt. Vi trenger at roten til filsystemet er på `/` og ikke `/mnt`. `chroot`-kommandoen lar oss kjøre et kommandoskall og spesifisere rotpunktet.
Kommandoen vi bruker er:
chroot /mnt
Legg merke til at ledeteksten endres.
Nå kan vi gi kommandoen `update-grub` for at grub skal lese fstab-filen og rekonfigurere seg selv.
update-grub
Etter at grub har rekonfigurert seg, må vi installere en ny forekomst av grub på harddisken. Merk at dette er harddisken `sda`, ikke filsystemet `sda1`. Ikke ta med «1», skriv bare «sda».
grub-install /dev/sda
Starter Linux på nytt
Start systemet på nytt og fjern Live CD-en. Når systemet har startet igjen, åpne et terminalvindu og skriv:
blkid
Som du ser, er filsystemet nå et ext4-filsystem.
Maskinen som ble brukt for denne artikkelen brukte lang tid på å starte på nytt (over ti minutter), slik at man nesten trodde noe hadde gått galt. Kanskje det skyldtes at det var en virtuell maskin, eller at deler av filsystemkonverteringen skjer under første oppstart. Uansett, tålmodighet lønte seg, og maskinen startet til slutt igjen. Hvis det samme skjer med deg, må du bare vente. Alt er ikke nødvendigvis tapt.
Påfølgende omstarter gikk like raskt som normalt.
Oppgrader din Linux i stedet
Vi har kommet i mål, men du sitter igjen med en hybrid som kombinerer en gammel Linux-utgave med et moderne filsystem.
Hvis du er opptatt av å bytte til et nytt filsystem, og maskinvaren tillater det, er det beste å flytte til en moderne Linux-distribusjon. Da får du alle fordelene med den nyeste programvaren og sikkerheten.
Men, hvis det ikke er noe annet for det – og noen ganger har vi ikke alle valgmuligheter vi skulle ønske – vil disse stegene hjelpe deg å oppgradere filsystemet ditt.