Τι είναι το σύστημα αρχείων βρόχου;
Το Gnu / Linux (και η συντριπτική πλειονότητα των συστημάτων unix) διαθέτει έναν μηχανισμό που επιτρέπει την τοποθέτηση ενός αρχείου (προηγουμένως διαμορφωμένο) σαν να ήταν ένας σκληρός δίσκος, συνήθως χωρίς πίνακα διαμερισμάτων Αυτό το άσχημο διάγραμμα (που έγινε από εμένα) εξηγεί πώς λειτουργεί αυτός ο μηχανισμός.
Χρήσεις αρχείων βρόχου
1- Αρχεία Mount.iso
Τα αρχεία .iso, η τυπική κατ 'εξοχήν σε CD και DVD, δεν είναι τίποτα περισσότερο από ένα αρχείο βρόχου του οποίου το σύστημα αρχείων μπορεί να είναι ISO 9960 (πιο συνηθισμένο σε CD) ή UDF (τα πιο συνηθισμένα σε DVD). Για να το προσαρτήσουμε, θα χρησιμοποιήσουμε την εντολή mount.
mkdir iso # δημιουργία του καταλόγου chmod -R 666 iso # παραχωρεί σε όλους τους χρήστες άδεια ανάγνωσης mount image.iso iso/ # προσάρτηση της εικόνας iso (απαιτείται root)
Ο περιορισμός που έχετε είναι ότι, για προφανείς λόγους, και τα δύο συστήματα αρχείων είναι μόνο για ανάγνωση.
2- σκουός μόνο για ανάγνωση
Ας υποθέσουμε ότι έχουμε έναν φάκελο εικόνων ή / και βίντεο που είναι οργανωμένος ανάλογα με το έτος λήψης του. Προφανώς, είναι απίθανο να θέλουμε να τροποποιήσουμε τα δεδομένα που περιέχονται σε φακέλους από προηγούμενα χρόνια. Εκεί μπαίνει το Squashfs. Το Squashfs είναι ένα σύστημα συμπίεσης αρχείων μόνο για ανάγνωση, οπότε μόλις δημιουργηθεί η εικόνα, δεν θα είμαστε σε θέση να τροποποιήσουμε τα δεδομένα μέσα.
Έτσι, όχι μόνο θα εξοικονομήσουμε τεράστιο χώρο, αλλά και το περίεργο αποτέλεσμα που η ανάγνωση των αρχείων θα είναι ταχύτερη, με την ανάγνωση μικρότερων αρχείων, καθώς σήμερα η αποσυμπίεση ενός αρχείου είναι μια ελάχιστη προσπάθεια για τους περισσότερους επεξεργαστές.
Αφήνοντας τα προοίμια, για να δημιουργήσουμε την εικόνα σκουός πρέπει να χρησιμοποιήσουμε την εντολή mksquashfs, της οποίας η σύνταξη είναι απλή:
mksquashfs directorio 1 [directorio 2 directorio 3...] imagen.sqsfs -comp [algoritmo de compresión] -b [tamaño del bloque ]
Και εδώ είναι ένα πρακτικό παράδειγμα:
mksquashfs fotos-2009 fotos-2010 fotos-2011 fotos-2012 fotos-2013 fotos_2009-2013.sqsfs -comp xz -bs 1M
Λοιπόν, ο επιλεγμένος αλγόριθμος είναι xz δεδομένου ότι είναι αυτός που υψηλότερη αναλογία συμπίεσης προσφορές (από αυτές που είναι διαθέσιμες), ενώ το επιλεγμένο μέγεθος μπλοκ είναι το μέγιστο. τι επιτρέπει καλύτερα αποτελέσματα συμπίεσης (από προεπιλογή είναι 64KiB).
Τώρα θα πρέπει να μπορούμε να το τοποθετήσουμε με ένα απλό.
mount fotos_2009-2013.sqsfs fotos_2009-2013/
Αφού ελέγξουμε ότι όλα είναι σωστά, μπορούμε να διαγράψουμε τα αρχικά αρχεία ή να αφήσουμε το αρχείο ως αντίγραφο ασφαλείας.
Σε περίπτωση που θέλουμε να τοποθετηθεί κατά την εκκίνηση του λειτουργικού συστήματος, πρέπει να προσθέσουμε μια γραμμή αυτού του στυλ στο / etc / fstab:
/dir/loop.sqsh /dir/mountdir squashfs ro,defaults 0 0
Τώρα, τι συμβαίνει όταν θέλουμε να προσθέσουμε ή να διαγράψουμε αρχεία ή απλά να εξαγάγουμε αυτά τα στιγμιότυπα; Λοιπόν, έχουμε την εντολή την εντολή unsquashfs.
unsquashfs [opciones] snapshot.sqfs [Directorios o archivos que extraer]
Από προεπιλογή, θα χρησιμοποιήσει το "squashfs-root" ως κατάλογο εξαγωγής. μπορεί να αλλάξει με την επιλογή -d
- livecd
- Ενσωματωμένα συστήματα
- Διακομιστές
- Γενικά, οποιοδήποτε σύστημα μόνο για ανάγνωση
3- «Ανταλλαγή έκτακτης ανάγκης»
Φανταστείτε ότι για οποιονδήποτε λόγο (αδρανοποίηση, μαζικές συλλογές ...) χρειάζεστε ένα επιπλέον ανταλλαγή. Εδώ μπαίνει το αρχείο βρόχου, το πρώτο βήμα είναι να φτιάξετε ένα κενό αρχείο συγκεκριμένου μεγέθους, με συγκεκριμένο μέγεθος μπλοκ, το κάνουμε αυτό με την εντολή ηη:
dd if=/dev/zero of=loop bs=1M count=512
Σε αυτήν την περίπτωση, το μπλοκ είναι ένα MiB και το μέγεθος αρχείου είναι 512MiB. Δεν χρειάζεται να είναι έτσι.
Δημιουργούμε και ενεργοποιούμε την ανταλλαγή με αυτήν την εντολή
mkswap loop && swapon loop
Λάβετε υπόψη ότι η απόδοση ενός αρχείου βρόχου είναι πάντα κάπως χαμηλότερη από αυτήν ενός πραγματικού φυσικού.
4-κάντε ό, τι θέλετε
Αυτά είναι μερικά από τα πιο χαρακτηριστικά παραδείγματα, μη διστάσετε να πειραματιστείτε με chroots, συστήματα κρυπτογράφησης, ένθετους βρόχους… Οι δυνατότητές σας είναι απεριόριστες. Όμως, να είστε προσεκτικοί με τις εντολές που εκτελείτε, σκεφτείτε προσεκτικά πριν πατήσετε enter.
Σύνδεσμοι ενδιαφέροντος
- Βικιπαίδεια Squashfs
- Ο άνθρωπος mksquashfs
- Άνθρωπος unsquashfs
- iso 9960 wikipedia
- Βικιπαίδεια UDF
- Βικιπαίδεια VFS
- Βρόχος wikipedia
Καλή θέση che !! Έχω κάποια γιγαντιαία αντίγραφα ασφαλείας εκεί έξω και δεν μου συνέβη ποτέ να τα συμπιέσω. Θα το χρησιμοποιήσω και παρεμπιπτόντως θα κρυπτογραφήσω το εξωτερικό μου για να το γεμίσω και τότε θυμήθηκα ότι επρόκειτο να το κρυπτογραφήσω 🙁
Ενδιαφέρον για να δοκιμάσετε το πράγμα σκουός
Καλό φροντιστήριο, είχα διαβάσει πώς να δημιουργήσω αρχεία img με dd και να τα προσαρτήσω, αλλά δεν ήξερα τη χρήση του Squashfs και τη συμπίεσή του. Αν και δεν επιτρέπει την τροποποίηση του περιεχομένου του, η χρήση του μπορεί να είναι χρήσιμη σε καταστάσεις όπως αυτές που σχολιάζετε. Ευχαριστώ που μοιραστήκατε, χαιρετισμούς.
Πολύ καλό να το γνωρίζετε, ευχαριστώ για τη συμβουλή.
Μαθαίνεις πάντα κάτι νέο. Εξοχος!
Είναι αστείο, ήξερα σκουός και σε τι χρησιμεύουν, αλλά δεν μου είχε συμβεί ποτέ να συμπιέσω τις εικόνες μου. Ευχαριστώ για την συμβουλή.
Εντυπωσιακό, για να το δοκιμάσετε για να δείτε τι συμβαίνει. Πολύ καλή συμβουλή
εξαιρετικό δάσκαλο !!! =)… Πολύ καλή συμβουλή !!!
Γεια σας roader. Πολύ ενδιαφέρον άρθρο, ευχαριστώ που μοιραστήκατε.
Στο Gentoo πρέπει να ενεργοποιήσετε την υποστήριξη SquashFS στον πυρήνα πριν τη μεταγλώττιση, θα το δοκιμάσω για να δω πώς λειτουργεί. Ευχαριστώ.
δοκιμάστηκε στο Gentoo μεταγλώττιση του πυρήνα για αυτό και εξαιρετικό
Απλώς διορθώστε ένα μικρό τυπογραφικό λάθος, roader.
Στο παράδειγμα:
mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -bs 1M
ανταλλαγή του s στο "-bs" (το οποίο καθορίζει το μέγεθος του μπλοκ), θα πρέπει να έχει την εξής μορφή:
mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -b 1M