Μορφή αρχείου TAR

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

Πληροφορίες για το αρχείο TAR

Μια μορφή αρχείου tar, συντομογραφία του “tape archive”, δημιουργείται από το βοηθητικό πρόγραμμα tar στα συστήματα UNIX. Χρησιμεύει ως αρχείο για τη δέσμη αρχείων για εργασίες όπως δημιουργία αντιγράφων ασφαλείας ή διανομή. Σε αντίθεση με τις συμπιεσμένες μορφές αρχειοθέτησης, τα αρχεία tar αποθηκεύουν πολλά αρχεία, γνωστά και ως tarball, σε μη συμπιεσμένη μορφή μαζί με μεταδεδομένα σχετικά με το αρχείο. Ενώ τα ίδια τα αρχεία tar δεν είναι συμπιεσμένα, μπορούν να συμπιεστούν χρησιμοποιώντας βοηθητικά προγράμματα όπως το gzip ή το bzip2 για αποτελεσματική αποθήκευση και μεταφορά.
Δεδομένου ότι η ίδια η μορφή αρχείου tar δεν περιλαμβάνει ενσωματωμένη συμπίεση, τα αρχεία tar συχνά συμπιέζονται χρησιμοποιώντας εξωτερικά βοηθητικά προγράμματα όπως gzip, bzip2, XZ (χρησιμοποιώντας αλγόριθμους συμπίεσης 7-Zip / p7zip LZMA / LZMA2), Brotli, Zstandard και παρόμοια εργαλεία. Αυτή η συμπίεση βοηθά στη μείωση του μεγέθους του αρχείου για ευκολότερη φορητότητα και αποτελεσματική δημιουργία αντιγράφων ασφαλείας δεδομένων. Τα συμπιεσμένα αρχεία που προκύπτουν από αυτήν τη διαδικασία ενδέχεται να έχουν μεμονωμένες επεκτάσεις όπως tgz, tbz, txz, tzst ή διπλές επεκτάσεις όπως tar.gz, tar.br, tar.bz2, tar.xz, tar.zst.

Εξέλιξη της μορφής αρχείου TAR

Η μορφή αρχείου tar έχει εξελιχθεί με την πάροδο του χρόνου. Οι νέες δυνατότητες που προστέθηκαν στο βοηθητικό πρόγραμμα tar από τη δεκαετία του 1980 οδήγησαν σε επεκτάσεις μορφής που περιλαμβάνουν πρόσθετες πληροφορίες για βελτιωμένη λειτουργικότητα. Οι πρώιμες μορφές tar δεν είχαν συνέπεια στον τρόπο αποθήκευσης των αριθμητικών πεδίων, αλλά αυτό αντιμετωπίστηκε σε μεταγενέστερες εκδόσεις για τη βελτίωση της φορητότητας. Αυτή η βελτίωση ξεκίνησε με το πρώτο πρότυπο POSIX για μορφές tar το 1988.
Το POSIX.1 2001 εισήγαγε τη μορφή “extended tar” (επίσης γνωστή ως tar.h ή pax). Αυτή η μορφή είναι η πιο ευέλικτη, ενσωματώνοντας λειτουργίες από άλλες προδιαγραφές πίσσας. Επιτρέπει στους προμηθευτές να προσθέτουν προσαρμοσμένες δυνατότητες χρησιμοποιώντας ετικέτες. Ενώ η τεκμηρίωση υπογραμμίζει ότι δεν μπορούν όλες οι υλοποιήσεις tar να χειριστούν τέλεια αυτή τη μορφή, ο σχεδιασμός της διασφαλίζει ότι κάθε εργαλείο που μπορεί να διαβάσει τα αρχεία “ustar” μπορεί επίσης να διαβάσει τα περισσότερα αρχεία “posix”. Επιπλέον, το POSIX.1 2001 κατάργησε τον προηγούμενο περιορισμό μεγέθους αρχείου των 8 GB για τα αρχεία tar.

