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

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

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

Τα αρχεία CAB χρησιμοποιούνται για την αποτελεσματική αποθήκευση και διανομή αρχείων, ιδιαίτερα εντός του λειτουργικού συστήματος Windows. Τα αρχεία CAB χρησιμοποιούν διάφορους αλγόριθμους συμπίεσης, συμπεριλαμβανομένων των LZX, MSZIP και Quantum, για να μειώσουν το μέγεθος των αρχείων που περιέχουν. Αυτά τα αρχεία μπορούν να αποθηκεύσουν πολλά αρχεία και καταλόγους σε ένα μόνο συμπιεσμένο αρχείο, διατηρώντας τη δομή του καταλόγου. Τα αρχεία CAB χρησιμοποιούνται συχνά για πακέτα εγκατάστασης λογισμικού, διανομή προγραμμάτων οδήγησης και ενημερώσεις των Windows. Υποστηρίζουν ψηφιακές υπογραφές, επιτρέποντας την επαλήθευση της ακεραιότητας και της αυθεντικότητας των αρχείων μέσα στο αρχείο.

Πληροφορίες ιστορικού CAB

  • 1994: Η μορφή αρχείου CAB εισήχθη από τη Microsoft για να διευκολύνει τη διανομή πακέτων λογισμικού και ενημερώσεων.
  • 1995: Τα αρχεία CAB χρησιμοποιήθηκαν για την εγκατάσταση εφαρμογών στα Windows 95.
  • 2000: Τα αρχεία CAB έγιναν αναπόσπαστο μέρος της τεχνολογίας Windows Installer (.msi), βοηθώντας στην ανάπτυξη εφαρμογών στα Windows 2000.
  • 2001: Η μορφή CAB συμπεριλήφθηκε στο .NET Framework SDK, ενισχύοντας τη χρησιμότητά της σε διάφορα περιβάλλοντα ανάπτυξης.
  • 2005: Η Microsoft επέκτεινε τη χρήση του CAB με την κυκλοφορία των Windows XP και του Windows Server 2003, χρησιμοποιώντας τα σε ενημερώσεις συστήματος και εγκαταστάσεις προγραμμάτων οδήγησης.
  • 2008: Με την εισαγωγή των Windows Vista και του Windows Server 2008, τα αρχεία CAB συνέχισαν να χρησιμοποιούνται εκτενώς στις ενημερώσεις και τα Service Pack των Windows.
  • 2012: Τα αρχεία CAB υποστηρίχθηκαν στα λειτουργικά συστήματα Windows 8 και Windows Server 2012, διατηρώντας τον ρόλο τους στην ανάπτυξη λογισμικού και τις ενημερώσεις συστήματος.
  • 2021: Τα αρχεία CAB παραμένουν ένα κρίσιμο μέρος του οικοσυστήματος των Windows, που χρησιμοποιούνται για την ανάπτυξη προγραμμάτων οδήγησης, ενημερώσεις συστήματος και εγκαταστάσεις λογισμικού στα Windows 11.

Δομή αρχείου γραφείου

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

  1. Κεφαλίδα: Η κεφαλίδα περιέχει μεταδεδομένα σχετικά με το αρχείο, όπως τον συνολικό αριθμό αρχείων, τον αριθμό των φακέλων και πληροφορίες σχετικά με τις μεθόδους συμπίεσης που χρησιμοποιούνται.
  2. Δομές φακέλων: Τα αρχεία CAB μπορούν να περιέχουν πολλαπλές δομές φακέλων, καθεμία από τις οποίες αντιπροσωπεύει μια λογική ομαδοποίηση αρχείων. Κάθε καταχώρηση φακέλου στο αρχείο CAB περιέχει πληροφορίες σχετικά με τα αρχεία που διατηρεί και τη μέθοδο συμπίεσης που χρησιμοποιείται.
  3. Δεδομένα αρχείου: Τα πραγματικά δεδομένα αρχείου αποθηκεύονται στο αρχείο CAB, συμπιεσμένα χρησιμοποιώντας έναν από τους πολλούς υποστηριζόμενους αλγόριθμους. Τα δεδομένα για κάθε αρχείο αποθηκεύονται συνήθως σε μπλοκ, επιτρέποντας την αποτελεσματική συμπίεση και αποσυμπίεση.

