Υπάρχει ένας κοινός μύθος ότι οι δίσκοι Linux δεν χρειάζονται καθόλου ανασυγκρότηση. Στις περισσότερες περιπτώσεις, αυτό είναι αλήθεια, κυρίως λόγω των εξαιρετικών συστημάτων αρχειοθέτησης αρχείων που χρησιμοποιεί το Linux (ext2, 3, 4, btrfs κ.λπ.) για να χειριστεί το σύστημα αρχείων. Ωστόσο, σε ορισμένες συγκεκριμένες περιπτώσεις, ενδέχεται να εξακολουθεί να υπάρχει κατακερματισμός. Αν συμβεί αυτό, η λύση είναι ευτυχώς πολύ απλή.

Τι είναι ο κατακερματισμός;

Ο κατακερματισμός εμφανίζεται όταν ένα σύστημα αρχείων ενημερώνει τα αρχεία σε μικρά κομμάτια, αλλά αυτά τα κομμάτια δεν σχηματίζουν ένα συνεχόμενο σύνολο και είναι διασκορπισμένα γύρω από το δίσκο. Αυτό ισχύει ιδιαίτερα για τα συστήματα αρχείων FAT και FAT32. Ήταν κάπως μετριασμένη σε NTFS και σχεδόν ποτέ δεν συμβαίνει στο Linux (extX). Εδώ είναι ο λόγος.

Σε συστήματα αρχείων όπως το FAT και το FAT32, τα αρχεία γράφονται ακριβώς δίπλα στο άλλο στο δίσκο. Δεν υπάρχει χώρος για ανάπτυξη αρχείων ή ενημερώσεις:

Το NTFS αφήνει κάπως περισσότερο χώρο μεταξύ των αρχείων, οπότε υπάρχει περιθώριο ανάπτυξης. Καθώς ο χώρος μεταξύ των τεμαχίων είναι περιορισμένος, ο κατακερματισμός θα συνεχίσει να εμφανίζεται με την πάροδο του χρόνου.

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

Επιπλέον, αν γίνει κατακερματισμός, τα περισσότερα συστήματα αρχείων Linux θα προσπαθήσουν να ανακατέψουν αρχεία και κομμάτια γύρω για να τα καταστήσουν γειτονικά ξανά.

Κατακερματισμός δίσκων στο Linux

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

  • εάν επεξεργάζεστε μεγάλα αρχεία βίντεο ή πρωτογενή αρχεία εικόνας και ο χώρος στο δίσκο είναι περιορισμένος
  • εάν χρησιμοποιείτε παλαιότερο υλικό όπως ένα παλιό φορητό υπολογιστή και έχετε ένα μικρό σκληρό δίσκο
  • εάν οι σκληροί δίσκοι αρχίσουν να γεμίζουν (πάνω από το 85% που χρησιμοποιούνται)
  • αν έχετε πολλά μικρά διαμερίσματα γεμίσει τον οικείο φάκελο

Η καλύτερη λύση είναι να αγοράσετε ένα μεγαλύτερο σκληρό δίσκο. Αν αυτό δεν είναι δυνατό, αυτό είναι όπου ανασυγκρότηση γίνεται χρήσιμη.

Πώς να ελέγξετε τον κατακερματισμό

Η εντολή fsck θα το κάνει αυτό για σας - δηλαδή, αν έχετε την ευκαιρία να το εκτελέσετε από ένα ζωντανό CD, με όλα τα διαμερίσματα που έχουν επηρεαστεί.

Αυτό είναι πολύ σημαντικό: Η λειτουργία του FSCK σε ένα τοποθετημένο τμήμα μπορεί και θα υποστεί βλάβη στα δεδομένα σας και στο δίσκο σας.

Σε έχω προειδοποιήσει. Πριν προχωρήσετε, κάντε ένα πλήρες αντίγραφο ασφαλείας του συστήματος.

Αποποίηση ευθυνών : Ο συντάκτης αυτού του άρθρου και το Make Tech Easier δεν φέρουν καμία ευθύνη για τυχόν ζημιά στα αρχεία, τα δεδομένα, το σύστημά σας ή οποιαδήποτε άλλη ζημιά που προκλήθηκε από τις ενέργειές σας, αφού ακολουθήσετε αυτή τη συμβουλή. Μπορείτε να προχωρήσετε με δική σας ευθύνη. Αν συνεχίσετε, αποδέχεστε και αναγνωρίστε αυτό.

Θα πρέπει απλώς να εκκινήσετε μια ζωντανή συνεδρία (όπως ένα δίσκο εγκατάστασης, CD διάσωσης συστήματος κ.λπ.) και να εκτελέσετε το fsck στα UNMOUNTED κατατμήματά σας. Για να ελέγξετε για τυχόν προβλήματα, εκτελέστε την ακόλουθη εντολή με άδεια root:

 fsck -fn [/ path / to / your / partition] 