Δομή TAR

  • Όνομα αρχείου (100 byte): Το όνομα του αρχείου που είναι αποθηκευμένο σε αυτήν την καταχώρηση.
  • Δικαιώματα αρχείου (8 byte): Δικαιώματα πρόσβασης στο αρχείο, που αντιπροσωπεύονται ως οκταδική συμβολοσειρά.
  • Αναγνωριστικό κατόχου (8 byte): Το αριθμητικό αναγνωριστικό χρήστη του κατόχου του αρχείου (οκταδική μορφή).
  • Αναγνωριστικό ομάδας (8 byte): Το αριθμητικό αναγνωριστικό ομάδας του κατόχου του αρχείου (οκταδική μορφή).
  • Μέγεθος αρχείου (12 byte): Το μέγεθος του αρχείου σε οκταδική μορφή.
  • Χρόνος τελευταίας τροποποίησης (12 byte): Η οκταδική χρονική σήμανση της τελευταίας τροποποίησης αρχείου.
  • Άθροισμα ελέγχου (8 byte): Μια τιμή αθροίσματος ελέγχου που χρησιμοποιείται για την επαλήθευση της ακεραιότητας των δεδομένων κεφαλίδας.
  • Τύπος αρχείου (1 byte): Υποδεικνύει τον τύπο του αποθηκευμένου αρχείου (κανονικό αρχείο, σκληρός σύνδεσμος ή συμβολικός σύνδεσμος).
  • Όνομα συνδεδεμένου αρχείου (μεταβλητό μήκος): Εάν η καταχώρηση είναι σύνδεσμος (σκληρός ή συμβολικός), αυτό το πεδίο αποθηκεύει το όνομα του συνδεδεμένου αρχείου.

Ένα αρχείο TAR, στον πυρήνα του, είναι μια ακολουθία μπλοκ δεδομένων. Αυτά τα μπλοκ σταθερού μεγέθους 512 byte είναι διατεταγμένα γραμμικά. Για να επισημάνετε το τέλος του αρχείου, υπάρχουν δύο διαδοχικά μπλοκ γεμάτα με μηδενικά.
Ωστόσο, όταν προβάλλεται λογικά, ένα αρχείο TAR είναι μια σειρά από καταχωρήσεις αρχείων. Κάθε καταχώρηση αποτελείται από πολλαπλά μπλοκ, με το πρώτο μπλοκ να είναι πάντα η κεφαλίδα της καταχώρισης. Τα υπόλοιπα μπλοκ αποθηκεύουν το πραγματικό περιεχόμενο του αρχείου.
Μέσα στην κεφαλίδα καταχώρισης
Η κεφαλίδα καταχώρισης λειτουργεί ως σχεδιάγραμμα για κάθε αρχείο μέσα στο αρχείο. Περιέχει τις ακόλουθες πληροφορίες

Πλεονεκτήματα αυτής της μορφής

  • Πολυχρηστικότητα - Το TAR είναι μια ευέλικτη μορφή ικανή να αποθηκεύει πολλά αρχεία και καταλόγους σε ένα μόνο αρχείο αρχειοθέτησης, καθιστώντας το κατάλληλο για διάφορες ανάγκες δημιουργίας αντιγράφων ασφαλείας και διανομής.
  • Διατήρηση χαρακτηριστικών αρχείων Το TAR διατηρεί σημαντικά χαρακτηριστικά αρχείων, όπως δικαιώματα, ιδιοκτησία και χρονικές σημάνσεις, διασφαλίζοντας ότι τα αρχειοθετημένα δεδομένα διατηρούν την ακεραιότητα και τη χρηστικότητά τους.
  • Απλότητα - Η δομή των αρχείων TAR είναι απλή και απλή, καθιστώντας εύκολη την εργασία και την επεξεργασία τους. Αυτό απλοποιεί τον προγραμματισμό και την αυτοματοποίηση των εργασιών που σχετίζονται με τα αρχεία TAR.

h2: Πλεονεκτήματα αυτής της μορφής

Λειτουργίες που υποστηρίζονται από το αρχείο TAR

Το Aspose.ZIP επιτρέπει στον χρήστη να εξάγει είτε συγκεκριμένη καταχώρηση είτε ολόκληρο το αρχείο. Για το Aspose.ZIP για .NET Μπορείτε να χρησιμοποιήσετε το TarArchiveClass για να ανοίξετε το αρχείο .tar.gz και στη συνέχεια να επαναλάβετε τις καταχωρίσεις του, εξάγοντάς τες σε μια επιθυμητή θέση. Για Aspose.ZIP για Java Παρόμοια προσέγγιση χρησιμοποιώντας το TarArchive για να ανοίξετε το αρχείο .tar.gz και να εξαγάγετε καταχωρήσεις.

