[md5sum] Έλεγχος ακεραιότητας αρχείων

Πριν το βάψεις μπλε και το ρίξεις στη θάλασσα γιατί δεν ρίχνεις μια ματιά εδώ;

Συντονιστές: kostas213, markelos

Απάντηση
Άβαταρ μέλους
drcypher
Portal Administrator
Portal Administrator
Δημοσιεύσεις: 2300
Εγγραφή: Τετ Νοέμ 01, 2006 7:33 am
Real Name: Κώτσος Φίλ
Gender: Male
Τοποθεσία: Μπροστά στην οθόνη

[md5sum] Έλεγχος ακεραιότητας αρχείων

Δημοσίευση από drcypher »

Έχει τύχει αρκετές φορές να κατεβάσω κάποια .iso (θηρία των 650 MB συνήθως) από ftp, και όταν πάω να τα κάψω σε CD να βγάζουν ένα σωρό προβλήματα επειδή είναι σπασμένα (δεν κατέβηκαν σωστά).

Γι' αυτό το λόγο όσοι διαθέτουν αρχεία μέσω FTP, ειδικά μεγάλου μεγέθους, παρέχουν πάντα και τα MD5 Hashes τους. Αυτά είναι κάποια αλφαριθμητικά σταθερού μήκους (π.χ. 32 χαρακτήρων) που εξάγονται μέσω ενός αλγορίθμου που εφαρμόζεται σε όλο το μήκος του αρχείου και χρησιμοποιούνται είτε για τον έλεγχο της ακεραιότητάς του, της αυθεντικότητάς του, κτλ.

Το πρόγραμμα που χρησιμοποιείται για την αξιοποίηση των παραπάνω είναι το md5sum.

Παράδειγμα: Θέλετε να κατεβάσετε από FTP τα 4 ISO της διανομής Scientific Linux. Τα αρχεία που διατίθενται είναι τα εξής:

Κώδικας: Επιλογή όλων

SL.44.102306.i386.disc1.iso 	622914 KB 	23/10/2006 	15:07:00
SL.44.102306.i386.disc2.iso 	647602 KB 	23/10/2006 	15:09:00
SL.44.102306.i386.disc3.iso 	651008 KB 	23/10/2006 	15:11:00
SL.44.102306.i386.disc4.iso 	640528 KB 	23/10/2006 	15:12:00
SL.44.102306.i386.md5sum    	1 KB    	23/10/2006 	15:13:00
Τα 4 πρώτα αρχεία είναι προφανώς τα ISO που θα κατεβάσετε και θα κάψετε σε δισκάκια. Το τελευταίο αρχείο, περιέχει τα md5 sums των τεσσάρων iso. Το περιεχόμενό του είναι το παρακάτω:

Κώδικας: Επιλογή όλων

de58ad64aa29f205493b9feacba10169  SL.44.102306.i386.disc1.iso
e7836a7904ad4f1e980bcde0ccaaf91a  SL.44.102306.i386.disc2.iso
aefe6c9162818e7cc85584d1d7e6ae10  SL.44.102306.i386.disc3.iso
1d04f3d8afb2e00c1ca6e57caa82eae5  SL.44.102306.i386.disc4.iso
Σε κάθε γραμμή υπάρχει ένα MD5 Hash 32 χαρακτήρων, και από δίπλα το όνομα του αρχείου στο οποίο αναφέρεται. Αφού κατεβάσετε και τα 5 αρχεία, τρέχετε την εντολή:

Κώδικας: Επιλογή όλων

md5sum -c SL.44.102306.i386.md5sum
Μετά από κάποιο χρονικό διάστημα (εξαρτάται από το μέγεθος των αρχείων, για τα παραπάνω μου πήρε περιπου 8 λεπτά), αν όλα πάνε καλά το πρόγραμμα md5sum θα σας τυπώνει σε κάθε γραμμή το όνομα κάθε ενός από τα 4 αρχεία που έλεγξε καθώς και το κατά πόσο ο έλεγχος ήταν επιτυχής.

Αν για κάποιο αρχείο ο έλεγχος αποτύχει, σημαίνει ότι θα πρέπει να το ξανακατεβάσετε!

Παρόλα αυτά, με την παραπάνω εντολή ζητάτε να ελεγχθούν μόνο τα αρχεία που περιέχονται στο αρχείο md5sum, συγκρίνοντας τα md5sums που θα υπολογιστούν εκείνη την ώρα με αυτά που υπάρχουν στο αρχείο.

Μπορείτε, όμως, να βρίσκετε το md5sum οποιουδήποτε αρχείου με την εντολή

Κώδικας: Επιλογή όλων

