Πώς να κάνετε μετεγκατάσταση συστημάτων αρχείων Ext2 ή Ext3 σε Ext4 στο Linux

Γνωρίζετε ότι πρέπει να αναβαθμίσετε το σύστημα αρχείων Linux σας, αλλά δεν μπορείτε να αντιμετωπίσετε την επιδείνωση; Δείτε πώς μπορείτε να μετατρέψετε ext2 και ext3 σε ext4 χωρίς την αναταραχή μιας πλήρους επανεγκατάστασης.

Συστήματα αρχείων Linux

Αν ήσουν ευγενικός, θα καλούσες το σύστημα αρχείων ext3 σεβαστός, που κυκλοφόρησε όπως έγινε το 2001. Όσο για φτωχό παλιό ext2, αυτό το σύστημα αρχείων προέρχεται από το 1993 και δεν υπάρχει άλλη λέξη για αυτό εκτός από αρχαία. Με όρους υπολογιστών, το ext3 είναι αντίκα. Και το ext2 είναι ένα αρχαιολογικό εύρημα.

Το σύγχρονο σύστημα αρχείων στον κόσμο του Linux είναι το ext4 που ήταν κυκλοφόρησε το 2008. Είναι ταχύτερο, λιγότερο επιρρεπές σε κατακερματισμό, ικανό να χειρίζεται μεγαλύτερα συστήματα αρχείων—και μεγαλύτερα αρχεία—έχει πιο ακριβείς σφραγίδες ημερομηνίας αρχείων και αναφέραμε ότι είναι πιο γρήγορο; Πολύ πιο γρήγορα.

Εντάξει, έχω πουληθεί—Ας το κάνουμε αυτό

Ας το σκεφτούμε καλά. Στην πραγματικότητα, μάλλον δεν θέλετε να αναβαθμίσετε το σύστημα αρχείων σας.

Είναι πιο λογικό να αναβαθμίσετε ολόκληρο το σύστημα Linux σας. Με τον όρο αναβάθμιση εννοούμε να λάβετε μερικά αντίγραφα ασφαλείας δεδομένων, να σκουπίσετε το σύστημά σας, να εγκαταστήσετε ξανά μια σύγχρονη διανομή και να επαναφέρετε τα δεδομένα σας. Πηγαίνετε για την πλήρη ανανέωση. Αποκτήστε τα πλεονεκτήματα μιας σύγχρονης διανομής Linux με ενημερωμένο λογισμικό, καθώς και ένα καθαρό, τρέχον και πρόσφατα εγκατεστημένο σύστημα αρχείων.

Εάν δεν μπορείτε να εκτελέσετε ένα σύγχρονο Linux στο υλικό σας, ακόμη και μια από τις ελαφριές διανομές όπως Lubuntu, LinuxLite ή CrunchBang++, και πρέπει οπωσδήποτε να παραμείνετε με το Linux που έχετε, υπάρχουν ακόμα επιφυλάξεις.

Για να αναβαθμίσετε το σύστημα αρχείων σας σε ext4, πρέπει να χρησιμοποιείτε την έκδοση 2.6.28 του πυρήνα ή νεότερη. Επομένως, εάν δεν έχετε αυτήν την έκδοση του πυρήνα ή μια νεότερη έκδοση, πρέπει πρώτα να αναβαθμίσετε τον πυρήνα σας.

Προειδοποίηση: Μην σκεφτείτε καν να το δοκιμάσετε χωρίς να ικανοποιήσετε αυτήν την απαίτηση έκδοσης πυρήνα. Θα καταλήξετε με έναν υπολογιστή χωρίς εκκίνηση. Ελέγξτε ποια έκδοση πυρήνα χρησιμοποιείτε πριν συνεχίσετε.

Βεβαιωθείτε ότι έχετε έναν δίσκο εγκατάστασης για την έκδοση του Linux που χρησιμοποιείτε αυτήν τη στιγμή και διατηρήστε τον σε αναμονή. Η αναβάθμιση του συστήματος αρχείων σας δεν είναι χωρίς κινδύνους.

Τα αντίγραφα ασφαλείας είναι το δίχτυ ασφαλείας σας. Πριν κάνετε οτιδήποτε, δημιουργήστε μερικά αντίγραφα ασφαλείας δεδομένων σε διαφορετικά μέσα δημιουργίας αντιγράφων ασφαλείας και βεβαιωθείτε ότι έχετε πρόχειρο αυτόν τον παλιό δίσκο εγκατάστασης Linux. Εάν κάτι πάει στραβά, μπορείτε στη συνέχεια να εγκαταστήσετε ξανά το παλιό σας Linux και να επαναφέρετε τα δεδομένα σας.

  Πώς να μοιραστείτε το τερματικό Linux στο Διαδίκτυο με την τηλεκονσόλα