Μέθοδοι συμπίεσης CAB

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

  1. MSZIP: Ένας αλγόριθμος συμπίεσης που βασίζεται στον αλγόριθμο DEFLATE που χρησιμοποιείται σε αρχεία ZIP. Το MSZIP παρέχει μια καλή ισορροπία μεταξύ του λόγου συμπίεσης και της ταχύτητας, καθιστώντας το μια δημοφιλή επιλογή για αρχεία CAB.
  2. Quantum: Μια παλαιότερη μέθοδος συμπίεσης που χρησιμοποιείται σε ορισμένα αρχεία CAB. Το Quantum είναι λιγότερο συνηθισμένο σήμερα, αλλά χρησιμοποιήθηκε σε προηγούμενες υλοποιήσεις της μορφής CAB.
  3. LZX: Ένας αλγόριθμος υψηλής συμπίεσης που παρέχει καλύτερη αναλογία συμπίεσης σε σύγκριση με το MSZIP αλλά με κόστος μικρότερης ταχύτητας συμπίεσης και αποσυμπίεσης. Το LZX είναι κατάλληλο για τη μείωση του μεγέθους μεγάλων πακέτων λογισμικού και αρχείων εγκατάστασης.
  4. Μη συμπιεσμένα: Τα αρχεία CAB μπορούν επίσης να αποθηκεύουν ασυμπίεστα δεδομένα, τα οποία είναι χρήσιμα όταν δεν είναι απαραίτητη η συμπίεση ή όταν απαιτείται γρήγορη πρόσβαση στα αρχεία.

Υποστηριζόμενες λειτουργίες .cab

  • Πλήρης εξαγωγή: Μπορείτε να χρησιμοποιήσετε το API για να εξαγάγετε όλα τα αρχεία και τους φακέλους από ένα αρχείο CAB.
  • Επιλεκτική εξαγωγή: Εξαγωγή συγκεκριμένων αρχείων ή φακέλων με βάση ονόματα ή φίλτρα.
  • Διατήρηση της δομής φακέλων: Τα εξαγόμενα αρχεία διατηρούν την αρχική τους δομή φακέλου μέσα στο αρχείο CAB.

Ενώ το Aspose.Zip δεν προσφέρει επί του παρόντος λειτουργίες για τη δημιουργία αρχείων CAB, υπερέχει στην εξαγωγή του περιεχομένου τους. Ακολουθεί μια ανάλυση του τι μπορείτε να επιτύχετε:

CAB - Εσωτερική Δομή

Η μορφή αρχείου Cabinet (CAB) έχει σχεδιαστεί για αποτελεσματική συμπίεση και αποθήκευση πολλών αρχείων σε ένα μόνο αρχείο. Χρησιμοποιείται συνήθως για διανομή λογισμικού, ιδιαίτερα σε περιβάλλοντα της Microsoft. Ακολουθεί μια επισκόπηση της δομής ενός αρχείου CAB:

  1. Κεφαλίδα: Το αρχείο CAB ξεκινά με μια κεφαλίδα που περιέχει βασικά μεταδεδομένα σχετικά με το αρχείο, όπως:

    • Υπογραφή: Προσδιορίζει το αρχείο ως αρχείο CAB (η συμβολοσειρά ASCII “MSCF”).
    • Δεσμευμένα πεδία: Διάφορα δεσμευμένα πεδία για μελλοντική χρήση ή συγκεκριμένες λεπτομέρειες εφαρμογής.
    • Μέγεθος αρχείου: Συνολικό μέγεθος του αρχείου CAB.
    • Αριθμός φακέλων: Υποδεικνύει πόσες δομές φακέλων (λογικές ομάδες αρχείων) υπάρχουν στο αρχείο.
    • Αριθμός αρχείων: Συνολικός αριθμός αρχείων που είναι αποθηκευμένα στο αρχείο CAB.
    • Μετατόπιση σε First CFFOLDER: Δείχνει την πρώτη καταχώρηση φακέλου μέσα στο αρχείο.
    • Με κράτηση: Πρόσθετα δεσμευμένα πεδία.
  2. Δομές φακέλων: Κάθε αρχείο CAB μπορεί να περιέχει πολλαπλές δομές φακέλων. Κάθε καταχώρηση φακέλου παρέχει:

    • Offset: Θέση μέσα στο αρχείο CAB όπου ξεκινούν τα δεδομένα αυτού του φακέλου.
    • Αριθμός μπλοκ δεδομένων: Υποδεικνύει πόσα μπλοκ δεδομένων υπάρχουν στο φάκελο.
    • Τύπος συμπίεσης: Καθορίζει τη μέθοδο συμπίεσης που χρησιμοποιείται για τα αρχεία σε αυτόν τον φάκελο (π.χ. MSZIP, LZX).
  3. Εισαγωγές αρχείων: Το αρχείο CAB περιλαμβάνει καταχωρήσεις για κάθε αρχείο, με λεπτομέρειες:

    • Μη συμπιεσμένο μέγεθος: Το αρχικό μέγεθος του αρχείου πριν από τη συμπίεση.
    • Offset: Η θέση μέσα στο αρχείο CAB όπου ξεκινούν τα δεδομένα συμπιεσμένου αρχείου.
    • Folder Index: Καθορίζει σε ποιον φάκελο ανήκει το αρχείο.
    • Χαρακτηριστικά: Χαρακτηριστικά αρχείου (π.χ., μόνο για ανάγνωση, κρυφά).
    • File Name Length: Μήκος του ονόματος αρχείου.
    • Όνομα αρχείου: Το όνομα του αρχείου.
  4. Μπλοκ δεδομένων: Τα πραγματικά δεδομένα αρχείου αποθηκεύονται σε συμπιεσμένα μπλοκ δεδομένων. Κάθε μπλοκ περιλαμβάνει:

    • Συμπιεσμένα δεδομένα: Τα δεδομένα αρχείου που συμπιέζονται σύμφωνα με την καθορισμένη μέθοδο (π.χ. MSZIP, LZX).
    • Πληροφορίες αποσυμπίεσης: Μεταδεδομένα που απαιτούνται για την αποσυμπίεση του μπλοκ δεδομένων, όπως το αρχικό και το συμπιεσμένο μέγεθος.
  5. Προαιρετικά δεδομένα: Ορισμένα αρχεία CAB ενδέχεται να περιλαμβάνουν πρόσθετα προαιρετικά δεδομένα για εκτεταμένη λειτουργικότητα, όπως:

    • Αθροίσματα ελέγχου ακεραιότητας: Για επαλήθευση της ακεραιότητας του αρχείου.
    • Ψηφιακές υπογραφές: Για τη διασφάλιση της γνησιότητας του αρχείου.