TAR-αρχείο - Εσωτερική δομή

Τα αρχεία τμημάτων αποθηκεύουν ακατέργαστα δεδομένα για ένα τμήμα. Ενώ υπάρχουν διαφορετικοί τύποι τμημάτων, τα αρχεία TAR διαφοροποιούν μόνο τα τμήματα δεδομένων και τα μαζικά τμήματα. Τα μαζικά τμήματα αποθηκεύονται απευθείας “ως έχουν” στο αρχείο TAR.
Τα τμήματα δεδομένων, ωστόσο, εξετάζονται για να βρεθούν αναφορές σε άλλα τμήματα ή ακατέργαστο δυαδικό περιεχόμενο. Αυτές οι αναφορές αποθηκεύονται απλώς ως μια λίστα μοναδικών αναγνωριστικών (UUID) εντός του τμήματος δεδομένων. Τα αναφερόμενα τμήματα μπορούν να βρίσκονται είτε εντός του τρέχοντος αρχείου TAR είτε εξωτερικά.
Οι εσωτερικές αναφορές βρίσκονται ελέγχοντας το ευρετήριο του αρχείου TAR. Οι εξωτερικές αναφορές απαιτούν ένα εξωτερικό εργαλείο για τον εντοπισμό του τμήματος σε άλλο αρχείο TAR. Η λίστα των αναφερόμενων τμημάτων σε ένα τμήμα δεδομένων αποθηκεύεται στο αρχείο γραφήματος για ταχύτερη ανάκτηση. Αυτή η λίστα διατηρείται σε σειρά για τη βελτιστοποίηση της διαδικασίας αναζήτησης.

TAR-αρχείο - Εσωτερική δομή

Εσωτερική δομή αρχείου

  • Μεταδεδομένα αρχείου - Παρόμοια με ένα αρχείο tar, κάθε αρχείο αποθηκεύει βασικές πληροφορίες όπως ο χρόνος τροποποίησης και τα δικαιώματα. Ωστόσο, αυτή η ενότητα είναι ευέλικτη και επιτρέπει την παράλειψη ή τη συμπερίληψη πρόσθετων λεπτομερειών όπως λίστες ελέγχου πρόσβασης (ACL) ή εκτεταμένα χαρακτηριστικά (EA) με βάση τις ανάγκες σας. Συνιστάται να συμπεριλάβετε μια ισχυρή συνάρτηση κατακερματισμού (όπως το SHA1) για κανονικά αρχεία για να διασφαλίσετε την ακεραιότητα των δεδομένων.
  • Πολλαπλές ροές περιεχομένου - Σε αντίθεση με τα παραδοσιακά αρχεία, τα αρχεία μπορούν να έχουν περισσότερες από μία ροές δεδομένων στο εσωτερικό αρχείο δεδομένων. Αυτό είναι χρήσιμο για την αποθήκευση εκτεταμένων χαρακτηριστικών ή πιρουνιών πόρων που σχετίζονται με το αρχείο.
  • Κεφαλίδες - Το εσωτερικό αρχείο ευρετηρίου περιέχει κεφαλίδες αρχείων, αντικατοπτρίζοντας αυτές που είναι διάσπαρτες σε όλο το εσωτερικό αρχείο δεδομένων. Όμως, όταν αποθηκεύονται χωριστά, οι κεφαλίδες ευρετηρίου πρέπει να αναφέρονται στην αρχική θέση των αντίστοιχων δεδομένων τους μέσα στο αρχείο δεδομένων. Επιπλέον, οι εγγραφές καταλόγου στο ευρετήριο παραθέτουν τα περιεχόμενα αρχεία τους και τις αντίστοιχες μετατοπίσεις τους εντός του ευρετηρίου εσωτερικού αρχείου.
  • Αιτιολογία για Διπλότυπα Μεταδεδομένα - Αυτή η επιλογή σχεδίασης εξασφαλίζει αποτελεσματική ροή δεδομένων/αποκωδικοποίηση και τυχαία πρόσβαση σε αρχεία. Επιπλέον, τα μεταδεδομένα συμπιέζονται καλά, με αποτέλεσμα ελάχιστο κόστος αποθήκευσης. Οι δοκιμές δείχνουν ότι τα μεταδεδομένα καταλαμβάνουν συνήθως λιγότερο από το 0,3% του αποθηκευτικού χώρου, καθιστώντας τον συμβιβασμό χρήσιμο.
  • Κεφαλίδες μπλοκ - Οι κεφαλίδες μπλοκ, παρόμοιες με το εξωτερικό αρχείο, περιέχουν πληροφορίες μεγέθους μπλοκ και μια μοναδική ακολουθία αναγνωριστικών.