Θα χρειαστείτε επίσης ένα τρέχον Live CD/DVD μιας σύγχρονης διανομής Linux για να πραγματοποιήσετε την αναβάθμιση του συστήματος αρχείων. Επομένως, φροντίστε να έχετε και εσείς ένα από αυτά στο χέρι.

Παρεμπιπτόντως, αυτό το άρθρο ερευνήθηκε χρησιμοποιώντας μια εγκατάσταση του Ubuntu Jaunty Jackalope, η οποία κυκλοφόρησε τον Απρίλιο του 2009. Χρησιμοποιούσε το ext3 ως σύστημα αρχείων.

Ακόμα μαζί μας;

Ο Τζον Γουέιν είπε ότι το θάρρος ήταν τρομοκρατημένο, αλλά εξακολουθούσε να ανεβαίνει. Θαυμάζω τα κότσια σου.

Το πρώτο πράγμα που θα κάνουμε είναι να ελέγξουμε την έκδοση του πυρήνα με το uname. Η εντολή uname μπορεί να εμφανίσει διαφορετικούς τύπους πληροφοριών συστήματος.

Στον παλιό σας υπολογιστή Linux ανοίξτε ένα παράθυρο τερματικού και πληκτρολογήστε την ακόλουθη εντολή. Πληκτρολογήστε uname , ένα κενό, -r και μετά πατήστε Enter.

uname -r

Η έκδοση του Linux σε αυτόν τον υπολογιστή χρησιμοποιεί την έκδοση 2.6.28-11 του πυρήνα, επομένως ικανοποιήσαμε την απαίτηση έκδοσης πυρήνα.

Σοβαρά, εάν δεν πληροίτε αυτήν την απαίτηση, σταματήστε τώρα. Αρκετά κοντά απλά δεν αρκεί. Πρέπει να πληροίτε ή να υπερβείτε αυτόν τον αριθμό έκδοσης του πυρήνα.

Τώρα θα ελέγξουμε τα αναγνωριστικά δίσκου με το blkid, το οποίο προσδιορίζει τις συσκευές μπλοκ στο σύστημα.

blkid

Αυτό το σύστημα έχει έναν ενιαίο σκληρό δίσκο (sda) ο οποίος έχει ένα σύστημα αρχείων σε αυτόν (sda1) το οποίο είναι προσαρτημένο στο /dev/sda1. Αυτό είναι ένα σύστημα αρχείων ext3. Αυτό είναι το σύστημα αρχείων που πρόκειται να μετατρέψουμε.

Υπάρχει επίσης ένα σύστημα αρχείων που ονομάζεται swap, αλλά αυτό δεν μας ενδιαφέρει.

Κάντε επανεκκίνηση με το Live CD

Τοποθετήστε το Live CD και επανεκκινήστε τον υπολογιστή σας. Ίσως χρειαστεί να πατήσετε ένα πλήκτρο κατά την επανεκκίνηση για να κάνετε την εκκίνηση του υπολογιστή από το CD. Το πλήκτρο που πρέπει να πατήσετε θα εμφανιστεί στα πρώτα στάδια της διαδικασίας εκκίνησης. Να είστε γρήγοροι – το παράθυρο ευκαιρίας δεν διαρκεί πολύ. Αν το χάσετε, κάντε επανεκκίνηση και δοκιμάστε ξανά.

Όταν έχετε κάνει εκκίνηση στο περιβάλλον Live CD, βεβαιωθείτε ότι δεν ξεκινήσετε κατά λάθος μια εγκατάσταση. Αφιερώστε χρόνο για να διαβάσετε τις επιλογές που σας παρέχονται και εάν υπάρχει κάποια που λέει κάτι παρόμοιο με το “Try DistributionName”, επιλέξτε αυτήν την επιλογή.

Γίνετε Root

Ανοίξτε ένα παράθυρο τερματικού και πληκτρολογήστε την ακόλουθη εντολή. Αυτό σας κάνει ουσιαστικά root και σημαίνει ότι δεν χρειάζεται να πληκτρολογείτε sudo μπροστά από κάθε εντολή.

sudo bash

Σημειώστε ότι η γραμμή εντολών έχει αλλάξει. Είσαι root. Περπατήστε προσεκτικά.

Προσδιορίστε τα Συστήματα Αρχείων

Πρέπει να αναγνωρίσουμε τα συστήματα αρχείων για άλλη μια φορά για να δούμε πώς εμφανίζονται σε αυτήν την περίπτωση του Linux.

fdisk -l

