Αρχειοθήκη TAR (.tar)
POSIX.1-1988 ΤυπικόΤο Tape Archive (TAR) είναι ένας ευρέως χρησιμοποιούμενος μορφότυπος συσκευασίας στο Unix και το Linux, ο οποίος ομαδοποιεί αρχεία, καταλόγους και επιλεγμένα μεταδεδομένα συστήματος αρχείων σε ασυμπίεστη ροή.
Μετατροπή ZIP σε TAR
Δωρεάν μετατροπέας από ZIP σε TAR εντός του προγράμματος περιήγησης. Μετατρέψτε αρχεία άμεσα στη συσκευή σας.
Επιθεώρηση & Μεταδεδομένα
Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία TAR ελέγχοντας την αρχική δυαδική ακολουθία byte:
Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)
Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία TAR ελέγχοντας την αρχική δυαδική ακολουθία byte:
ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 257):
75 73 74 61 72ΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: ustar
Τυποποίηση: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)
Τεχνικές Προδιαγραφές
| Αρχιτεκτονική Περιέκτη | Ακολουθία μπλοκ 512 byte: κεφαλίδα αρχείου 512 byte, ακολουθούμενη από δεδομένα αρχείου στρογγυλοποιημένα σε πολλαπλάσιο των 512 byte και ολοκληρωμένη με δύο μηδενικά μπλοκ |
| Συμπίεση | Ασυμπίεστος περιέκτης αρχειοθήκης (σχεδιασμένος για διοχέτευση σε gzip, bzip2, xz ή zstd) |
| Σειρά byte (endianness) | Πεδία συμβολοσειρών ASCII οκταδικής μορφής· αριθμητικές επεκτάσεις μεγάλης διάταξης |
| Χρωματικοί Χώροι | N/A (Archive Container) |
| Κανάλια & Δομή | Δέντρο καταλόγων αρχείων Unix, συμβολικοί και σκληροί σύνδεσμοι, συσκευές χαρακτήρων/μπλοκ και σωλήνες FIFO |
| Μέγιστες Διαστάσεις | Όριο 8 GB στο κλασικό ustar· πρακτικά απεριόριστο στη σύγχρονη μορφή PAX |
| Διαφάνεια | Αποθηκεύει επιλεγμένα μεταδεδομένα συστήματος αρχείων, όπως δικαιώματα και αναγνωριστικά κατόχων· τα χαρακτηριστικά που διατηρούνται εξαρτώνται από τη μορφή αρχειοθήκης και την υλοποίηση |
| Ροή δεδομένων και προοδευτική φόρτωση | Σχεδιασμός προσανατολισμένος σε ακολουθιακή ροή: μπορεί να εγγραφεί απευθείας σε φυσικές μαγνητικές ταινίες |
Τεχνικός Πίνακας Σύγκρισης: TAR έναντι Ανταγωνιστών
| Τεχνικό χαρακτηριστικό | TAR (Τρέχον) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| Εγγενής Συμπίεση | Καμία (καθαρό κοντέινερ πακεταρίσματος) | Ενσωματωμένη συμπίεση Deflate | Ενσωματωμένη συμπίεση LZMA/LZMA2 | Καμία (καθαρό κοντέινερ πακεταρίσματος) |
| Διατήρηση Δικαιωμάτων Unix | Επιλεγμένα χαρακτηριστικά POSIX, symlinks, UID/GID | Περιορισμένη υποστήριξη δικαιωμάτων Unix | Διατηρεί βασικά δικαιώματα | 100% χαρακτηριστικά POSIX |
| Εξαγωγή Ροής | Πλήρης εξαγωγή με δυνατότητα ροής από σωλήνες (pipes) | Απαιτεί ανάγνωση κεντρικού καταλόγου στο EOF | Απαιτεί ανάγνωση τελικής κεφαλίδας | Πλήρης εξαγωγή με δυνατότητα ροής |
| Τυχαία Πρόσβαση σε Αρχεία | Αργή (γραμμική διαδοχική σάρωση) | Στιγμιαία (αναζήτηση σε κεντρικό κατάλογο) | Μέτρια (αναζήτηση σε ευρετήριο) | Αργή (γραμμική διαδοχική σάρωση) |
Συνήθεις τρόποι καταστροφής δεδομένων και οδηγός ανάκτησης δεκαεξαδικών δεδομένων
Σφάλμα εξαγωγής: 'tar: Skipping to next header' ή 'A lone zero block at X'.
Βασική Αιτία: Κατεστραμμένη ευθυγράμμιση μπλοκ 512 byte ή πρόωρος τερματισμός της ροής.
Ανάκτηση: Εξαγωγή με 'tar -i' για παράβλεψη κατεστραμμένων μπλοκ ή επιδιόρθωση με το εργαλείο File2File.app Tar Tool.
Ανάλυση ασφάλειας και διανύσματα επίθεσης στον αναλυτή
Τα προγράμματα εξαγωγής TAR πρέπει να καθαρίζουν τις διαδρομές αρχείων για να αποτρέψουν την αυθαίρετη αντικατάσταση αρχείων μέσω επιθέσεων διάσχισης καταλόγου (directory traversal).
Γνωστά διανύσματα επίθεσης
- Επίθεση διάσχισης καταλόγου τύπου 'Slip' (π.χ. '../etc/passwd') που αντικαθιστά κρίσιμα αρχεία συστήματος κατά την εξαγωγή.
- Συνθήκες συναγωνισμού συμβολικών συνδέσμων (symlink race conditions) που δημιουργούν συμβολικούς συνδέσμους σε καταλόγους συστήματος, ακολουθούμενες από εγγραφές αρχείων.
- Άρνηση υπηρεσίας (DoS) μέσω κυκλικών βρόχων σκληρών συνδέσμων.
Βέλτιστες αμυντικές πρακτικές: Να αποστειρώνετε αυστηρά τις διαδρομές αρχείων των αρχειοθηκών και να απορρίπτετε οποιαδήποτε καταχώριση περιέχει αναφορές γονικού καταλόγου ('..').
Ιστορική Αναδρομή & Ορόσημα
Κύρια Πλεονεκτήματα
- Το TAR μπορεί να αποθηκεύσει δικαιώματα Unix, συμβολικούς συνδέσμους και αναγνωριστικά κατόχων. Ελέγξτε αν το πρόγραμμα εξαγωγής επαναφέρει αυτά τα πεδία, ιδίως όταν αποσυμπιέζετε σε Windows ή σε άλλο σύστημα με διαφορετικούς κανόνες δικαιωμάτων.
- Σχεδίαση προσανατολισμένη σε ροή ταινίας: μπορεί να εξαχθεί απευθείας από μια ροή δικτύου χωρίς να απαιτείται μετάβαση στο τέλος του αρχείου.
- Οι διαχειριστές πακέτων Linux και τα εργαλεία κοντέινερ διανέμουν συχνά αρχεία σε αρχειοθήκες TAR, συνήθως συμπιεσμένες ως .tar.gz ή .tar.zst.
Τεχνικοί Περιορισμοί & Μειονεκτήματα
- Χωρίς εγγενή συμπίεση: ένα ασυμπίεστο αρχείο .tar έχει περίπου το ίδιο μέγεθος με το συνολικό μέγεθος των αρχικών αρχείων.
- Η τυχαία πρόσβαση είναι αργή: η εξαγωγή ενός μεμονωμένου αρχείου από τη μέση ενός τεράστιου tarball απαιτεί σάρωση από την αρχή.
- Οι παλαιότερες κεφαλίδες ustar περικόπταν ονόματα αρχείων που είχαν μήκος μεγαλύτερο από 100 χαρακτήρες (επιλύθηκε στα σύγχρονα PAX/GNU tar).
Ενδιαφέροντα Τεχνικά Στοιχεία
- Τα bytes υπογραφής 'ustar' βρίσκονται στη θέση byte 257 μέσα σε κάθε μπλοκ κεφαλίδας 512 byte.
- Το TAR γράφτηκε αρχικά για τον φυσικό έλεγχο μονάδων μαγνητικής ταινίας reel-to-reel 9 καναλιών.
- Οι εικόνες container Docker και OCI είναι κυριολεκτικά στοιβαγμένα σύνολα τυπικών αρχείων .tar που περιέχουν διαφορές στο ριζικό σύστημα αρχείων (root filesystem diffs).
Συχνές Τεχνικές Ερωτήσεις
Γιατί το αρχείο .tar μου δεν είναι συμπιεσμένο;
Το TAR είναι μόνο ένας αρχειοθετητής (ομαδοποιεί αρχεία μαζί σε ένα αρχείο) και δεν συμπιέζει από μόνο του. Για να το συμπιέσετε, συνδυάστε το με το gzip για να δημιουργήσετε ένα αρχείο .tar.gz.
Ποια είναι η διαφορά μεταξύ ustar και GNU tar;
Το Ustar είναι το πρότυπο POSIX του 1988 με όρια ονομάτων αρχείων 100 χαρακτήρων, ενώ το GNU tar είναι μια διευρυμένη μορφή που υποστηρίζει απεριόριστα μήκη διαδρομής και αραιά αρχεία (sparse files).
Πώς μπορώ να ανοίξω ένα αρχείο .tar στα Windows;
Τα Windows 10 και 11 υποστηρίζουν το tar εγγενώς μέσω της γραμμής εντολών ('tar -xf file.tar') ή μπορείτε να το εξαγάγετε οπτικά χρησιμοποιώντας το File2File.app απευθείας στο πρόγραμμα περιήγησής σας.
Σχετικά ζεύγη μετατροπής για TAR
Η μετατροπή ενός αρχείου ZIP σε TAR μετατρέπει ένα συμπιεσμένο δοχείο αρχείων σε μη συμπιεσμένη μορφή αρχείου ταινίας (tape archive), κατάλληλη για περιβάλλοντα Unix.
Η μετατροπή αρχείου TAR σε ZIP μετατρέπει ένα μη συμπιεσμένο κοντέινερ Unix σε ευρέως συμβατή, συμπιεσμένη μορφή αρχείου.
Η μετατροπή αρχειοθήκης TAR σε GZIP τυλίγει μια ασυμπίεστη συλλογή αρχείων σε μία συμπιεσμένη ροή, χρησιμοποιώντας τον αλγόριθμο DEFLATE χωρίς απώλειες, ώστε να μειώσει σημαντικά το μέγεθος αρχείου.
Εξαγάγετε τα δεδομένα TAR από ένα αρχείο TAR συμπιεσμένο με GZIP, όπως .tar.gz ή .tgz.