Τα βασικά των RPM - Διαχείριση πακέτων Red Hat [Linux 101]
Σε προηγούμενα άρθρα, διερευνήσαμε το σύστημα που χρησιμοποιείται για την εγκατάσταση λογισμικού σε συστήματα που βασίζονται στο Debian, μεταξύ των οποίων και το Ubuntu. RPM ή το Red Hat Package Manager, το οποίο έγινε το 1995 στο Red Hat Linux 2.0 και είναι πλέον το προτιμώμενο σύστημα διαχείρισης πακέτων διανομών βασισμένο στο Red Hat, συμπεριλαμβανομένων των CentOS και του Linux, καθώς και του SuSE.
Τώρα θα δούμε πώς συγκρίνεται αυτό το σύστημα με τον "τρόπο Ubuntu" της διαχείρισης λογισμικού.
Σημείωση : Εάν χρησιμοποιείτε ένα σύστημα βασισμένο σε DEB, μπορεί να έχετε την εντολή rpm. Ωστόσο, πιθανότατα δεν θα έχετε μια βάση δεδομένων πακέτων, επομένως ορισμένες από τις παρακάτω εντολές ενδέχεται να εμφανίζουν ορισμένα σφάλματα που αναφέρονται σε αυτήν.
Βασικά πακέτα RPM
Ένα πακέτο RPM, όπως τα DEB, αποτελείται από ένα αρχείο αρχείων που ο διαχειριστής πακέτων θα τοποθετήσει στον υπολογιστή σας όταν εγκατασταθεί. Περιέχει επίσης τον ίδιο τύπο πληροφοριών για άλλο λογισμικό που χρειάζεται, έτσι ώστε το σύστημα να μπορεί να κατεβάσει και να εγκαταστήσει τις εξαρτήσεις σας για εσάς. Απλώς αναδιπλώνει όλα αυτά με διαφορετικό τρόπο.
Όπως τα αρχεία DEB, ένα πακέτο RPM μπορεί να περιέχει δυαδικό (ή εκτελέσιμο) κώδικα, πηγαίο κώδικα που έχει μεταγλωττιστεί σε δυαδική μορφή πριν από την εγκατάσταση ή αρχεία ανεξάρτητα από την αρχιτεκτονική (όπως τεκμηρίωση). Ένα αρχείο RPM είναι ένα αρχείο cpio, το οποίο είναι μια μορφή αρχείου που αρχικά χρησιμοποιήθηκε για δημιουργία αντιγράφων ασφαλείας ταινιών. Τα RPM περιέχουν τρεις κύριους τύπους δεδομένων:
- Στοιχεία που αναγνωρίζουν το αρχείο ως πακέτο RPM
- Μια υπογραφή έτσι ώστε το σύστημα να μπορεί να επαληθεύσει ότι η συσκευασία δεν έχει παραβιαστεί (για παράδειγμα, ένα MD5 hash του πακέτου)
- Το "Header", το οποίο περιέχει πληροφορίες σχετικά με το πακέτο, όπως όνομα, αριθμός έκδοσης και περίληψη
- Το "φορτίο", ή τα αρχεία που θα εγκαταστήσει το πακέτο στο σύστημά σας
Σε αντίθεση με τα πακέτα του Debian, η προβολή κάποιων από αυτές τις πληροφορίες δεν είναι τόσο εύκολη όσο η αναίρεση του πακέτου και η εξέταση ορισμένων αρχείων κειμένου. Αν θέλουμε να ρίξουμε μια ματιά στην υπογραφή, για να το συγκρίνουμε με μια υπογραφή στη βάση δεδομένων RPM του συστήματος, θα πρέπει να χρησιμοποιήσουμε το πρόγραμμα RPM γραμμής εντολών ως εξής:
sudo rpm -checksig rpm-4.9.1.3-6.fc17.x86_64.rpm
Για να προβάλετε τις πληροφορίες επικεφαλίδας, μπορείτε να αναζητήσετε το πακέτο με την ακόλουθη εντολή:
sudo rpm -qip rpm-4.9.1.3-6.fc17.x86_64.rpm
Εδώ, η σημαία "-q" λέει σε RPM να ερωτήσουν το πακέτο, το "i" για να πάρει πληροφορίες σχετικά με αυτό, και το "p" που θα υποδείξει ένα αρχείο πακέτου ως όρισμα. Έτσι, για να δείτε ποια αρχεία βρίσκονται στο πακέτο, θα θέλετε μια λίστα αντί για πληροφορίες ή τα ακόλουθα:
sudo rpm -qlp rpm-4.9.1.3-6.fc17.x86_64.rpm
Μπορείτε επίσης να ανοίξετε αρχεία RPM απευθείας σε πολλούς διαχειριστές αρχείων για να δείτε πώς οργανώνονται τα αρχεία του πακέτου.
Η βάση δεδομένων RPM
Όπως αναφέρθηκε παραπάνω, ένα από τα κύρια στοιχεία του συστήματος πακέτων Red Hat είναι η βάση δεδομένων RPM. Αποθηκεύεται σε "/ var / lib / rpm", αυτός ο κατάλογος περιέχει έναν αριθμό υποκαταλόγων και αρχείων που περιέχουν πληροφορίες σχετικά με τα πακέτα που είναι εγκατεστημένα στο σύστημα. Αυτή η βάση δεδομένων κανονικά έχει ρυθμιστεί κατά την εγκατάσταση του συστήματος. Μόλις αρχικοποιηθεί, κάθε πακέτο που εγκαθίσταται στο σύστημα θα καταγραφεί σε αυτήν τη βάση δεδομένων - για παράδειγμα, η πλειοψηφία των πακέτων που εγκαθίστανται με το σύστημα γίνεται με RPM, έτσι ώστε να συμπεριληφθούν τα αρχεία τους.
Για να ερωτήσετε τη βάση δεδομένων RPM, μπορείτε να χρησιμοποιήσετε εντολές παρόμοιες με τις παραπάνω, αφήνοντας το σημα "p" έξω (επειδή δεν παρέχουμε ένα παράθυρο πακέτου πακέτων). Για παράδειγμα, η ακόλουθη εντολή θα αναζητήσει τη βάση δεδομένων RPM και θα παρουσιάσει όλα τα αρχεία που ανήκουν στο πακέτο rpm (αν είναι εγκατεστημένο):
sudo rpm -ql rpm
Με τον ίδιο τρόπο, η ακόλουθη εντολή θα απαριθμεί όλα τα πακέτα που είναι εγκατεστημένα στο σύστημα:
sudo rpm -qa
Υπάρχει ένας τεράστιος αριθμός σημαδιών και επιλογών που μπορούν να χρησιμοποιηθούν με τα εργαλεία RPM για τη διαχείριση του λογισμικού σας. Μια καλή αναφορά είναι η τεκμηρίωση που διατηρείται από το έργο Fedora.