Θα δείτε κάποια έξοδο παρόμοια με την παρακάτω.

  Πώς να δημιουργήσετε ένα αρχείο Swap στο Linux

Το σύστημα αρχείων που προσδιορίζαμε προηγουμένως ως sda1 βρέθηκε και αναγνωρίστηκε από το Live CD Linux. Αυτό είναι το πρώτο μίνι-ορόσημο.

Το δεύτερο είναι η μετατροπή του συστήματος αρχείων.

Μετατροπή του συστήματος αρχείων

Υπάρχουν δύο εντολές που παρατίθενται εδώ, μία για μετατροπή από ext2 σε ext4 και μία για μετατροπή από ext3 σε ext4. Βεβαιωθείτε ότι χρησιμοποιείτε το κατάλληλο για εσάς!

Για να μετατρέψετε από ext2 σε ext4 χρησιμοποιήστε αυτό:

tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sda1

Για να μετατρέψετε από ext3 σε ext4 χρησιμοποιήστε αυτό:

tune2fs -O extents,uninit_bg,dir_index /dev/sda1

Είναι ελαφρώς συντριπτικό καθώς δεν φαίνεται να συμβαίνουν πολλά. Επιστρέφετε στη γραμμή εντολών. Εάν δείτε κάποια έξοδο, πιθανότατα θα είναι μηνύματα σφάλματος. Οπότε κανένα νέο είναι καλό νέο εδώ.

Ελέγξτε το σύστημα αρχείων

Παρόλο που δεν επισημάνθηκαν σφάλματα, ας είμαστε προσεκτικοί και ας ελέγξουμε ολόκληρο το σύστημα αρχείων για προβλήματα. Θα χρησιμοποιήσουμε μια εντολή που ονομάζεται e2fsck. Αυτό είναι ένα εργαλείο που χρησιμοποιείται για τον έλεγχο του ακεραιότητα των συστημάτων αρχείων. Μπορεί επίσης να προσπαθήσει να επιδιορθώσει τυχόν προβλήματα που εντοπίσει. Το εργαλείο e2fsck λειτουργεί με συστήματα αρχείων ext2, ext3 και ext4.

Η επιλογή -p (preen) κάνει το e2fsck να προσπαθήσει να επιδιορθώσει σφάλματα και η επιλογή -f (force) κάνει το e2fsck να ελέγξει το σύστημα αρχείων ακόμα κι αν το σύστημα αρχείων φαίνεται καθαρό.

e2fsck -pf /dev/sda1

Δεν αναφέρθηκαν σφάλματα. Μπορούμε τώρα να προσπαθήσουμε να προσαρτήσουμε το σύστημα αρχείων.

Τοποθέτηση του συστήματος αρχείων

Πρέπει να προσαρμόσουμε τον πίνακα συστήματος αρχείων (fstab) και τον bootloader grub ώστε να λειτουργούν με το μετατρεπόμενο σύστημα αρχείων. Για να γίνει αυτό, πρέπει να προσαρτήσουμε το σύστημα αρχείων. Θα το τοποθετήσουμε στο /mnt. Εντοπίσαμε το σύστημα αρχείων ως sda1 νωρίτερα, οπότε η εντολή μας είναι:

mount -t ext4 /dev/sda1 /mnt

Τώρα που έχει προσαρτηθεί θα πρέπει να μπορούμε να αναφέρουμε το σύστημα αρχείων. Ας το ελέγξουμε. Η ρίζα του συστήματος αρχείων θα βρίσκεται στο σημείο προσάρτησης, /mnt.

ls /mnt

Αυτό είναι ενθαρρυντικό. Φαίνεται ότι θα το περιμέναμε.

Επεξεργασία fstab

Πρέπει να επεξεργαστούμε το αρχείο fstab και να αλλάξουμε τυχόν αναφορές του ext3 (ή του ext2, αν είναι το σύστημα αρχείων από το οποίο έχετε μετατρέψει) σε ext4.

Το Live CD που χρησιμοποιείται σε αυτό το παράδειγμα έχει τον επεξεργαστή nano. Είναι ένα απλό μικρό πρόγραμμα επεξεργασίας, οπότε θα το χρησιμοποιήσουμε. Εάν το nano δεν είναι διαθέσιμο στο Live CD σας, θα υπάρχει άλλος επεξεργαστής που θα έχει ομαδοποιηθεί από τη διανομή Linux στο CD.

nano /mnt/etc/fstab

Θα εμφανιστεί το παράθυρο nano editor. Πρέπει να αναζητήσετε εμφανίσεις της συμβολοσειράς “ext3” ή “ext2” και να τις αλλάξετε σε “ext4”. Σε αυτό το παράδειγμα, υπήρξε μία εμφάνιση ext3, η οποία επισημαίνεται.

  Πώς να μεταβείτε από το Bash στο ZSH στο Linux

