Οδηγός Χρήσης Διαχειριστή Πακέτων Zypper για Χρήστες openSUSE


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

Το Zypper είναι ένας διαχειριστής πακέτων γραμμής εντολών (παρόμοιος με το APT για συστήματα βασισμένα σε DEB ή το DNF για συστήματα βασισμένα σε RPM) που χρησιμοποιείται στο openSUSE, το SUSE Linux Enterprise και τα παράγωγά τους. Παρέχει στους χρήστες έναν γρήγορο και ευέλικτο τρόπο για εγκατάσταση, ενημέρωση, αφαίρεση και διαχείριση πακέτων λογισμικού και αποθετηρίων, δίνοντάς σας πλήρη έλεγχο στο περιβάλλον λογισμικού του συστήματός σας.

Κάτω από την επιφάνεια, το Zypper λειτουργεί με πακέτα RPM—την ίδια μορφή πακέτου που χρησιμοποιείται σε πολλές διανομές Linux βασισμένες σε RPM. Βασίζεται στη βιβλιοθήκη libzypp, μια βιβλιοθήκη backend που επιλύει εξαρτήσεις, διαχειρίζεται αποθετήρια και χειρίζεται τις συναλλαγές με ασφάλεια και αποτελεσματικότητα.

Σε αυτόν τον οδηγό, θα σας δείξω, μέσα από πρακτικές εντολές Zypper και πραγματικά παραδείγματα, πώς να εγκαθιστάτε νέες εφαρμογές, να κρατάτε το σύστημά σας ενημερωμένο, να αναζητάτε πακέτα, να διαχειρίζεστε αποθετήρια και πολλά άλλα. Στο τέλος, ελπίζω να αισθανθείτε αρκετά σίγουροι για να διαχειρίζεστε το σύστημά σας openSUSE αποτελεσματικά από το τερματικό.

Μπορείτε επίσης να χρησιμοποιήσετε τα παρακάτω παραδείγματα ως γρήγορη αναφορά εάν είστε ήδη εξοικειωμένοι με το Zypper και απλώς θέλετε να ανανεώσετε τη μνήμη σας για μια συγκεκριμένη εντολή ή επιλογή.

Φυλλάδιο εντολών Zypper: σύντομες και εκτενείς εκδόσεις

Το Zypper προσφέρει δύο τρόπους για να εκτελεί σχεδόν όλες τις λειτουργίες του — μια σύντομη μορφή για ταχύτητα και ευκολία, και μια μακρά μορφή για αναγνωσιμότητα και σαφήνεια. Οι σύντομες μορφές χρησιμοποιούνται ευρέως στην πράξη επειδή είναι βολικές για γρήγορες εντολές, ενώ οι μακρές μορφές είναι πιο σαφείς και χρησιμοποιούνται συχνά σε σενάρια ή τεκμηρίωση.

Ποιο θα επιλέξετε εξαρτάται αποκλειστικά από εσάς — το αποτέλεσμα είναι το ίδιο. Για απλότητα, και επειδή είναι ο συνηθισμένος τρόπος να το κάνετε, θα χρησιμοποιήσω τη σύντομη μορφή στα παραδείγματα παρακάτω. Αλλά πριν περάσουμε στο πρακτικό μέρος, εδώ είναι ένας πίνακας που δείχνει και τις σύντομες και τις πλήρεις μορφές των πιο συχνά χρησιμοποιούμενων εντολών του Zypper.

ΚοντόΜακρύΠεριγραφή
σεεγκαθιστώΕγκατάσταση πακέτων
διαγραφήαφαίρεσηΚατάργηση (απεγκατάσταση) πακέτων
πάνωενημέρωσηΕνημέρωση εγκατεστημένων πακέτων
διπλόαναβάθμιση-διανομήςΕκτελέστε αναβάθμιση διανομής (έξυπνος επιλυτής)
λουλίστα-ενημερώσεωνΛίστα διαθέσιμων ενημερώσεων
ζωεπαληθεύωΕλέγξτε και διορθώστε τις εξαρτήσεις του πακέτου
σεαναζήτησηΑναζήτηση πακέτων
ανπληροφορίεςΕμφάνισε λεπτομερείς πληροφορίες πακέτου
παπακέταΚατάλογος όλων των διαθέσιμων ή εγκατεστημένων πακέτων
LRαποθεματικάΚαταχώριση όλων των αποθετηρίων
αρπρόσθεσεαποθετήριοΠροσθήκη αποθετηρίου
ρραποθετήριο αφαίρεσηςΑφαίρεση αποθετηρίου
αναφοράανανεώνωΑνανέωση μεταδεδομένων αποθετηρίου
καθαρόκαθαρόΚαθάρισε την προσωρινή μνήμη και τα μεταδεδομένα

