Λίγο πολύ όλοι γνωρίζουν τα κλασικά προγράμματα συμπίεσης αρχείων, όπως το
7-zip,
peazip,
winrar,
winzip,
κλπ ...αλλά πολλοί λίγοι για τις λεπτομέρειες που κάνουν τη διαφορά!
Σε αυτό το post θα σας περιγράψω με απλά λόγια ορισμένους τρόπους τους οποίους βρήκα πιο χρηστικούς σε σχέση με όλους τους υπόλοιπους συμπιεστές που δοκίμασα, εμπνεόμενος αρχικά από αυτήν
εδώ
την ενδιαφέρουσα αξιολόγηση του Matt Mahoney που βρήκα στο διαδίκτυο, αλλά και μετέπειτα από άλλες διάφορες δοκιμές με τις οποίες πειραματίστηκα σε έναν οκταπύρηνο 1700x.
Απ' όλα τα δεκάδες συμπιεστικά εργαλεία που χρησιμοποίησα με τα οποία πραγματοποίησα όλες αυτές τις συμπιέσεις, αυτές που μου άφησαν την καλύτερη εντύπωση ήταν η εξής:
1) .7z με αλγόριθμο lzma2 γιατί συμπιέζει πολύ περισσότερο από τα συνηθισμένα, αλλά αποσυμπιέζει πάρα πολύ γρήγορα (ιδανικό πιστεύω για περιπτώσεις που θέλουμε να έχουμε κάτι πολύ συμπιεσμένο στην άκρη, αλλά ταυτόχρονα «ετοιμοπόλεμο» όταν το χρειαστούμε αποσυμπιεσμένο, άμεσα αποσυμπιέζεται χωρίς χρονοτριβές & καθυστερήσεις), πιθανολογώ επίσης το καλύτερο για site ή/και server backup.
Σημαντική σημείωση:
Αν σκοπεύουμε να το χρησιμοποιήσουμε για site backup/restore και ήδη έχουμε κατεβάσει στον υπολογιστή μας από το cPanel το full backup, πχ το backup-4.22.2020_17-41-51_dosgr.tar.gz, θα πρέπει πρώτα να εξάγουμε
το ένα αρχείο tar (από το συμπιεσμένο gz)
και όχι χύμα & τσουβαλάτα όλα τα αρχεία σε κάποιον φάκελο στον σκληρό μας δίσκο!
Το ζητούμενο δηλαδή με την παραπάνω μέθοδο είναι να υπερσυμπιέσουμε το ένα αρχειο tar, όπως ακριβώς δημιουργήθηκε από το cPanel πριν συμπιεστεί με το gz, συνεπώς ανοίγουμε πρώτα με το
7-zip
το συμπιεσμένο αρχείο backup-4.22.2020_17-41-51_dosgr.tar.gz και πατάμε 'Extract' στο αρχείο που θα μας εμφανίσει, δηλαδή το backup-4.22.2020_17-41-51_dosgr.tar (χωρίς το .gz). Αυτό είναι και το αρχείο που θα συμπιέσουμε μετά με το 7z...
2) mcm compressor (context mixing + lzp) γιατί συμπιέζει απίστευτα, καλύτερα και από το υποτιθέμενο "ταχύτερο" & "καλύτερο" zstandard της facebook, αλλά και περισσότερο ακόμη από το .7z/lzma2. Το ιδανικότερο πιστεύω για περιπτώσεις που θέλουμε να αρχειοθετήσουμε αρχεία τα οποία δεν χρησιμοποιούμε συχνά για μεγάλη οικονομία χώρου (μακροπρόθεσμα ή/και δεύτερα backup), καθώς επίσης για περιπτώσεις downloading / διαμοιρασμού με το χαμηλότερο κόστος σε χρόνο λήψης - traffic - bandwidth & χώρου mb. Στα μειονεκτήματά του είναι σίγουρα ότι ο χρόνος συμπίεσης είναι λίγο αργός αλλά όχι τραγικός (καμία σχέση όμως με τα αργά υπερσυμπιεστικά που κυκλοφορούν τον τελευταίο καιρό) και σχεδόν ίδιος με τον χρόνο αποσυμπίεσης.
Δεν έχει gui (γραφικό περιβάλλον), αλλά μπορούμε να το τρέξουμε εύκολα μέσω της γραμμής εντολών των windows (cmd) εκτελώντας το αρχείο mcm.exe (ή το mcm32.exe αν έχουμε παλιό 32μπιτο σύστημα). Σε περίπτωση που θέλουμε να συμπιέσουμε πολλαπλά αρχεία σε ένα και μόνο συμπιεσμένο mcm αρχείο, καλό είναι πρώτα να τα κάνουμε ένα tar (ή ένα zip ασυμπίεστο / Compression method: Store), προτού αρχίσουμε με το mcm την συμπίεσή του, ως εξής:
-> Συμπίεση (πχ του αρχείου megalo.tar):
mcm.exe -x9 megalo.tar megalo.tar.mcm
-> Αποσυμπίεση (πχ του αρχείου megalo.tar.mcm):
mcm.exe d megalo.tar.mcm megalo.tar
-> Επιπλεόν μπορούμε να χρησιμοποιήσουμε και την ανώτερη συμπίεση, αντικαθιστώντας την μεταβλητή x9 με x11 η οποία όμως λειτουργεί μόνο σε 64μπιτα συστήματα:
mcm.exe -x11 megalo.tar megalo.tar.mcm
(LZMA2 vs MCM)⬎
Σημαντική σημείωση:
Η έκδοση η οποία δουλεύει σωστά και σταθερά & χωρίς προβλήματα είναι
μόνο η v0.83 την οποία μπορείτε να κατεβάσετε από
εδώ
ή απο το github
εδώ
για να την αποθηκεύσετε στον υπολογιστή σας και να την χρησιμοποιήσετε. Η νεότερη έκδοση (v0.84) δυστυχώς έχει προβλήματα και δεν προτείνεται για χρήση προς το παρόν...
3) encode84/.bcm (Burrows-Wheeler Transform) με το
peazip
στην περίπτωση που θα ήθελα να συμπιέσω παλιές ταινίες, βίντεο αρχεία τύπου mpg/mkv/avi, κα. Αρχεία ήχου mp2/mp3/wav/ogg/flac κλπ., αλλά και γενικότερα οποιονδήποτε τύπων αρχείων πολυμέσων συσχετίζονται με τον ήχο, τη μουσική και την εικόνα -κυρίως αυτών που κωδικοποιήθηκαν με
παλαιότερες τεχνολογίες συμπίεσης (codecs).
Γενικά ο μετασχηματισμός
Burrows-Wheeler
με την οποία κωδικοποιεί η συγκεκριμένη συμπίεση, φαίνεται να δουλεύει καλά μπορώ να πω
σε κάποιες περιπτώσεις σ' αυτού του είδους τα αρχεία που ως γνωστόν συμπιέζονται ελάχιστα (ή καθόλου) με τα περισσότερα συμπιεστικά που υπάρχουν, λόγω του φαινομένου παρεμβολής 'προηγούμενης κωδικοποίησης' (encode) που ήδη προϋπάρχει μέσα σε αυτά τα αρχεία...
...συνεχίζεται