md5sum file_name
η οποία θα σας εμφανίσει το MD5 Hash του συγκεκριμένου αρχείου. Αυτό μπορείτε είτε να το αποθηκεύσετε για να το διανείμετε, είτε να το συγκρίνετε με το αποτέλεσμα που θα σας βγάλει π.χ. σε κάποιον άλλον υπολογιστή. Έτσι μπορείτε να δείτε αν τα αρχεία είναι πανομοιότυπα χωρίς να κάνετε ανώφελες αντιγραφές και συγκρίσεις.
  • Στο Linux το πρόγραμμα md5sum διανέμεται εν γένει ούτως ή άλλως. Ανήκει στο πακέτο textutils.
  • Για τα windows υπάρχει αυτό το link
Αναφορές:
Από τούδε και στο εξής ως στρογγυλοί αριθμοί ορίζονται τα πολλαπλάσια του 5 και οι δυνάμεις του 2.
Άβαταρ μέλους
HeartDoc
Δημοσιεύσεις: 955
Εγγραφή: Σάβ Νοέμ 04, 2006 4:10 am
Real Name: Νίκος Καραστάθης
Gender: Male
Τοποθεσία: Geneva, CH

Δημοσίευση από HeartDoc »

Η έξοδος "Ανόμοιο MD5Sum" είναι η έξοδος για corrupted file;

Ειδικότερα, τρέχω (σε ubuntu) την:

Κώδικας: Επιλογή όλων

sudo apt-get install kubuntu-desktop
Και μετά από μερικά "πάρε-δώσε" μου εμφανίζει συνέχεια το μήνυμα:

Κώδικας: Επιλογή όλων

Αποτυχία ανάκτησης του http://gr.archive.ubuntu.com/ubuntu/pool/main/k/
kubuntu-default-settings/kubuntu-default-settings_6.10-61_all.deb   
Ανόμοιο MD5Sum
E: Αδύνατη η μεταφόρτωση μερικών αρχείων, ίσως αν δοκιμάζατε με apt-get update ή το --fix-missing;

Δοκίμασα την

Κώδικας: Επιλογή όλων

sudo apt-get update
αλλά αν και το έχω δοκιμάσει καμιά 10αριά φορές πάντα εμφανίζει το ίδιο σφάλμα.  :(

(Το kubuntu desktop με "καίει" γιατί σε ubuntu δεν βλέπει το bluetooth dekstop μου.. :( )
The day Microsoft makes something that doesn't suck is the day they start making vacuum cleaners.
Άβαταρ μέλους
drcypher
Portal Administrator
Portal Administrator
Δημοσιεύσεις: 2300
Εγγραφή: Τετ Νοέμ 01, 2006 7:33 am
Real Name: Κώτσος Φίλ
Gender: Male
Τοποθεσία: Μπροστά στην οθόνη

Δημοσίευση από drcypher »

HeartDoc έγραψε:Η έξοδος "Ανόμοιο MD5Sum" είναι η έξοδος για corrupted file;
Συνήθως τα corruptions προκύπτουν είτε από αντιγραφο από οπτικούς δίσκους (cd, dvd, κτλ.) με επιφανειακές φθορές (αν και μάλλον εκεί θα έχεις κι άλλα προβλήματα) είτε από μεγάλα (της τάξης των δεκάδων ή εκατοντάδων MB) αρχεία που κατεβάζεις από το Internet (είναι αρκετά πιθανόν να συμβούν σφάλματα κατά τη μεταφορά του αρχείου).

Αν μιλάμε για μικρά αρχεία τότε πιθανότατα να είναι ήδη χαλασμένο το αρχείο που κατεβάζεις (δηλ. να μην χαλάει κατά τη μεταφορά ή την αποθήκευση), ή λανθασμένο το MD5sum με το οποίο το σύστημά σου εγκατάστασης πακέτων προτείνει να ελέγξεις το συγκεκριμένο αρχείο. Παρόλα αυτά δεν μπορώ να φανταστώ πώς ή γιατί ένας packager που δημιουργεί αυτόματα MD5sum μπορεί να φτιάχνει λάθος sums :S


Υ.Γ.: Αν μπορεί το kubuntu να δει το bluetooth, τότε μπορεί και το ubuntu, δεδομένου ότι τρέχουν τους ίδιους πυρήνες, τους ίδιους drivers και έχουν τη δυνατότητα εκτέλεσης του ίδιου λογισμικού. Συνεπώς, είτε δεν έχεις κατεβάσει το λογισμικό που χρειάζεται είτε είναι κάποια ρύθμιση που δεν έχεις κάνει/προσέξει ;)
Από τούδε και στο εξής ως στρογγυλοί αριθμοί ορίζονται τα πολλαπλάσια του 5 και οι δυνάμεις του 2.
Απάντηση

Επιστροφή στο “Υπολογιστές - Εφαρμογές - Internet”