CAB - Εσωτερική Δομή

Δημοτικότητα του CAB και υποστήριξης

Τα αρχεία CAB χρησιμοποιούνται ευρέως στα Windows για εγκατάσταση λογισμικού, ενημερώσεις και διανομή προγραμμάτων οδήγησης. Η Microsoft παρέχει εργαλεία όπως το MakeCab, το Expand και το DISM για τη δημιουργία, εξαγωγή και διαχείριση αρχείων CAB. Τα αρχεία CAB προσφέρουν αποτελεσματική συμπίεση, ενσωματώνονται με το Windows Installer και μπορούν να χρησιμοποιηθούν για αρχειοθέτηση πολλών τμημάτων.

Παραδείγματα χρήσης αρχείων ντουλαπιού

Τα αρχεία CAB αποθηκεύουν αρχεία σε συμπιεσμένη μορφή χρησιμοποιώντας αλγόριθμους συμπίεσης όπως LZX, MSZIP ή Quantum. Σας επιτρέπουν να αποθηκεύετε πολλά αρχεία σε ένα αρχείο διατηρώντας παράλληλα τη δομή του καταλόγου. Ακολουθούν παραδείγματα κώδικα για την αποσυσκευασία των αρχείων CAB σε C#, Java και Python.Net:

C#

    using (var archive = new CabArchive("installer.cab")) 
    { 
    archive.ExtractToDirectory(@"C:\extracted");
    }

Java

    try (CabArchive archive = new CabArchive("installer.cab")) {
    archive.extractToDirectory("C:\\extracted");
    }

Python.Net

    import aspose.zip as az
    with az.cab.CabArchive('installer.cab') as archive:
        archive.extract_to_directory("C:\\extracted")

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

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

Πρόσθετες πληροφορίες

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

1. Τι είναι ένα αρχείο CAB και σε τι χρησιμοποιείται;

Τα αρχεία cabinet είναι αρχεία αρχειοθέτησης που χρησιμοποιούνται κυρίως από τη Microsoft για την αποτελεσματική διανομή και εγκατάσταση λογισμικού, στοιχείων συστήματος και προγραμμάτων οδήγησης. Υποστηρίζουν πολλαπλούς αλγόριθμους συμπίεσης, όπως MSZIP, Quantum και LZX, για μείωση των μεγεθών αρχείων, διατηρώντας παράλληλα μια δομημένη, οργανωμένη μορφή για τη διαχείριση των περιεχομένων αρχείων.

2. Μπορούν τα αρχεία CAB να χωριστούν σε πολλά μέρη;

Ναι, τα αρχεία CAB υποστηρίζουν τη δημιουργία αρχείων πολλών τμημάτων. Αυτή η δυνατότητα είναι χρήσιμη για τη διανομή μεγάλων συνόλων δεδομένων σε πολλά μικρότερα αρχεία CAB, διευκολύνοντας τη διαχείριση και τη μεταφορά μεγάλων ποσοτήτων δεδομένων. Κατά την εξαγωγή αρχείων CAB πολλαπλών τμημάτων, όλα τα μέρη πρέπει να είναι παρόντα και προσβάσιμα για την επιτυχή ανακατασκευή των αρχικών αρχείων.

3. Μπορώ να δημιουργήσω μόνος μου ένα αρχείο CAB;

Αν και είναι δυνατή η μη αυτόματη δημιουργία αρχείων CAB, είναι γενικά πιο βολικό να χρησιμοποιείτε εξειδικευμένα εργαλεία όπως το MakeCab (ένα βοηθητικό πρόγραμμα της Microsoft) ή άλλο λογισμικό αρχειοθέτησης που υποστηρίζει τη μορφή CAB.