SDB:Vendor change update
Περιεχόμενα
Επισκόπηση
Ο διαχειριστής πακέτων Zypp χρησιμοποιεί την έννοια του vendor stickyness. Αυτό σημαίνει ότι όταν αναβαθμίζετε το σύστημά σας, τα ήδη εγκατεστημένα πακέτα σας δε θα αναβαθμιστούν σε νεότερη έκδοση, εάν η νεότερη έκδοση παρέχεται απο διαφορετικό προμηθευτή.
Πλεονεκτήματα vendor stickyness:
- Δεν κινδυνεύετε να αντικαταστήσετε σταθερές εκδόσεις εγκατεστημένων πακέτων με πειραματικές εκδόσεις από διαφορετικό αποθετήριο, όταν εκτελείται αναβάθμισή τους.
- Δεν κινδυνεύετε από εναλλαγές πακέτων μεταξύ διαφόρων αποθετηρίων κάθε φορά που κάνετε αναβάθμιση, σε περίπτωση όπου ένα πακέτο είναι διαθέσιμο από περισσότερα του ενός αποθετήρια.
Μειονεκτήματα του vendor stickyness:
- Οι διαθέσιμες ενημερώσεις που απαιτούν αλλαγή προμηθευτή είναι κατά κάποιον τρόπο κρυφές στο Yast
- Η αναβάθμιση/αλλαγή ενός πακέτου σε διαφορετικό προμηθευτή απαιτεί λίγη περισσότερη δουλειά.
- Που και που ο διαχειριστής πακέτων σας ρωτάει εάν θέλετε αλλαγή προμηθευτή, το οποίο μπορεί να φοβίζει, να είναι ενοχλητικό ή εκνευριστικό.
Πραγματοποιώντας αναβαθμίσεις με αλλαγή προμηθευτή
Στη συνέχεια αναφέρονται οι διάφορες μέθοδοι που μπορείτε να χρησιμοποιήσετε για να κάνετε αναβαθμίσεις με αλλαγή προμηθευτή.
Αλλαγή Προμηθευτή ενός μοναδικού πακέτου
Χρησιμοποιώντας το YaST
Αναζητήστε το πακέτο που θέλετε να αναβαθμίσετε και μετά μεταφερθείτε στην καρτέλα Εκδόσεις και επιλέξτε την έκδοση που θέλετε να εγκαταστήσετε.
Χρησιμοποιώντας το zypper
Εγκαταστήστε το πακέτο μέσω zypper καθορίζοντας την έκδοση που επιθυμείτε, παράδειγμα:
zypper install 'amarok=2.3.1'
ή καθορίζοντας ένα αποθετήριο:
zypper install --from [repository] [package]
Αλλαγή Προμηθευτή για πλήρες αποθετήριο
Χρησιμοποιώντας το YaST
Αν επιθυμείτε να αλλάξετε όλα τα εγκατεστημένα σας πακέτα στις εκδόσεις που υπάρχουν σε ένα συγκεκριμένο αποθετήριο, ανοίξτε την καρτέλα Πηγές Εγκατάστασης, επιλέξτε το επιθυμητό αποθετήριο και κάντε κλικ στην επιλογή Switch system packages to the versions in this repository
Χρησιμοποιώντας το zypper
Μπορείτε επίσης να αλλάξετε προμηθευτή για όλα τα πακέτα σε ένα αποθετήριο χρησιμοποιώντας το zypper:
zypper dup --from [repository]
Επιτρέποντας γενικά την αλλαγή προμηθευτή
Επιτρέποντας την αλλαγή προμηθευτή για συγκεκριμένα αποθετήρια
Μπορείτε να ορίσετε μια λίστα με αποθετήρια που έχουν διαφορετικούς προμηθευτές ως ισοδύναμες πηγές, δημιουργώντας ένα αρχείο στο φάκελο /etc/zypp/vendors.d/ με παρόμοιο με το ακόλουθο περιεχόμενο:
[main] vendors = suse,opensuse,obs://build.suse.de,Packman,http://packman.links2linux.de
- Μπορείτε να χρησιμοποιήσετε οποιοδήποτε όνομα αρχείου, αλλά κάθε αρχείο στο φάκελο αυτό αναπαριστά μια ομάδα ισοδύναμων προμηθευτών.
- Το πακέτο Libzypp κάνει σύγκριση συμβολοσειρών (string) (με τρόπο παρόμοιο με τη ρουτίνα strncmp, χωρίς να λαμβάνονται υπόψη τα πεζά-κεφαλαία) όπου συγκρίνεται μόνο η αρχή των συμβολοσειρών π.χ. ο προμηθευτής "opensuse11.0" είναι συμβατός με το "openSUSE".
Απενεργοποιώντας τη λειτουργία Vendor stickiness
Αν επιθυμείτε μπορείτε να απενεργοποιήσετε τη λειτουργία vendor stickyness ολοκληρωτικά - στην περίπτωση αυτή ο διαχειριστής πακέτων δε θα σας ζητήσει την άδεια για να αλλάξει προμηθευτή για τα πακέτα και κάνοντας μια αναβάθμιση θα εγκατασταθεί εκείνο το πακέτο με τη νεότερη έκδοση (μεγαλύτερος αριθμός), ανεξάρτητα από πού προέρχεται.
Στο αρχείο /etc/zypp/zypp.conf κάντε την εξής αλλαγή/ προσθήκη
solver.allowVendorChange = true
Μετά από αυτό, η εντολή zypper up θα εγκαταστήσει τη νεότερη διαθέσιμη έκδοση ενός πακέτου από οποιονδήποτε προμηθευτή. Το YaST θα σημειώσει τα πακέτα για τα οποία είναι διαθέσιμη μια νέα έκδοση με μπλε χρώμα, ακόμα κι αν η νέα αυτή έκδοση παρέχεται από διαφορετικό προμηθευτή.