h2: Εσωτερική δομή αρχείου

Παραδείγματα χρήσης TAR

Το Aspose.ZIP API επιτρέπει την εξαγωγή αρχείων στις εφαρμογές σας χωρίς την ανάγκη χρήσης άλλων εφαρμογών τρίτων. Το Aspose.ZIP API παρέχει κλάση TarArchive για εργασία με αρχεία TAR.

Add entries to existing TAR archive via C#

All you need to do is open archive for extraction and add entry to archive .

    using (TarArchive archive = new TarArchive(existing.tar))
    {
        archive.CreateEntry("one_more.bin", data.bin);
        archive.Save(added.tar);
    }

Delete entries from existing TAR archive via .net

Entries of tar archive can be deleted with similar DeleteEntry methods.

using (var archive = new TarArchive("two_files.tar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.tar");
}

Add files to TAR archive without compression

Tar is a file archival format used to group multiple files and directories into a single archive file without compression , unlike formats like ZIP, RAR and others. To create a tar archive without specifying any compression settings, simply use a TarArchive instance.

    using (FileStream tarFile = File.Open("joint.tar", FileMode.Create))
    {
        FileInfo fi1 = new FileInfo("text.txt");
        FileInfo fi2 = new FileInfo("picture.png");
        using (TarArchive archive = new TarArchive())
        {
            archive.CreateEntry("text.txt", fi1);
            archive.CreateEntry("picture.png", fi2);
            archive.Save(tarFile);
        }
    }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

Πρόσθετες πληροφορίες σχετικά με τα αρχεία TAR


h2: Πρόσθετες πληροφορίες σχετικά με τα αρχεία TAR

Ο κόσμος ρωτούσε

1. Τι είναι ένα αρχείο TAR;

Το αρχείο TAR, συντομογραφία του Tape Archive, είναι μια μορφή αρχείου που χρησιμοποιείται για τη δέσμη πολλαπλών αρχείων και καταλόγων σε ένα ενιαίο αρχείο αρχειοθέτησης χωρίς συμπίεση. Χρησιμοποιείται συνήθως για σκοπούς δημιουργίας αντιγράφων ασφαλείας και διανομής σε συστήματα που βασίζονται σε Unix.

2. Ποια είναι τα οφέλη των αρχείων TAR;

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

3. Ποιοι είναι ορισμένοι περιορισμοί των αρχείων TAR;

Ενώ το TAR είναι μια ευέλικτη μορφή αρχείου που χρησιμοποιείται συνήθως για την αρχειοθέτηση και τη διανομή αρχείων σε συστήματα που βασίζονται σε Unix, έρχεται με ορισμένους περιορισμούς που πρέπει να γνωρίζετε. Πρώτον, το TAR δεν διαθέτει ενσωματωμένες δυνατότητες συμπίεσης, που σημαίνει ότι θα χρειαστείτε πρόσθετα εργαλεία όπως το gzip ή το bzip2 για να μειώσετε τα μεγέθη αρχείων. Δεύτερον, τα αρχεία TAR δεν προσφέρουν δυνατότητες εγγενούς κρυπτογράφησης, επομένως εάν χρειάζεστε ασφάλεια δεδομένων, θα πρέπει να βασιστείτε σε εξωτερικά εργαλεία για προστασία με κωδικό πρόσβασης. Τέλος, το TAR έχει περιορισμένη υποστήριξη για τη διατήρηση χαρακτηριστικών αρχείων, όπως οι χρονικές σημάνσεις και τα δικαιώματα από τα αρχικά αρχεία, τα οποία μπορεί να επηρεάσουν την ακεραιότητα των αρχειοθετημένων δεδομένων.