Ανανέωση Βάσης Πακέτου

Θα ξεκινήσουμε με μια από τις εντολές Zypper που θα χρησιμοποιείτε πιο συχνά: zypper ref (ή zypper refresh), η οποία ενημερώνει τη βάση πακέτων. Όταν την εκτελείτε, το Zypper επικοινωνεί με κάθε διακομιστή αποθετηρίου και κατεβάζει τα πιο πρόσφατα μεταδεδομένα—λίστες πακέτων, εκδόσεις, εξαρτήσεις και πληροφορίες ενημερώσεων.

sudo zypper ref

Ανανέωση της βάσης πακέτων.

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

Στις περισσότερες ροές εργασίας, αυτό είναι το πρώτο βήμα πριν την εκτέλεση εντολών όπως zypper lu, zypper up ή zypper dup, επειδή αυτές οι λειτουργίες βασίζονται σε ενημερωμένα μεταδεδομένα.

Έλεγχος διαθέσιμων ενημερώσεων πακέτων

zypper lu (ή zypper list-updates) ανανεώνει αυτόματα τα μεταδεδομένα των αποθετηρίων όποτε είναι παλιά και εμφανίζει όλα τα πακέτα στο σύστημά σας που έχουν νεότερες εκδόσεις. Δεν εγκαθιστά τίποτα—ο σκοπός του είναι καθαρά ενημερωτικός.

sudo zypper lu

Ελέγξτε τις διαθέσιμες ενημερώσεις πακέτων.

Κάθε γραμμή που σημειώνεται με v υποδεικνύει ένα πακέτο για το οποίο υπάρχει νεότερη διαθέσιμη έκδοση, εμφανιζόμενη μαζί με το αποθετήριό του, την τρέχουσα έκδοση, τη διαθέσιμη έκδοση και την αρχιτεκτονική.

Όπως πιθανότατα έχετε ήδη υποψιαστεί, δεν χρειάζεται να εκτελέσετε zypper ref πριν από το zypper lu, επειδή το zypper lu ενημερώνει στην πραγματικότητα τα μεταδεδομένα του αποθετηρίου όποτε είναι ξεπερασμένα.

Εφαρμογή ενημερώσεων πακέτου

zypper up (ή zypper update) είναι μία από τις πιο συχνά χρησιμοποιούμενες εντολές του Zypper, η οποία εγκαθιστά όλες τις διαθέσιμες κανονικές ενημερώσεις πακέτων στο σύστημά σας. Βασίζεται στα τρέχοντα μεταδεδομένα των αποθετηρίων, οπότε αν χρειαστεί, το Zypper ανανεώνει τα αποθετήρια αυτόματα πριν προχωρήσει.

sudo zypper up

Εφαρμόστε ενημερώσεις πακέτων.

Πλήρης αναβάθμιση συστήματος

zypper dup (ή zypper dist-upgrade) μπορεί να χρησιμοποιηθεί ως αντικατάσταση του zypper up επειδή εγκαθιστά επίσης όλες τις διαθέσιμες ενημερώσεις. Ωστόσο, πηγαίνει ένα βήμα παραπέρα όταν χρειάζεται: μπορεί να αλλάξει τους προμηθευτές πακέτων, να εγκαταστήσει μετονομασμένα πακέτα και να αφαιρέσει παλιά ή απαρχαιωμένα πακέτα για να διατηρεί το σύστημα συνεπές με τα ενεργοποιημένα αποθετήρια.