Μπορείτε να ελέγξετε τι είναι το [/path/to/your/partition] σας τρέχοντας

 sudo fdisk -l 

Υπάρχει ένας τρόπος για να τρέξετε fsck (σχετικά) με ασφάλεια σε ένα τοποθετημένο διαμέρισμα - δηλαδή χρησιμοποιώντας το διακόπτη -n . Αυτό θα οδηγήσει σε έλεγχο συστήματος αρχείων μόνο για ανάγνωση χωρίς να αγγίξει τίποτα. Φυσικά, δεν υπάρχει καμία εγγύηση για την ασφάλεια εδώ, και θα πρέπει να προχωρήσετε μόνο αφού δημιουργήσετε ένα αντίγραφο ασφαλείας. Σε ένα σύστημα αρχείων ext2, που εκτελείται

 sudo fsck.ext2 -fn / path / to / your / partition 

θα οδηγήσει σε άφθονο αποτέλεσμα - τα περισσότερα από αυτά τα μηνύματα σφάλματος που προκύπτουν από το γεγονός ότι το διαμέρισμα είναι τοποθετημένο. Στο τέλος θα σας δώσει πληροφορίες σχετικά με τον κατακερματισμό.

Εάν ο κατακερματισμός σας είναι πάνω από 20%, θα πρέπει να προχωρήσετε στην ανασυγκρότηση του συστήματός σας.

Πώς να ανασυγκροτήσετε εύκολα τα συστήματα αρχείων Linux

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

Για να δημιουργήσετε αντίγραφα ασφαλείας των αρχείων σας, εκτελέστε

 cp -afv [/ path / to / source / partition] / * [/ path / to / προορισμός / φάκελος] 

Σκεφτείτε τον αστερίσκο (*). είναι σημαντικό.

Σημείωση : Είναι γενικά αποδεκτό ότι για την αντιγραφή μεγάλων αρχείων ή μεγάλων ποσοτήτων δεδομένων, η εντολή dd μπορεί να είναι καλύτερη. Πρόκειται για μια λειτουργία πολύ χαμηλού επιπέδου και αντιγράφει τα πάντα "όπως είναι", συμπεριλαμβανομένου του κενού χώρου, και ακόμη και το άχρηστο απόθεμα. Αυτό δεν είναι αυτό που θέλουμε, γι 'αυτό είναι πιθανώς καλύτερα να χρησιμοποιήσετε cp .

Τώρα χρειάζεται μόνο να αφαιρέσετε όλα τα αρχικά αρχεία.

 sudo rm -rf [/ path / to / source / partition] / * 

Προαιρετικά: μπορείτε να συμπληρώσετε τον κενό χώρο με μηδενικά. Θα μπορούσατε να το επιτύχετε και με τη μορφοποίηση, αλλά αν για παράδειγμα δεν αντιγράψατε ολόκληρο το διαμέρισμα, μόνο μεγάλα αρχεία (τα οποία είναι πιθανότερο να προκαλέσουν κατακερματισμό), ίσως δεν είναι επιλογή.

 sudo dd αν = / dev / μηδέν = [/ path / to / source / partition] /temp-zero.txt 

Περιμένετε να τελειώσει. Θα μπορούσατε επίσης να παρακολουθήσετε την πρόοδο με το pv.

 sudo apt-get εγκαταστήσετε pv sudo pv -tpreb | of = [/ path / to / source / partition] /temp-zero.txt 

Όταν ολοκληρωθεί, απλώς διαγράψτε το προσωρινό αρχείο.

 sudo rm [/path/to/source/partition]/temp-zero.txt 

Αφού μηδενίσετε τον κενό χώρο (ή απλά παραλείψατε αυτό το βήμα εξ ολοκλήρου), αντιγράψτε τα αρχεία σας πίσω, αντιστρέφοντας την πρώτη εντολή cp :

 cp -afv [/ path / to / original / προορισμός / φάκελος] / * [/ path / to / original / source / partition] 

Χρησιμοποιώντας το e4defrag

Εάν προτιμάτε μια απλούστερη προσέγγιση, εγκαταστήστε e2fsprogs,

 sudo apt-get να εγκαταστήσετε το e2fsprogs 

και εκτελέστε το e4defrag ως ρίζα στο επηρεαζόμενο διαμέρισμα. Εάν δεν θέλετε ή δεν μπορείτε να αποσυνδέσετε το διαμέρισμα, μπορείτε να χρησιμοποιήσετε το σημείο προσάρτισης αντί της διαδρομής του. Για να ανασυγκροτήσετε ολόκληρο το σύστημά σας, εκτελέστε

 sudo e4defrag / 

Δεν είναι εγγυημένη η επιτυχία κατά τη συναρμολόγηση (θα πρέπει επίσης να σταματήσετε να χρησιμοποιείτε το σύστημα ενώ εκτελείται), αλλά είναι πολύ πιο εύκολο από την αντιγραφή όλων των αρχείων μακριά και πίσω.

συμπέρασμα

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