Τι είναι τα Inodes στο Linux και πώς χρησιμοποιούνται;

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

Τι είναι τα Inodes στο Linux ; Οι καταχωρήσεις Inode(Inode) αποτελούν τη βάση του συστήματος αρχείων Linux(Linux file system) . Διαχειρίζονται τα μεταδεδομένα για ένα αρχείο και αποτελούν βασικά κομμάτια της εσωτερικής λειτουργίας του Linux

Ποια είναι η δομή ενός συστήματος αρχείων;(What Is The Structure Of a File System?)

Ένα σύστημα αρχείων χωρίζεται σε δύο μέρη - μπλοκ δεδομένων και inode. Ο αριθμός των μπλοκ καθορίζεται μόλις δημιουργηθεί και δεν μπορεί να αλλάξει.

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

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

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

Το επάνω μέρος της ιεραρχίας είναι το ίδιο το σύστημα αρχείων. Μέσα στο σύστημα αρχείων υπάρχουν τα ονόματα αρχείων. Τα ονόματα των αρχείων συνδέονται με τα inodes. Οι inodes συνδέονται με τα φυσικά δεδομένα.

Τι είναι τα Inodes στο Linux;(What Are Inodes In Linux?)

Ένα inode είναι μια δομή δεδομένων. Καθορίζει ένα αρχείο ή έναν κατάλογο στο σύστημα αρχείων και αποθηκεύεται στην καταχώρηση καταλόγου. Τα Inode δείχνουν σε μπλοκ που συνθέτουν ένα αρχείο. Το inode περιέχει όλα τα διαχειριστικά δεδομένα που απαιτούνται για την ανάγνωση ενός αρχείου. Τα μεταδεδομένα (metadata)κάθε(Every) αρχείου αποθηκεύονται σε inodes σε μια δομή πίνακα.

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

Οι ίνοδοι βρίσκονται συνήθως κοντά στην αρχή ενός διαμερίσματος(beginning of a partition) . Αποθηκεύουν όλες τις πληροφορίες που σχετίζονται με ένα αρχείο εκτός από το όνομα του αρχείου και τα πραγματικά δεδομένα. Όλα τα αρχεία σε οποιονδήποτε κατάλογο Linux έχουν ένα όνομα αρχείου και έναν αριθμό inode. Οι χρήστες μπορούν να ανακτήσουν τα μεταδεδομένα για ένα αρχείο αναφέροντας τον αριθμό inode.

Τα ονόματα αρχείων(File) και οι αριθμοί inode αποθηκεύονται σε ξεχωριστό ευρετήριο και συνδέονται με το inode. Μπορείτε να συνδεθείτε με τα μεταδεδομένα που αντιπροσωπεύουν το αρχείο. Είναι δυνατό να έχετε πολλά ονόματα αρχείων που συνδέονται με ένα τμήμα δεδομένων ή inode, όπως μπορείτε να δείτε στην παρακάτω εικόνα.

Τι είναι ο αριθμός Inode;(What Is The Inode Number?)

Κάθε inode στη δομή του Linux έχει έναν μοναδικό αριθμό που προσδιορίζεται μαζί του. Ονομάζεται επίσης αριθμός ευρετηρίου και έχει τα ακόλουθα χαρακτηριστικά:

  • Μέγεθος
  • Ιδιοκτήτης
  • Ημερομηνία ώρα
  • Άδειες και έλεγχος πρόσβασης
  • Θέση στο δίσκο
  • Τύποι αρχείων
  • Αριθμός συνδέσμων
  • Πρόσθετα μεταδεδομένα για το αρχείο

Για να ελέγξετε τη λίστα των αριθμών inode, χρησιμοποιήστε την ακόλουθη εντολή:

ls -i

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

Πώς λειτουργούν τα Inodes;(How Do Inodes Work?)

Όταν δημιουργείτε ένα νέο αρχείο, του εκχωρείται ένα όνομα αρχείου και ένας αριθμός inode. Και τα δύο αποθηκεύονται ως καταχωρήσεις σε έναν κατάλογο. Εκτελώντας την εντολή ls (ls -li ) θα εμφανιστεί μια λίστα με τα ονόματα αρχείων και τους αριθμούς inode που είναι αποθηκευμένοι σε έναν κατάλογο.

Χρησιμοποιήστε την παρακάτω εντολή για να παραθέσετε πληροφορίες inode για κάθε σύστημα αρχείων.

df -γεια(df -hi)

Πόσες Inodes χρησιμοποιείτε;

Ένας τρόπος για να εξαντληθεί ο χώρος σε ένα σύστημα αρχείων είναι να χρησιμοποιήσετε όλα τα inode σας. Ακόμα κι αν έχετε αρκετό ελεύθερο χώρο στο δίσκο σας, δεν θα μπορείτε να δημιουργήσετε νέα αρχεία.

Η χρήση όλων των inodes μπορεί επίσης να έχει ως αποτέλεσμα το σύστημά σας να σταματήσει ξαφνικά. Για να δείτε μια λίστα στατιστικών στοιχείων σχετικά με τη χρήση inode, όπως χρησιμοποιημένο, δωρεάν και ποσοστό που χρησιμοποιείται, πληκτρολογήστε την ακόλουθη εντολή:

sudo df -ih

Πρόσθετοι τρόποι χρήσης των ινωδών(Additional Ways Inodes Are Used)

Ο τρόπος με τον οποίο λειτουργούν τα inode στο Linux καθιστά αδύνατη την ύπαρξη αντικρουόμενων αριθμών inode. Δεν είναι δυνατή η δημιουργία σκληρού συνδέσμου σε διαφορετικά συστήματα αρχείων. Ωστόσο, μπορείτε να χρησιμοποιήσετε μαλακούς συνδέσμους σε διαφορετικά συστήματα αρχείων. Μπορείτε να διαγράψετε τα αρχικά αρχεία και να συνεχίσετε να έχετε τα δεδομένα διαθέσιμα μέσω ενός σκληρού συνδέσμου.

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

Μια διεργασία μπορεί να χρησιμοποιήσει ένα αρχείο βιβλιοθήκης την ίδια στιγμή που μια άλλη διεργασία αντικαθιστά το ίδιο αρχείο με μια νεότερη ενημερωμένη έκδοση και δημιουργεί ένα νέο inode. Η εκτελούμενη διαδικασία συνεχίζει να χρησιμοποιεί το παλιό αρχείο. Την επόμενη φορά που θα χρησιμοποιήσετε την ίδια διαδικασία, θα χρησιμοποιήσει τη νέα έκδοση.

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



About the author

Εργάζομαι ως σύμβουλος για τη Microsoft. Ειδικεύομαι στην ανάπτυξη εφαρμογών για κινητά για συσκευές Apple και Android και ασχολούμαι επίσης με την ανάπτυξη εφαρμογών για Windows 7. Η εμπειρία μου με smartphone και Windows 7 με κάνει ιδανικό υποψήφιο για αυτή τη θέση.



Related posts