sudo zypper dup

Πλήρης αναβάθμιση συστήματος/διανομής.

Οι περισσότερες ενημερώσεις φαίνονται ίδιες και με τις δύο εντολές, αλλά όταν ένα πακέτο απαιτεί την κατάργηση παλαιότερων στοιχείων ή τη μετακίνηση σε διαφορετικό αποθετήριο, μόνο η zypper dup μπορεί να εκτελέσει αυτές τις αλλαγές. Γι’ αυτό χρησιμοποιείται για ενημερώσεις διανομής και γι’ αυτό μπορεί περιστασιακά να αφαιρέσει πακέτα που δεν παρέχονται πλέον από κανένα αποθετήριο.

Αναζήτηση Πακέτων

Χρησιμοποιήστε zypper se (ή zypper search) για να βρείτε πακέτα ανά όνομα ή περιγραφή. Αυτή η εντολή αναζητά σε όλα τα ενεργά αποθετήρια και εμφανίζει τα αποτελέσματα που ταιριάζουν, συμπεριλαμβανομένων των εγκατεστημένων και διαθέσιμων πακέτων. Για παράδειγμα:

zypper se firefox

Αναζήτηση πακέτων.

Η στήλη S δείχνει την κατάσταση του πακέτου (για παράδειγμα, i για εγκατεστημένο), ακολουθούμενη από τη στήλη Name με το ακριβές όνομα του πακέτου, τη στήλη Summary με μια σύντομη περιγραφή και τη στήλη Type που υποδεικνύει αν πρόκειται για κανονικό πακέτο, ένα μοτίβο ή άλλο τύπο πακέτου.

Αν θέλετε να αναζητήσετε μόνο ανάμεσα στα εγκατεστημένα πακέτα, προσθέστε την επιλογή -i:

zypper se -i firefox

Αναζήτηση μόνο μέσω των εγκατεστημένων πακέτων.

Αυτό φιλτράρει τα αποτελέσματα ώστε να εμφανίζονται μόνο τα εγκατεστημένα πακέτα που ταιριάζουν με το όνομα. Εάν δεν επιστραφεί τίποτα, το πακέτο δεν είναι εγκατεστημένο.

Εγκατάσταση Πακέτων

Χρησιμοποιήστε zypper in (ή zypper install) για να προσθέσετε νέα πακέτα στο σύστημά σας από τα ενεργοποιημένα αποθετήρια. Η εντολή επιλύει αυτόματα τις εξαρτήσεις και εγκαθιστά όλα όσα απαιτούνται για να λειτουργήσει το επιλεγμένο πακέτο. Για παράδειγμα:

sudo zypper in chromium

Εγκαταστήστε πακέτα.

Για να εγκαταστήσετε πολλά πακέτα ταυτόχρονα, καταχωρίστε τα ονόματα των πακέτων το ένα μετά το άλλο, χωρισμένα με κενά.

sudo zypper in chromium htop vlc

Κατάργηση Πακέτων

Χρησιμοποιήστε zypper rm (ή zypper remove) για να απεγκαταστήσετε πακέτα από το σύστημά σας. Η εντολή αφαιρεί επίσης εξαρτήσεις που δεν χρειάζονται πλέον, εκτός αν άλλα εγκατεστημένα πακέτα τις απαιτούν. Για παράδειγμα:

sudo zypper rm chromium

Αφαίρεση πακέτων.

Όπως και με την εντολή εγκατάστασης, για να απεγκαταστήσετε πολλά πακέτα από το σύστημά σας openSUSE, πληκτρολογήστε τα ονόματά τους το ένα μετά το άλλο, χωρισμένα με κενό.

sudo zypper rm chromium htop vlc

Εμφάνιση Πληροφοριών Πακέτου

Χρησιμοποιήστε zypper if (ή zypper info) για να δείτε λεπτομερείς πληροφορίες για ένα πακέτο. Αυτό περιλαμβάνει την έκδοσή του, τον προμηθευτή, το αποθετήριο, την κατάσταση εγκατάστασης, τη σύνοψη, την περιγραφή και τις εξαρτήσεις. Για παράδειγμα:

zypper info chromium

Εμφάνισε πληροφορίες πακέτου.

Αυτός είναι ο ταχύτερος τρόπος να ελέγξετε στο openSUSE ποια έκδοση ενός πακέτου είναι εγκατεστημένη και ποιο αποθετήριο την παρέχει.

Επαλήθευση Εγκατεστημένων Πακέτων

Χρησιμοποιήστε zypper ve (ή zypper verify) για να ελέγξετε εάν όλα τα εγκατεστημένα πακέτα έχουν ικανοποιημένες τις απαιτούμενες εξαρτήσεις τους. Αν κάτι λείπει ή είναι σπασμένο—συχνά μετά από χειροκίνητη αφαίρεση αρχείων, διακοπές ενημερώσεων ή ανάμειξη αποθετηρίων—αυτή η εντολή εντοπίζει τα προβλήματα και προτείνει λύσεις.

sudo zypper ve

Επαληθεύστε τα εγκατεστημένα πακέτα.

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

Καθαρισμός προσωρινών δεδομένων

Χρησιμοποιήστε zypper clean για να αφαιρέσετε τα αποθηκευμένα δεδομένα αποθετηρίου, όπως τα ληφθέντα αρχεία πακέτων και τα μεταδεδομένα. Αυτό βοηθά στην απελευθέρωση χώρου στο δίσκο και αναγκάζει το zypper να κατεβάσει φρέσκα μεταδεδομένα την επόμενη φορά που θα έχει πρόσβαση σε ένα αποθετήριο.

sudo zypper clean

Διαχείριση Αποθετηρίων Λογισμικού

Το Zypper παρέχει πλήρη έλεγχο στα αποθετήρια λογισμικού που χρησιμοποιεί το σύστημά σας openSUSE για την εγκατάσταση και ενημέρωση πακέτων. Με μερικές απλές εντολές, μπορείτε να αναφέρετε, να προσθέσετε, να αφαιρέσετε, να ενεργοποιήσετε, να απενεργοποιήσετε ή να ρυθμίσετε τις ρυθμίσεις των αποθετηρίων απευθείας από τη γραμμή εντολών, δίνοντάς σας ακριβή έλεγχο στον τρόπο με τον οποίο το σύστημά σας αντλεί το λογισμικό.

Κατάλογος Αποθετηρίων

Χρησιμοποιήστε zypper lr (ή zypper repos) για να εμφανίσετε όλες τις ρυθμισμένες αποθετήρια στο σύστημά σας. Η έξοδος δείχνει το ψευδώνυμο, το όνομα, την κατάσταση ενεργοποιημένο/απενεργοποιημένο, τη ρύθμιση αυτόματης ανανέωσης, την προτεραιότητα και το URL κάθε αποθετηρίου.

zypper lr

Καταχώρισε όλα τα αποθετήρια.

Προσθήκη Αποθετηρίου

Αν θέλετε να προσθέσετε ένα αποθετήριο στο σύστημά σας openSUSE, χρησιμοποιήστε zypper ar (ή zypper addrepo) για να προσθέσετε ένα νέο αποθετήριο λογισμικού στο σύστημά σας. Μπορείτε να καθορίσετε το URL του αποθετηρίου και να του δώσετε ένα ψευδώνυμο που θα εμφανίζεται αργότερα στο zypper repos. Για παράδειγμα:

sudo zypper addrepo -f https://download.opensuse.org/repositories/network/openSUSE_Leap_16.0/ network

Προσθέστε ένα αποθετήριο.

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

Στο παραπάνω παράδειγμα, η επιλογή -f ενεργοποιεί την αυτόματη ανανέωση. Ωστόσο, αν η αποθήκη έχει ήδη προστεθεί, μπορείτε να ενεργοποιήσετε την αυτόματη ανανέωση με:

sudo zypper modifyrepo -f netwrok

Εδώ, το «network» είναι το ψευδώνυμο του αποθετηρίου.

Αφαίρεση Αποθετηρίου