Το ext3 αντικαταστάθηκε από το ext4.

Πρέπει να αποθηκεύσετε το αρχείο και να βγείτε από το πρόγραμμα επεξεργασίας. Στο nano Ctrl+O θα αποθηκεύσει το αρχείο και το Ctrl+X θα κλείσει το πρόγραμμα επεξεργασίας.

Αναβάθμιση grub

Επειδή έχουμε προσαρτήσει το σύστημα αρχείων sda1 στο /mnt, οι διαδρομές προς τους καταλόγους στο σύστημα αρχείων έχουν ουσιαστικά μετακινηθεί ένα επίπεδο βαθύτερα από το συνηθισμένο. Γι’ αυτό η διαδρομή που δώσαμε στο nano ήταν /mnt/etc/fstab αντί για το συνηθισμένο /etc/fstab.

Επειδή το grub αναμένει να βρει πράγματα σε ορισμένα μέρη, πρέπει να κάνουμε το σύστημα αρχείων να φαίνεται σαν να ήταν κανονικά τοποθετημένο. Χρειαζόμαστε η ρίζα του συστήματος αρχείων να είναι στο / και όχι στο /mnt. Η εντολή chroot μας επιτρέπει να εκτελέσουμε ένα κέλυφος εντολών και να καθορίστε το ριζικό σημείο επιθυμούμε να χρησιμοποιήσουμε.

Η εντολή που χρησιμοποιούμε είναι:

chroot /mnt

Σημειώστε ότι η γραμμή εντολών έχει αλλάξει.

Μπορούμε τώρα να εκδώσουμε την εντολή update-grub για να διαβάσει το grub το αρχείο fstab και να ρυθμιστεί εκ νέου.

update-grub

.

Μόλις το grub επαναδιαμορφωθεί, πρέπει να εγκαταστήσουμε μια νέα παρουσία του grub στον σκληρό δίσκο. Σημειώστε ότι αυτός είναι ο σκληρός δίσκος sda, όχι το σύστημα αρχείων sda1. Μην συμπεριλάβετε το “1”, απλώς πληκτρολογήστε “sda”.

grub-install /dev/sda

Επανεκκίνηση του Linux σας

Επανεκκινήστε το σύστημά σας και αφαιρέστε το Live CD. Όταν το σύστημά σας έχει επανεκκινηθεί, ανοίξτε ένα παράθυρο τερματικού και πληκτρολογήστε την ακόλουθη εντολή:

blkid

Όπως μπορούμε να δούμε, το σύστημα αρχείων είναι πλέον ένα σύστημα αρχείων ext4.

Το μηχάνημα για το οποίο ερευνήθηκε αυτό το άρθρο χρειάστηκε τόσο πολύ χρόνο για να επανεκκινήσει (πάνω από δέκα λεπτά) θεωρήθηκε ότι κάτι πήγε στραβά και ότι δεν θα επανέλθει ποτέ.

Ίσως επειδή ήταν μια εικονική μηχανή ή ίσως κάποια από τη μετατροπή του συστήματος αρχείων λαμβάνει χώρα κατά την πρώτη εκκίνηση. Είτε έτσι είτε αλλιώς, η υπομονή κέρδισε και τελικά επανεμφανίστηκε. Εάν το μηχάνημά σας κάνει κάτι παρόμοιο, περιμένετε. Μπορεί να μην χαθούν όλα.

Οι επόμενες επανεκκινήσεις ήταν τόσο γρήγορες όσο συνήθως.

Αντί αυτού, αναβαθμίστε το Linux σας

Λοιπόν, φτάσαμε εκεί. Αλλά εξακολουθείτε να έχετε ένα μη τυπικό υβρίδιο που χρησιμοποιεί μια παλιά έκδοση Linux σε ένα σύγχρονο σύστημα αρχείων.

Εάν η μετάβαση σε ένα νέο σύστημα αρχείων είναι σημαντική για εσάς και το υλικό σας μπορεί να το κάνει, η μετάβαση σε μια τρέχουσα διανομή Linux είναι η καλύτερη διαδρομή. Θα απολαύσετε όλα τα άλλα πλεονεκτήματα ασφάλειας και λογισμικού που προκύπτουν από αυτό.

Ωστόσο, αν δεν υπάρχει τίποτα άλλο για αυτό —και μερικές φορές δεν έχουμε τις επιλογές που θα θέλαμε— αυτά τα βήματα θα σας επιτρέψουν να αναβαθμίσετε το σύστημα αρχείων σας.