Χρησιμοποιήστε zypper rr (ή zypper removerepo) για να διαγράψετε ένα αποθετήριο από το σύστημά σας. Μπορείτε να το αφαιρέσετε καθορίζοντας το ψευδώνυμό του ή τον αριθμητικό του αναγνωριστικό, όπως φαίνεται στο zypper lr.

sudo zypper rr network

Αφαίρεση ενός αποθετηρίου.

Ενεργοποίηση/Απενεργοποίηση ενός Αποθετηρίου

Το Zypper όχι μόνο σας επιτρέπει να προσθέτετε ή να αφαιρείτε αποθετήρια, αλλά σας δίνει επίσης τη δυνατότητα να ενεργοποιείτε ή να απενεργοποιείτε αυτά που ήδη έχετε. Χρησιμοποιήστε zypper mr -d (ή zypper modifyrepo -d) για να απενεργοποιήσετε ένα αποθετήριο. Μπορείτε να το αναφερθείτε είτε με το ψευδώνυμό του είτε με τον αριθμητικό ID που εμφανίζεται στο zypper lr.

sudo zypper modifyrepo -d network

Απενεργοποιήστε ένα αποθετήριο στο openSUSE.

Με παρόμοιο τρόπο, για να το ενεργοποιήσετε, χρησιμοποιήστε zypper md -e (ή zypper modifyrepo -e):

sudo zypper modifyrepo -e network

Ενεργοποιήστε ένα αποθετήριο στο openSUSE.

Μοτίβα

Τέλος, θα σας δείξω πώς να χρησιμοποιήσετε μια χρήσιμη έννοια που άλλες διανομές συχνά ονομάζουν meta-packages, ενώ το openSUSE αναφέρεται σε αυτές ως patterns. Λοιπόν, τι ακριβώς είναι;

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

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

Πρότυπα Λίστας

Χρησιμοποιήστε zypper pt (ή zypper patterns) για να εμφανίσετε όλα τα διαθέσιμα patterns στο σύστημα. Η έξοδος της εντολής δείχνει το όνομα κάθε pattern, αν είναι εγκατεστημένο και μια σύντομη περιγραφή του τι παρέχει.

zypper pt

Καταγράψτε τα διαθέσιμα μοτίβα.

Εγκατάσταση Προτύπου

Ας πούμε ότι θέλετε να εγκαταστήσετε το περιβάλλον επιφάνειας εργασίας Cinnamon με μία εντολή. Το όνομα του προτύπου είναι, όπως μπορείτε να περιμένετε, cinnamon. Χρησιμοποιήστε zypper in -t pattern, ακολουθούμενο από το όνομα του προτύπου, για να εγκαταστήσετε όλα τα πακέτα που ανήκουν σε αυτή την ομάδα.

sudo zypper in -t pattern cinnamon

Εγκατάσταση ενός προτύπου (μιας ομάδας πακέτων) στο openSUSE.

Όπως μπορείτε να δείτε, αυτό εγκαθιστά ολόκληρο το περιβάλλον εργασίας Cinnamon (πρότυπο), συμπεριλαμβανομένων των απαιτούμενων και συνιστώμενων στοιχείων του.

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

sudo zypper rm -t pattern cinnamon

Αφαίρεση ενός προτύπου.

Μόνο το ίδιο το μοτίβο θα αφαιρεθεί, αλλά όχι τα πακέτα που περιλαμβάνει. Με άλλα λόγια, η αφαίρεση του μοτίβου αφαιρεί μόνο αυτά τα μεταδεδομένα, όχι τα εκατοντάδες πραγματικά πακέτα Cinnamon που έχουν εγκατασταθεί προηγουμένως. Για να τα αφαιρέσετε, θα πρέπει να το κάνετε χειροκίνητα για το καθένα.

Συμπέρασμα

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

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

Φυσικά, ο διαχειριστής πακέτων Zypper παρέχει πολλές περισσότερες επιλογές. Σας συνιστώ θερμά να εξοικειωθείτε με αυτές στην επίσημη τεκμηρίωση του openSUSE ή στην ιστοσελίδα της SUSE.

Ευχαριστώ για τον χρόνο σας. Όπως πάντα, τα σχόλιά σας είναι καλοδεχούμενα.