Κεφάλαιο 4. Αναβαθμίσεις από την έκδοση 10 (buster)

Πίνακας Περιεχομένων

4.1. Προετοιμασία για την αναβάθμιση
4.1.1. Δημιουργήσετε αντίγραφα ασφαλείας για οποιαδήποτε δεδομένα ή αρχεία ρυθμίσεων
4.1.2. Ενημερώστε τους χρήστες εκ των προτέρων.
4.1.3. Προετοιμαστείτε για χρόνο διακοπής των υπηρεσιών
4.1.4. Προετοιμαστείτε για επανάκτηση
4.1.5. Προετοιμάστε ένα ασφαλές περιβάλλον για την αναβάθμιση
4.2. Ξεκινήστε με ένα «καθαρό» Debian
4.2.1. Αναβάθμιση στην έκδοση 10 (buster)
4.2.2. Αφαιρέστε πακέτα που δεν ανήκουν στο Debian
4.2.3. Κάντε την αναβάθμιση στην πιο πρόσφατη "σημειακή" (point) έκδοση
4.2.4. Προετοιμάστε την βάση δεδομένων των πακέτων
4.2.5. Αφαιρέστε τα παρωχημένα πακέτα
4.2.6. Αφαιρέστε οποιαδήποτε αρχεία ρυθμίσεων έχουν ξεμείνει.
4.2.7. Η ενότητα των αναβαθμίσεων ασφαλείας
4.2.8. Η ενότητα των προτεινόμενων αναβαθμίσεων (proposed-updates)
4.2.9. Ανεπίσημες πηγές πακέτων
4.2.10. Απενεργοποίηση του APT pinning
4.2.11. Ελέγξτε την κατάσταση των πακέτων
4.3. Προετοιμασία των αρχείων source-list του APT
4.3.1. Προσθήκη διαδικτυακών πηγών του APT
4.3.2. Προσθήκη πηγών του APT από έναν τοπικό καθρέφτη
4.3.3. Προσθήκη πηγών του APT από οπτικά μέσα
4.4. Αναβάθμιση πακέτων
4.4.1. Καταγράψτε την συνεδρία
4.4.2. Επικαιροποίηση της λίστας πακέτων
4.4.3. Βεβαιωθείτε ότι έχετε επαρκή χώρο για την αναβάθμιση
4.4.4. Ελάχιστη αναβάθμιση του συστήματος
4.4.5. Αναβάθμιση του συστήματος
4.5. Πιθανά ζητήματα στη διάρκεια της αναβάθμισης
4.5.1. Η εντολή dist-upgrade αποτυγχάνει με το μήνυμα «Could not perform immediate configuration»
4.5.2. Αναμενόμενες αφαιρέσεις
4.5.3. Αντιθέσεις ή βρόγχοι Προ-εξαρτήσεων (Pre-Depends loops)
4.5.4. Αντιθέσεις αρχείων
4.5.5. Αλλαγές ρυθμίσεων
4.5.6. Αλλαγή συνεδρίας σε κονσόλα
4.6. Αναβάθμιση του πυρήνα και συναφών πακέτων
4.6.1. Εγκατάσταση ενός μεταπακέτου πυρήνα
4.7. Προετοιμασία για την επόμενη έκδοση σε κυκλοφορία
4.7.1. Καθάρισμα των πακέτων που έχουν αφαιρεθεί
4.8. Παρωχημένα πακέτα
4.8.1. Μεταβατικά εικονικά (dummy) πακέτα

4.1. Προετοιμασία για την αναβάθμιση

Προτείνουμε πριν την αναβάθμιση να διαβάσετε επίσης τις πληροφορίες στο κεφάλαιο Κεφάλαιο 5, Ζητήματα που θα πρέπει να έχετε υπόψιν για την έκδοση bullseye. Αυτό το κεφάλαιο καλύπτει πιθανά προβλήματα που δεν σχετίζονται άμεσα με τη διαδικασία αναβάθμισης αλλά μπορεί να είναι σημαντικό να τα γνωρίζετε πριν ξεκινήσετε την αναβάθμιση.

4.1.1. Δημιουργήσετε αντίγραφα ασφαλείας για οποιαδήποτε δεδομένα ή αρχεία ρυθμίσεων

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

Τα βασικά πράγματα που θέλετε να αντιγράψετε είναι τα περιεχόμενα των καταλόγων /etc, /var/lib/dpkg, /var/lib/apt/extended_states και το παραγόμενο της εντολής dpkg --get-selections "*" (τα εισαγωγικά είναι σημαντικά). Αν χρησιμοποιείτε το aptitude για τη διαχείριση των πακέτων στο σύστημά σας, θα θέλετε επίσης να αντιγράψετε το/var/lib/aptitude/pkgstates.

Η ίδια η διαδικασία αναβάθμισης δεν τροποποιεί οτιδήποτε στον κατάλογο /home. Όμως, μερικές εφαρμογές (πχ. μέρη της σουίτας Mozilla, και τα περιβάλλοντα επιφάνειας εργασίας GNOME και KDE) είναι γνωστό ότι υπεργράφουν υπάρχουσες ρυθμίσεις χρήστη με νέες προκαθορισμένες όταν χρησιμοποιείται για πρώτη φορά από τον χρήστη μια καινούρια έκδοση της εφαρμογής. Ως μέσο προφύλαξης, ίσως να θέλετε να πάρετε ένα αντίγραφο ασφαλείας των κρυμμένων αρχείων και καταλόγων («dotfiles») στους προσωπικούς καταλόγους των χρηστών. Αυτό το αντίγραφο ασφαλείας μπορεί να σας βοηθήσει να αποκαταστήσετε ή να ξαναδημιουργήσετε τις παλιές ρυθμίσεις. Πιθανόν επίσης να θέλετε να ενημερώσετε τους χρήστες γι' αυτό.

Κάθε διαδικασία εγκατάστασης πακέτων πρέπει να εκτελεστεί με προνόμια υπερχρήστη, οπότε είτε μπείτε στο σύστημα ως χρήστης root ή χρησιμοποιήστε τις εντολές su ή sudo για να αποκτήσετε τα απαραίτητα δικαιώματα πρόσβασης.

Η αναβάθμιση έχει μερικές προϋποθέσεις· θα πρέπει να τις ελέγξετε πριν προχωρήσετε πραγματικά στην αναβάθμιση.

4.1.2. Ενημερώστε τους χρήστες εκ των προτέρων.

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

Αν θέλετε να πάρετε επιπλέον προφυλάξεις, πάρετε ένα αντίγραφο ασφαλείας ή αποπροσαρτήστε την κατάτμηση /home πριν την αναβάθμιση.

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

4.1.3. Προετοιμαστείτε για χρόνο διακοπής των υπηρεσιών

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

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

Αν το υπό αναβάθμιση σύστημα παρέχει κάποιες κρίσιμες υπηρεσίες για τους χρήστες σας ή το δίκτυο[2], μπορείτε να μειώσετε τον χρόνο διακοπής τους αν κάνετε μια ελάχιστη αναβάθμιση του συστήματος, όπως περιγράφεται στην ενότηταΤμήμα 4.4.4, «Ελάχιστη αναβάθμιση του συστήματος», ακολουθούμενη από μια αναβάθμιση του πυρήνα και επανεκκίνηση και την αναβάθμιση των πακέτων που σχετίζονται με τις κρίσιμες υπηρεσίες μόνο στη συνέχεια. Αναβαθμίστε αυτά τα πακέτα πριν πραγματοποιήσετε μια πλήρη αναβάθμιση όπως περιγράφεται στην ενότητα Τμήμα 4.4.5, «Αναβάθμιση του συστήματος». Με αυτό τον τρόπο μπορείτε να διασφαλίσετε ότι αυτές οι κρίσιμες υπηρεσίες τρέχουν και είναι διαθέσιμες κατά τη διάρκεια της διαδικασίας της πλήρους αναβάθμισης, και ότι ο χρόνος διακοπής τους μειώνεται.

4.1.4. Προετοιμαστείτε για επανάκτηση

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

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

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

Για μια επείγουσα ανάκτηση συνιστούμε γενικά τη χρήση του rescue mode της έκδοσης bullseye του Εγκαταστάτη του Debian. Το πλεονέκτημα της χρήσης του εγκαταστάτη είναι ότι μπορείτε να επιλέξετε μεταξύ των πολλών μεθόδων του ώστε να βρείτε εκείνη που ταιριάζει περισσότερο στην κατάστασή σας. Για περισσότερες πληροφορίες παρακαλούμε συμβουλευτείτε την ενότητα «Ανακτώντας ένα Προβληματικό Σύστημα» στο κεφάλαιο 8 του Οδηγού Εγκατάστασης και τις Συχνές Ερωτήσεις του Εγκαταστάτη του Debian.

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

4.1.4.1. Κέλυφος αποσφαλμάτωσης στη διάρκεια της εκκίνησης χρησιμοποιώντας την initrd

Το πακέτο initramfs-tools περιλαμβάνει ένα κέλυφος αποσφαλμάτωσης [3] στον δίσκο μνήμης initrds που παράγει. Αν για παράδειγμα, η initrd δεν μπορεί να προσαρτήσει το ριζικό σύστημα, θα βρεθείτε σε αυτό το κέλυφος αποσφαλμάτωσης που διαθέτει τις βασικές εντολές που θα σας βοηθήσουν να εντοπίσετε το πρόβλημα και πιθανόν να το διορθώσετε.

Βασικά πράγματα που πρέπει να ελέγξετε είναι: η παρουσία σωστών αρχείων συσκευών στον κατάλογο /dev· ποια αρθρώματα έχουν φορτωθεί (cat /proc/modules)· την έξοδο της εντολής dmesg για σφάλματα κατά τη φόρτωση οδηγών. Η έξοδος της εντολής dmesg θα δείξει επίσης ποια αρχεία έχουν αποδωθεί σε ποιους δίσκους· θα πρέπει να το ελέγξετε αυτό σε σύγκριση με το αποτέλεσμα της εντολής echo $ROOT για να βεβαιωθείτε ότι το ριζικό σύστημα είναι προσαρτημένο στην αναμενόμενη συσκευή.

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

4.1.4.2. Κέλυφος αποσφαλμάτωσης στη διάρκεια της εκκίνησης χρησιμοποιώντας το systemd

Αν η εκκίνηση αποτύχει με το systemd, είναι δυνατόν να αποκτήσετε ένα κέλυφος αποσφαλμάτωσης του χρήστη root αλλάζοντας τη γραμμή εντολών του πυρήνα. Αν η βασική εκκίνηση πετύχει, αλλά μερικές υπηρεσίες αποτύχουν να ξεκινήσουν, ίσως είναι χρήσιμο να προσθέσετε το systemd.unit=rescue.target στις παραμέτρους του πυρήνα.

Διαφορετικά, η παράμετρος του πυρήνα systemd.unit=emergency.target θα σας προσφέρει ένα κέλυφος του χρήστη root στο νωρίτερο δυνατόν χρονικό σημείο. Όμως, αυτό γίνεται πριν την προσάρτηση του ριζικού συστήματος αρχείων με δικαιώματα read-write. Θα χρειαστεί να το κάνετε αυτό με το χέρι με την εντολή:

# mount -o remount,rw /
      

Περισσότερες πληροφορίες για την αποσφαλμάτωση μιας προβληματικής εκκίνησης μπορούν να βρεθούν στο άρθρο Διαγιγνώσκοντας προβλήματα εκκίνησης.

4.1.5. Προετοιμάστε ένα ασφαλές περιβάλλον για την αναβάθμιση

[Σημαντικό]Σημαντικό

Αν χρησιμοποιείτε μια υπηρεσία VPN (όπως η tinc) θεωρήστε την πιθανότητα ότι ίσως να μην είναι διαθέσιμη σε ολόκληρη τη διάρκεια της διαδικασίας αναβάθμισης. Παρακαλούμε δείτε τον σύνδεσμο Τμήμα 4.1.3, «Προετοιμαστείτε για χρόνο διακοπής των υπηρεσιών».

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

4.2. Ξεκινήστε με ένα «καθαρό» Debian

Η διαδικασία αναβάθμισης που περιγράφεται στο παρόν κεφάλαιο έχει σχεδιαστεί για «αμιγή» σταθερά συστήματα Debian. Το APT ελέγχει τι είναι εγκατεστημένο στο σύστημά σας. Αν η ρύθμιση του APT στο σύστημά σας αναφέρει επιπρόσθετες πηγές πέρα από αυτές της παλιάς έκδοσης buster, ή έχετε εγκαταστήσει πακέτα από άλλες εκδόσεις ή τρίτα μέρη, τότε για να διασφαλίσετε μια αξιόπιστη διαδικασία αναβάθμισης ίσως να θέλετε να ξεκινήσετε αφαιρώντας αυτούς τους παράγοντες πιθανών περιπλοκών.

Το βασικό αρχείο ρυθμίσεων που χρησιμοποιεί το APT για να αποφασίσει ποιες πηγές θα πρέπει να χρησιμοποιήσει για τη μεταφόρτωση πακέτων είναι το/etc/apt/sources.list, αλλά μπορεί επίσης να χρησιμοποιήσει αρχεία στον κατάλογο /etc/apt/sources.list.d/ - για λεπτομέρειες δείτε την σελίδα εγχειριδίου sources.list(5). Αν το σύστημά σας χρησιμοποιεί πολλαπλά αρχεία source-list τότε θα χρειαστεί να διασφαλίσετε ότι παραμένουν σε συνεπή κατάσταση.

4.2.1. Αναβάθμιση στην έκδοση 10 (buster)

Απευθείας αναβαθμίσεις από εκδόσεις του Debian παλιότερες της έκδοσης 10 (buster) δεν υποστηρίζονται. Εμφανίστε την έκδοση του Debian στο σύστημά σας με την εντολή:

$ cat /etc/debian_version
      

Παρακαλούμε ακολουθήστε τις οδηγίες στη σελίδα Σημειώσεις της έκδοσης Debian 10 για να κάνετε πρώτα την αναβάθμιση στην έκδοση Debian 10.

4.2.2. Αφαιρέστε πακέτα που δεν ανήκουν στο Debian

Παρακάτω υπάρχουν δύο μέθοδοι για να βρείτε ποια εγκατεστημένα πακέτα που δεν προέρχονται από το Debian, χρησιμοποιώντας είτε το aptitude ή την εντολή apt-forktracer. Παρακαλούμε σημειώστε ότι κανένα από τα δύο δεν είναι 100% ακριβή (πχ. το παράδειγμα με το aptitude θα κάνει μια λίστα με πακέτα που κάποτε παρέχονταν από το Debian αλλά όχι πλέον, όπως πακέτα παλιών πυρήνων).

$ aptitude search '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort
    

4.2.3. Κάντε την αναβάθμιση στην πιο πρόσφατη "σημειακή" (point) έκδοση

Αυτή η διαδικασία προϋποθέτει ότι το σύστημά σας έχει αναβαθμιστεί στην πιο πρόσφατη σημειακή έκδοση της buster. Αν δεν το έχετε κάνει αυτό ή δεν είστε σίγουροι/ες, ακολουθήστε τις οδηγίες στην ενότητα Τμήμα A.1, «Αναβαθμίζοντας το σύστημά σας που έχει την έκδοση buster».

4.2.4. Προετοιμάστε την βάση δεδομένων των πακέτων

You should make sure the package database is ready before proceeding with the upgrade. If you are a user of another package manager like aptitude or synaptic, review any pending actions. A package scheduled for installation or removal might interfere with the upgrade procedure. Note that correcting this is only possible if your APT source-list files still point to buster and not to stable or bullseye; see Τμήμα A.2, «Ελέγχοντας τα αρχεία πηγών (source-list) του APT».

4.2.5. Αφαιρέστε τα παρωχημένα πακέτα

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

4.2.6. Αφαιρέστε οποιαδήποτε αρχεία ρυθμίσεων έχουν ξεμείνει.

Μια προηγούμενη αναβάθμιση μπορεί να έχει αφήσει πίσω μη χρησιμοποιούμενα αντίγραφα αρχείων ρυθμίσεων· παλιές εκδόσεις αρχείων ρυθμίσεων, εκδόσεις που παρέχονται από τους/τις συντηρητές/συντηρήτριες των πακέτων κλπ. Η αφαίρεση αρχείων που έχουν "ξεμείνει" από προηγούμενες αναβαθμίσεις μπορεί να βοηθήσει να αποφευχθεί το μπέρδεμα. Βρείτε τέτοια αρχεία με:

# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
    

4.2.7. Η ενότητα των αναβαθμίσεων ασφαλείας

Για γραμμές στο αρχείο πηγών του APT που αναφέρονται στην αρχειοθήκη ασφαλείας, ο μορφότυπος έχει αλλάξει λίγο μαζί με το όνομα της έκδοσης, αλλάζοντας από buster/updates σε bullseye-security· δείτε την ενότητα Τμήμα 5.1.3, «Διαφορετικη διάρθρωση της αρχειοθήκης ασφαλείας».

4.2.8. Η ενότητα των προτεινόμενων αναβαθμίσεων (proposed-updates)

Αν έχετε συμπεριλάβει την ενότητα proposed-updates στο αρχείο των πηγών του APT, θα πρέπει να την αφαιρέσετε πριν προσπαθήσετε να αναβαθμίσετε το σύστημά σας. Αυτό είναι ένα προληπτικό μέτρο ώστε να μειώσετε την πιθανότητα συγκρούσεων.

4.2.9. Ανεπίσημες πηγές πακέτων

Αν έχετε οποιαδήποτε πακέτα που δεν ανήκουν στο Debian στο σύστημά σας, θα πρέπει να έχετε υπόψιν ότι μπορεί ίσως να αφαιρεθούν στη διάρκεια της αναβάθμισης εξαιτίας αντικρουόμενων εξαρτήσεων. Αν τα πακέτα αυτά εγκαταστήθηκαν προσθέτοντας μια επιπλέον αρχειοθήκη πακέτων στα αρχεία πηγών του APT source-list, θα πρέπει να ελέγξετε αν η αρχειοθήκη αυτή προσφέρει επίσης πακέτα μεταγλωττισμένα για την έκδοση bullseye και να αλλάξετε το τμήμα των πηγών ανάλογα μαζί με την αλλαγή των πηγών σαςγια τα πακέτα του Debian.

Κάποιες χρήστες ίσως έχουν ανεπίσημες backported «νεώτερες» εκδόσεις των πακέτων που είναι εγκατεστημένα στο Debian σύστημά τους με την παλιότερη έκδοση buster. Για τέτοια πακέτα το πιθανότερο είναι να προκαλέσουν προβλήματα στη διάρκεια μιας αναβάθμισης καθώς μπορεί να έχουν σαν αποτέλεσμα σε συγκρούσεις μεταξύ αρχείων[4]. Τμήμα 4.5, «Πιθανά ζητήματα στη διάρκεια της αναβάθμισης» έχει μερικές πληροφορίες για το πώς να αντιμετωπίσετε τέτοιες συγκρούσεις αρχείων σε περίπτωση που προκύψουν.

4.2.10. Απενεργοποίηση του APT pinning

If you have configured APT to install certain packages from a distribution other than stable (e.g. from testing), you may have to change your APT pinning configuration (stored in /etc/apt/preferences and /etc/apt/preferences.d/) to allow the upgrade of packages to the versions in the new stable release. Further information on APT pinning can be found in apt_preferences(5).

4.2.11. Ελέγξτε την κατάσταση των πακέτων

Άσχετα από τη μέθοδο που χρησιμοποιείτε για την εγκατάσταση, συνιστάται να ελέγξετε πρώτα την κατάσταση όλων των πακέτων και να επαληθεύσετε ότι όλα τα πακέτα είναι σε κατάσταση που μπορούν να αναβαθμιστούν. Η ακόλουθη εντολή θα σας δείξει οποιαδήποτε πακέτα βρίσκονται σε κατάσταση Half-Installed ή Failed-Config, και εκείνα με οποιοδήποτε σφάλμα κατάστασης.

# dpkg --audit
    

Μπορείτε επίσης να επιθεωρήσετε την κατάσταση όλων των πακέτων στο σύστημά σας χρησιμοποιώντας το aptitude ή με εντολές όπως οι

# dpkg -l | pager
    

ή

# dpkg --get-selections "*" > ~/curr-pkgs.txt
    

Είναι επιθυμητό να αφαιρέστε οποιαδήποτε σήμανση "σε αναμονή" (hold) για πακέτα πριν την αναβάθμιση. Αν οποιοδήποτε ουσιαστικό πακέτο για την αναβάθμιση είναι σε κατάσταση αναμονής, η αναβάθμιση θα αποτύχει.

Σημειώστε ότι το aptitude χρησιμοποιεί μια διαφορετικ μέθοδο για την καταγραφή των πακέτων που είναι σε hold από τις εντολές apt και dselect. Μπορείτε να ταυτοποιήσετε πακέτα σε κατάσταση hold για το aptitude με την εντολή

# aptitude search "~ahold" 
    

Αν θέλετε να ελέγξετε ποια πακέτα έχετε σε αναμονή για το apt, πρέπει να χρησιμοποιήσετε την εντολή

# dpkg --get-selections | grep 'hold$'
    

Αν έχετε αλλάξει και επαναμεταγλωττίσει ένα πακέτο τοπικά, και δεν το μετονομάσατε ή δεν προσθέσετε μια χρονική σήμανση (epoch) στην έκδοση, θα πρέπει να το θέσετε σε κατάσταση αναμονής για να αποτρέψετε την αναβάθμισή του.

Η κατάσταση «hold» του πακέτου apt μπορεί να αλλάξει χρησιμοποιώντας:

# echo package_name hold | dpkg --set-selections
    

Αντικαταστήστε το hold με το install για να αναιρέσετε την κατάσταση «hold».

Αν υπάρχει κάτι που πρέπει να διορθώσετε, είναι καλλίτερο να βεβαιωθείτε ότι τα αρχεία source-list του APT εξακολουθούν να αναφέρονται στην παλιά έκδοση buster όπως εξηγείται στην ενότητα Τμήμα A.2, «Ελέγχοντας τα αρχεία πηγών (source-list) του APT».

4.3. Προετοιμασία των αρχείων source-list του APT

Πριν ξεκινήσετε την αναβάθμιση πρέπει να επαναρυθμίσετε το αρχείο πηγών του APT(/etc/apt/sources.list και τα αρχεία στον κατάλογο /etc/apt/sources.list.d/) για να προσθέσετε τις πηγές για την έκδοση bullseye και τυπικά να αφαιρέσετε τις πηγές για την παλιά έκδοση buster.

APT will consider all packages that can be found via any configured archive, and install the package with the highest version number, giving priority to the first entry in the files. Thus, if you have multiple mirror locations, list first the ones on local hard disks, then CD-ROMs, and then remote mirrors.

A release can often be referred to both by its codename (e.g. buster, bullseye) and by its status name (i.e. oldstable, stable, testing, unstable). Referring to a release by its codename has the advantage that you will never be surprised by a new release and for this reason is the approach taken here. It does of course mean that you will have to watch out for release announcements yourself. If you use the status name instead, you will just see loads of updates for packages available as soon as a release has happened.

Το Debian προσφέρει δύο λίστες αλληλογραφίας ανακοινώσεων για να σας βοηθήσει να έχετε τις πιο πρόσφατες πληροφορίες που σχετίζονται με τις εκδόσεις του Debian:

4.3.1. Προσθήκη διαδικτυακών πηγών του APT

On new installations the default is for APT to be set up to use the Debian APT CDN service, which should ensure that packages are automatically downloaded from a server near you in network terms. As this is a relatively new service, older installations may have configuration that still points to one of the main Debian Internet servers or one of the mirrors. If you haven't done so yet, it is recommended to switch over to the use of the CDN service in your APT configuration.

Για να χρησιμοποιήσετε την υπηρεσία CDN, προσθέστε μια γραμμή όπως η παρακάτω στο αρχείο ρύθμισης των πηγών του APT(υποθέτοντας ότι χρησιμοποιείτε τις main και contrib):

deb http://deb.debian.org/debian bullseye main contrib

Αφού έχετε προσθέσει τις νέες πηγές, απενεργοποιείστε τις προϋπάρχουσες γραμμές που αρχίζουν μετο «deb» βάζοντας ένα σύμβολο (#) μπροστά από αυτό.

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

Οι διευθύνσεις των καθρεφτών του Debian μπορούν να βρεθούν στον σύνδεσμο https://www.debian.org/distrib/ftplist (κοιτάξτε στη ενότητα με τη «λίστα των καθρεφτών του Debian»).

Για παράδειγμα, υποθέστε ότι ο πλησιέστερός σας καθρέφτης του Debian είναι ο http://mirrors.kernel.org. Αν ελέγξετε αυτόν τον καθρέφτη με έναν φυλλομετρητή Ιστού, θα παρατηρήσετε ότι οι βασικοί κατάλογοι είναι οργανωμένοι ως εξής:

http://mirrors.kernel.org/debian/dists/bullseye/main/binary-amd64/...
http://mirrors.kernel.org/debian/dists/bullseye/contrib/binary-amd64/...
    

Για να ρυθμίσετε το APT ώστε να χρησιμοποιεί ένα συγκεκριμένο καθρέφτη, προσθέστε μοα γραμμή όπως η ακόλουθη (υποθέτοντας και πάλι ότι χρησιμοποιείτε τις main και contrib):

deb http://mirrors.kernel.org/debian bullseye main contrib

Σημειώστε ότι ο κατάλογος that the «dists» προστίθεται υπόρρητα, και ότι τα ορίσματα μετά τα ονόματα των εκδόσεων χρησιμοποιούνται για την επέκταση της διαδρομής των καταλόγων σε πολλαπλούς καταλόγους.

Και πάλι, αφού προσθέσετε τις νέες πηγές, απενεργοποιήστε τις προϋπάρχουσες επιλογές των αρχειοθηκών.

4.3.2. Προσθήκη πηγών του APT από έναν τοπικό καθρέφτη

Αντί να χρησιμοποιήσετε απομακρυσμένους καθρέφτες πακέτων, μπορεί να θέλετε να τροποποιήσετε αρχεία των πηγών του APT ώστε να χρησιμοποιούν ένα καθρέφτη σε έναν τοπικό δίσκο (πιθανόν προσαρτημένο μέσω NFS).

Για παράδειγμα. ο καθρέφτης πακέτων μπορεί να βρίσκεται κάτω από τον κατάλογο /var/local/debian/, και να έχει κύριους καταλόγους όπως οι ακόλουθοι:

/var/local/debian/dists/bullseye/main/binary-amd64/...
/var/local/debian/dists/bullseye/contrib/binary-amd64/...
    

Για να τους χρησιμοποιήσετε με το apt, προσθέστε αυτή τη γραμμή στο αρχείο sources.list:

deb file:/var/local/debian bullseye main contrib

Σημειώστε ότι ο κατάλογος that the «dists» προστίθεται υπόρρητα, και ότι τα ορίσματα μετά τα ονόματα των εκδόσεων χρησιμοποιούνται για την επέκταση της διαδρομής των καταλόγων σε πολλαπλούς καταλόγους.

Αφού έχετε προσθέσει τις νέες πηγές, απενεργοποιείστε τις προϋπάρχουσες επιλογές αρχειοθηκών στα αρχεία πηγών του APT βάζοντας ένα σύμβολο (#) μπροστά από αυτές.

4.3.3. Προσθήκη πηγών του APT από οπτικά μέσα

Αν θέλετε να χρησιμοποιήσετε μόνο DVD (ή CD ή δίσκους Blu-ray), σχολιάστε τις γραμμές που υπάρχουν σε όλα τα αρχεία πηγών του APT προσθέτοντας ένα σύμβολο της δίεσης (hash) (#) στην αρχή τους.

Make sure there is a line in /etc/fstab that enables mounting your CD-ROM drive at the /media/cdrom mount point. For example, if /dev/sr0 is your CD-ROM drive, /etc/fstab should contain a line like:

/dev/sr0 /media/cdrom auto noauto,ro 0 0
    

Σημειώστε ότι δεν πρέπει να υπάρχουν κενά μεταξύ των λέξεων noauto,ro στο τέταρτο πεδίο.

Για να επαληθεύσετε ότι αυτό δουλεύει, ειάγετε ένα CD και προσπαθήστε να τρέξετε την εντολές

# mount /media/cdrom    # this will mount the CD to the mount point
# ls -alF /media/cdrom  # this should show the CD's root directory
# umount /media/cdrom   # this will unmount the CD
    

Στη συνέχεια, τρέξτε την εντολή:

# apt-cdrom add
    

για κάθε Debian Binary CD-ROM που έχετε, ώστε να προσθέσετε τα δεδομένα για κάθε CD στη βάση δεδομένων του APT.

4.4. Αναβάθμιση πακέτων

Ο προτεινόμενος τρόπος για να κάνετε την αναβάθμιση από την προηγούμενες εκδόσεις του Debian είναι με τη χρήση του εργαλείου διαχείρισης apt.

[Σημείωση]Σημείωση

Το apt προορίζεται για διαδραστική χρήση και δεν θα έπρεπε να χρησιμοποιείται σε σενάρια (script). Σε σενάρια θα πρέπει κανείς να χρησιμοποιεί το apt-get, το οποίο έχει μια σταθερή έξοδο (output πιο κατάλληλη για parsing.

Μην ξεχάσετε να προσαρτήσετε όλες τις απαραίτητες κατατμήσεις (ιδιαίτερα την ριζική κατάτμηση και την κατάτμηση /usr) σε κατάσταση read-write, με μια εντολή όπως η:

# mount -o remount,rw /mountpoint
  

Στη συνέχεια θα πρέπει να ελέγξετε διπλά ότι οι γραμμές στο αρχείο πηγών του APT (in /etc/apt/sources.list και στα αρχεία στον κατάλογο /etc/apt/sources.list.d/) αναφέρονται είτε στην έκδοση «bullseye» είτε στην «stable». Δεν θα πρέπει να υπάρχουν οποιεσδήποτε γραμμές που αναφέροντα στην παλιά σταθερή έκδοση buster.

[Σημείωση]Σημείωση

Γραμμές πηγών που αναφέρονται σε ένα CD-ROM μπορεί μερικές φορές να αναφέρονται στην ασταθή διανομή «unstable»· αν και αυτό μπορεί να προκαλεί σύγχυση, δεν θα πρέπει να το αλλάξετε.

4.4.1. Καταγράψτε την συνεδρία

Συνίσταται έντονα να χρησιμοποιήσετε το πρόγραμμα /usr/bin/script για να καταγράψετε ένα ιστορικό της συνεδρίας της αναβάθμισης. Έτσι, αν προκύψει ένα πρόβλημα, θα έχετε ένα αρχείο καταγραφής για το τι συνέβη και, αν χρειαστεί, να μπορείτε να προσφέρετε ακριβείς πληροφορίες για μια αναφορά σφάλματος. Για να ξεκινήσετε την καταγραφή, πληκτρολογήστε:

# script -t 2>~/upgrade-bullseyestep.time -a ~/upgrade-bullseyestep.script
    

or similar. If you have to rerun the typescript (e.g. if you have to reboot the system) use different step values to indicate which step of the upgrade you are logging. Do not put the typescript file in a temporary directory such as /tmp or /var/tmp (files in those directories may be deleted during the upgrade or during any restart).

The typescript will also allow you to review information that has scrolled off-screen. If you are at the system's console, just switch to VT2 (using Alt+F2) and, after logging in, use less -R ~root/upgrade-bullseye.script to view the file.

Αφού έχετε ολοκληρώσει την αναβάθμιση, μπορείτε να σταματήσετε την εντολή script πληκτρολογώντας στο προτρεπτικό exit.

Το apt θα καταγράψει επίσης την αλλαγμένη κατάσταση των πακέτων στο αρχείο /var/log/apt/history.log και την έξοδο του τερματικού στο αρχείο /var/log/apt/term.log. Το dpkg θα καταγράψει, επιπρόσθετα, όλες τις αλλαγές στην κατάσταση των πακέτων στο /var/log/dpkg.log. Αν χρησιμοποιήσετε το aptitude, αυτό θα καταγράψει επίσης τι; αλλαγές της κατάστασης στο αρχείο /var/log/aptitude.

Αν έχετε χρησιμοποιήσει το όρισμα -t για την εντολή script μπορείτε να χρησιμοποιήσετε το πρόγραμμα scriptreplay για να "ξαναπαίξετε" ολόκληρη τη συνεδρία:

# scriptreplay ~/upgrade-bullseyestep.time ~/upgrade-bullseyestep.script
    

4.4.2. Επικαιροποίηση της λίστας πακέτων

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

# apt update
    
[Σημείωση]Σημείωση

Οι χρήστες του apt-secure πιθανόν να συναντήσουν προβλήματα χρησιμοποιώντας τις εντολές aptitude ή το apt-get. Για την εντολή apt-get, μπορείτε να την χρησιμοποιήσετε ως εξής: apt-get update --allow-releaseinfo-change.

4.4.3. Βεβαιωθείτε ότι έχετε επαρκή χώρο για την αναβάθμιση

You have to make sure before upgrading your system that you will have sufficient hard disk space when you start the full system upgrade described in Τμήμα 4.4.5, «Αναβάθμιση του συστήματος». First, any package needed for installation that is fetched from the network is stored in /var/cache/apt/archives (and the partial/ subdirectory, during download), so you must make sure you have enough space on the file system partition that holds /var/ to temporarily download the packages that will be installed in your system. After the download, you will probably need more space in other file system partitions in order to both install upgraded packages (which might contain bigger binaries or more data) and new packages that will be pulled in for the upgrade. If your system does not have sufficient space you might end up with an incomplete upgrade that is difficult to recover from.

Το apt μπορεί να σας παρουσιάσει λεπτομερείς πληροφορίες σχετικά με τον χώρο δίσκου που χρειάζεται για την εγκατάσταση. Πριν πραγματοποιήσετε την αναβάθμιση, μπορείτε να δείτε αυτή την εκτίμηση εκτελώντας την εντολή:

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX αναβαθμίστηκαν, XXX νέα εγκαταστάθηκαν, XXX για αφαίρεση και XXX δεν αναβαθμίστηκαν.
Πρέπει να φέρω xx.xMB αρχείων. 
Μετά από αυτή τη λειτουργία, θα χρησιμοποιηθούν AAAMB επιπλέον χώρου δίσκου.
    
[Σημείωση]Σημείωση

Η εκτέλεση αυτής της εντολής στην αρχή της διαδικασίας της αναβάθμισης μπορεί να έχει σαν αποτέλεσμα ένα σφάλμα, για τους λόγους που περιγράφονται στις επόμενες ενότητες. Σε αυτή την περίπτωση θα πρέπει να περιμένετε μέχρι να κάνετε την ελάχιστη αναβάθμιση του συστήματος όπως περιγράφεται στην ενότητα Τμήμα 4.4.4, «Ελάχιστη αναβάθμιση του συστήματος» πριν εκτελέσετε αυτή την εντολή για την εκτίμηση του χώρου δίσκου.

Αν δεν έχετε αρκετό χώρο για την αναβάθμιση, το apt θα σας προειδοποιήσει με ένα μήνυμα όπως το ακόλουθο:

E: Δεν έχετε επαρκή χώρο στον κατάλογο /var/cache/apt/archives/.
    

Σ' αυτή την κατάσταση, βεβαιωθείτε να ελευθερώσετε χώρο εκ των προτέρων.

  • Αφαιρέστε πακέτα που έχουν μεταφορτωθεί προηγουμένως προς εγκατάσταση (στον κατάλογο /var/cache/apt/archives). Καθαρίζοντας την cache των πακέτων τρέχοντας την εντολή apt clean θα αφαιρέσει όλα τα πακέτα που έχουν μεταφορτωθεί από πριν.

  • Remove forgotten packages. If you have used aptitude or apt to manually install packages in buster it will have kept track of those packages you manually installed, and will be able to mark as redundant those packages pulled in by dependencies alone which are no longer needed due to a package being removed. They will not mark for removal packages that you manually installed. To remove automatically installed packages that are no longer used, run:

    # apt autoremove
            

    You can also use deborphan, debfoster, or cruft to find redundant packages. Do not blindly remove the packages these tools present, especially if you are using aggressive non-default options that are prone to false positives. It is highly recommended that you manually review the packages suggested for removal (i.e. their contents, sizes, and descriptions) before you remove them.

  • Remove packages that take up too much space and are not currently needed (you can always reinstall them after the upgrade). If you have popularity-contest installed, you can use popcon-largest-unused to list the packages you do not use that occupy the most space. You can find the packages that just take up the most disk space with dpigs (available in the debian-goodies package) or with wajig (running wajig size). They can also be found with aptitude. Start aptitude in full-terminal mode, select ViewsNew Flat Package List, press l and enter ~i, then press S and enter ~installsize. This will give you a handy list to work with.

  • Remove translations and localization files from the system if they are not needed. You can install the localepurge package and configure it so that only a few selected locales are kept in the system. This will reduce the disk space consumed at /usr/share/locale.

  • Μεταφέρετε προσωρινά σε ένα άλλο σύστημα ή αφαιρέστε μόνιμα, αρχεία καταγραφής του συστήματος που βρίσκονται στον κατάλογο /var/log/.

  • Χρησιμοποιήστε έναν προσωρινό κατάλογο /var/cache/apt/archives: Μπορείτε να χρησιμοποιήσετε έναν προσωρινό κατάλογο cache από ένα άλλο σύστημα αρχείων (μια συσκευή αποθήκευσης USB, έναν προσωρινό σκληρό δίσκο, ένα σύστημα αρχείων που χρησιμοποιείται ήδη,...).

    [Σημείωση]Σημείωση

    Μην χρησιμοποιήσετε μια κατάτμηση προσαρτημένη μέσω NFS καθώς η δικτυακή σύνδεση είναι πιθανόν να διακοπεί κατά τη διάρκεια της αναβάθμισης.

    Για παράδειγμα, αν έχετε έναν οδηγό USB προσαρτημένο στο σημείο/media/usbkey:

    1. αφαιρέστε τα πακέτα που έχουν μεταφορτωθεί από πριν για την εγκατάσταση:

      # apt clean
                      

    2. αντηγράψτε τον κατάλογο /var/cache/apt/archives στον οδηγόUSB:

      # cp -ax /var/cache/apt/archives /media/usbkey/
                      

    3. προσαρτήστε τον προσωρινό κατάλογο cache στον τρέχοντα:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
                      

    4. μετά την αναβάθμιση, αποκαταστήστε τον αρχικό κατάλογο /var/cache/apt/archives:

      # umount /var/cache/apt/archives
                      

    5. αφαιρέστε τον εναπομείναντα κατάλογο /media/usbkey/archives.

    Μπορείτε να δημιουργήσετε τον προσωρινό κατάλογο cache σε οποιοδήποτε σύστημα αρχείων είναι προσαρτημένο στο σύστημά σας.

  • Do a minimal upgrade of the system (see Τμήμα 4.4.4, «Ελάχιστη αναβάθμιση του συστήματος») or partial upgrades of the system followed by a full upgrade. This will make it possible to upgrade the system partially, and allow you to clean the package cache before the full upgrade.

Σημειώστε ότι για να αφαιρέσετε με ασφάλεια πακέτα, συνιστάται να αλλάξετε τα αρχεία πηγών τουAPT σε αυτά της προηγούμενης έκδοσης buster όπως περιγράφεται στην ενότητα Τμήμα A.2, «Ελέγχοντας τα αρχεία πηγών (source-list) του APT».

4.4.4. Ελάχιστη αναβάθμιση του συστήματος

[Σημαντικό]Σημαντικό

Αν κάνετε την αναβάθμιση απομακρυσμένα, έχετε υπόψιν την ενότητα Τμήμα 5.1.23, «Δεν είναι δυνατές νέες SSH συνδέσεις στη διάρκεια της αναβάθμισης».

Σε μερικές περιπτώσεις, η πραγματοποίηση απευθείας της πλήρους αναβάθμισης (όπως περιγράφεται παρακάτω) μπορεί να αφαιρέσει μεγάλο αριθμό πακέτων που θα θέλατε να κρατήσετε. Συνεπώς, συνιστούμε μια διαδικασία αναβάθμισης σε δύο μέρη: πρώτα μια ελάχιστη αναβάθμιση για να αποφευχθούν αυτές οι συγκρούσεις, και στη συνέχεια μια πλήρη αναβάθμιση όπως περιγράφεται στην ενότηα Τμήμα 4.4.5, «Αναβάθμιση του συστήματος».

Για να το κάνετε αυτό, τρέξτε πρώτα:

# apt upgrade --without-new-pkgs
    

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

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

If the apt-listchanges package is installed, it will (in its default configuration) show important information about upgraded packages in a pager after downloading the packages. Press q after reading to exit the pager and continue the upgrade.

4.4.5. Αναβάθμιση του συστήματος

Από τη στιγμή που έχετε κάνει τα προηγούμενα συστήματα, είστε τώρα έτοιμοι/ες να συνεχίσετε στο κυρίως μέρος της αναβάθμισης. Εκτελέστε:

# apt full-upgrade
    

This will perform a complete upgrade of the system, installing the newest available versions of all packages, and resolving all possible dependency changes between packages in different releases. If necessary, it will install some new packages (usually new library versions, or renamed packages), and remove any conflicting obsoleted packages.

When upgrading from a set of CDs/DVDs/BDs, you will probably be asked to insert specific discs at several points during the upgrade. You might have to insert the same disc multiple times; this is due to inter-related packages that have been spread out over the discs.

New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version (displayed as «held back»). This can be resolved by either using aptitude to choose these packages for installation or by trying apt install package.

4.5. Πιθανά ζητήματα στη διάρκεια της αναβάθμισης

Οι επόμενες ενότητες περιγράφουν γνωστά ζητήματα που μπορεί να εμφανιστούν στη διάρκεια μιας αναβάθμισης στην έκδοση bullseye.

4.5.1. Η εντολή dist-upgrade αποτυγχάνει με το μήνυμα «Could not perform immediate configuration»

Σε μερικές περιπτώσεις το βήμα apt full-upgrade μπορεί να αποτύχει μετά τη μεταφόρτωση των πακέτων με το μήνυμα:

E: Could not perform immediate configuration on 'package'. Παρακαλούμε δείτε την σελίδα man 5 apt.conf υπό το APT::Immediate-Configure for details.
      

Αν συμβεί αυτό, τρέχοντας την εντολή apt full-upgrade -o APT::Immediate-Configure=0 θα επιτρέψει τη συνέχιση της αναβάθμισης.

Μια άλλη πιθανή λύση για το πρόβλημα αυτό είναι να προσθέσετε προσωρινά τις πηγές και για τις δυο εκδόσεις buster και bullseye στα αρχεία πηγών του APT και να τρέξετε την εντολή apt update.

4.5.2. Αναμενόμενες αφαιρέσεις

The upgrade process to bullseye might ask for the removal of packages on the system. The precise list of packages will vary depending on the set of packages that you have installed. These release notes give general advice on these removals, but if in doubt, it is recommended that you examine the package removals proposed by each method before proceeding. For more information about packages obsoleted in bullseye, see Τμήμα 4.8, «Παρωχημένα πακέτα».

4.5.3. Αντιθέσεις ή βρόγχοι Προ-εξαρτήσεων (Pre-Depends loops)

Sometimes it's necessary to enable the APT::Force-LoopBreak option in APT to be able to temporarily remove an essential package due to a Conflicts/Pre-Depends loop. apt will alert you of this and abort the upgrade. You can work around this by specifying the option -o APT::Force-LoopBreak=1 on the apt command line.

Είναι πιθανόν η δομή εξαρτήσεων των πακέτων ενός συστήματος να είναι τόσο φθαρμένη ώστε να απαιτεί παρέμβαση με το χέρι. Αυτό σημαίνει συνήθως τη χρήση του apt ή

# dpkg --remove package_name
    

για να αφαιρέσετε μερικά από τα πακέτα που προκαλούν πρόβλημα, ή

# apt -f install
# dpkg --configure --pending
    

Σε ακραίες περιπτώσεις ίσως πρέπει να επιβάλλετε την επανεγκατάσταση με μια εντολή όπως

# dpkg --install /path/to/package_name.deb
    

4.5.4. Αντιθέσεις αρχείων

Συγκρούσεις μεταξύ αρχείων δεν θα πρέπει να προκύπτουν αν κάνετε μια αναβάθμιση από ένα «καθαρό» σύστημα με την προηγούμενη έκδοση buster αλλά μπορούν να προκύψουν αν έχετε εγκαταστήσει κάποια ανεπίσημα backports. Μια αντίθεση αρχείων θα έχει σαν αποτέλεσμα ένα σφάλμα όπως το:

Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
trying to overwrite `<some-file-name>',
which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
<package-foo>
    

Μπορείτε να προσπαθήσετε να επιλύσετε μια αντίθεση αρχείων εξαναγκάζοντας την αφαίρεση του πακέτου που αναφέρεται στην τελευταία γραμμή του μηνύματος του σφάλματος:

# dpkg -r --force-depends package_name
    

Αφού έχετε διορθώσει τα πράγματα, θα μπορέσετε να συνεχίσετε την αναβάθμιση επαναλαμβάνοντας τις εντολές του apt που περιγράφτηκαν προηγουμένως.

4.5.5. Αλλαγές ρυθμίσεων

During the upgrade, you will be asked questions regarding the configuration or re-configuration of several packages. When you are asked if any file in the /etc/init.d directory, or the /etc/manpath.config file should be replaced by the package maintainer's version, it's usually necessary to answer «yes» to ensure system consistency. You can always revert to the old versions, since they will be saved with a .dpkg-old extension.

If you're not sure what to do, write down the name of the package or file and sort things out at a later time. You can search in the typescript file to review the information that was on the screen during the upgrade.

4.5.6. Αλλαγή συνεδρίας σε κονσόλα

If you are running the upgrade using the system's local console you might find that at some points during the upgrade the console is shifted over to a different view and you lose visibility of the upgrade process. For example, this may happen in systems with a graphical interface when the display manager is restarted.

To recover the console where the upgrade was running you will have to use Ctrl+Alt+F1 (if in the graphical startup screen) or Alt+F1 (if in the local text-mode console) to switch back to the virtual terminal 1. Replace F1 with the function key with the same number as the virtual terminal the upgrade was running in. You can also use Alt+Left Arrow or Alt+Right Arrow to switch between the different text-mode terminals.

4.6. Αναβάθμιση του πυρήνα και συναφών πακέτων

This section explains how to upgrade your kernel and identifies potential issues related to this upgrade. You can either install one of the linux-image-* packages provided by Debian, or compile a customized kernel from source.

Note that a lot of information in this section is based on the assumption that you will be using one of the modular Debian kernels, together with initramfs-tools and udev. If you choose to use a custom kernel that does not require an initrd or if you use a different initrd generator, some of the information may not be relevant for you.

4.6.1. Εγκατάσταση ενός μεταπακέτου πυρήνα

When you full-upgrade from buster to bullseye, it is strongly recommended that you install a linux-image-* metapackage, if you have not done so before. These metapackages will automatically pull in a newer version of the kernel during upgrades. You can verify whether you have one installed by running:

# dpkg -l "linux-image*" | grep ^ii | grep -i meta
    

If you do not see any output, then you will either need to install a new linux-image package by hand or install a linux-image metapackage. To see a list of available linux-image metapackages, run:

# apt-cache search linux-image- | grep -i meta | grep -v transition
    

If you are unsure about which package to select, run uname -r and look for a package with a similar name. For example, if you see «4.9.0-8-amd64», it is recommended that you install linux-image-amd64. You may also use apt to see a long description of each package in order to help choose the best one available. For example:

# apt show linux-image-amd64
    

You should then use apt install to install it. Once this new kernel is installed you should reboot at the next available opportunity to get the benefits provided by the new kernel version. However, please have a look at Τμήμα 5.1.24, «Πράγματα που πρέπει να κάνετε μετά τη αναβάθμιση και πριν την επανεκκίνηση» before performing the first reboot after the upgrade.

For the more adventurous there is an easy way to compile your own custom kernel on Debian. Install the kernel sources, provided in the linux-source package. You can make use of the deb-pkg target available in the sources' makefile for building a binary package. More information can be found in the Debian Linux Kernel Handbook, which can also be found as the debian-kernel-handbook package.

If possible, it is to your advantage to upgrade the kernel package separately from the main full-upgrade to reduce the chances of a temporarily non-bootable system. Note that this should only be done after the minimal upgrade process described in Τμήμα 4.4.4, «Ελάχιστη αναβάθμιση του συστήματος».

4.7. Προετοιμασία για την επόμενη έκδοση σε κυκλοφορία

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

4.7.1. Καθάρισμα των πακέτων που έχουν αφαιρεθεί

It is generally advisable to purge removed packages. This is especially true if these have been removed in an earlier release upgrade (e.g. from the upgrade to buster) or they were provided by third-party vendors. In particular, old init.d scripts have been known to cause issues.

[Προσοχή]Προσοχή

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

Η ακόλουθη εντολή εμφανίζει μια λίστα όλων των πακέτων που έχουν αφαιρεθεί αλλά είναι πιθανόν να έχουν αφήσει αρχεία ρυθμίσεων στο σύστημα (αν έχουν αφήσει κάποια):

# dpkg -l | awk '/^rc/ { print $2 }'
    

Τα πακέτα μπορούν να αφαιρεθούν πλήρως χρησιμοποιώντας την εντολή apt purge. Υποθέτοντας ότι θέλετε να τα αφαιρέσετε πλήρως με τη μία, μπορείτε να χρησιμοποιήσετε την επόμενη εντολή:

# apt purge $(dpkg -l | awk '/^rc/ { print $2 }')
    

Αν χρησιμοποιείτε το aptitude, μπορείτε να χρησιμοποιήσετε την επόμενη εναλλακτική στις προηγούμενες εντολές:

# aptitude search '~c'
# aptitude purge '~c'
    

4.8. Παρωχημένα πακέτα

Introducing lots of new packages, bullseye also retires and omits quite a few old packages that were in buster. It provides no upgrade path for these obsolete packages. While nothing prevents you from continuing to use an obsolete package where desired, the Debian project will usually discontinue security support for it a year after bullseye's release[5], and will not normally provide other support in the meantime. Replacing them with available alternatives, if any, is recommended.

There are many reasons why packages might have been removed from the distribution: they are no longer maintained upstream; there is no longer a Debian Developer interested in maintaining the packages; the functionality they provide has been superseded by different software (or a new version); or they are no longer considered suitable for bullseye due to bugs in them. In the latter case, packages might still be present in the «unstable» distribution.

Some package management front-ends provide easy ways of finding installed packages that are no longer available from any known repository. The aptitude textual user interface lists them in the category «Obsolete and Locally Created Packages», and they can be listed and purged from the commandline with:

# aptitude search '~o'
# aptitude purge '~o'
  

The Debian Bug Tracking System often provides additional information on why the package was removed. You should review both the archived bug reports for the package itself and the archived bug reports for the ftp.debian.org pseudo-package.

Για μια λίστα παρωχημένων πακέτων για την έκδοση Bullseye, παρακαλούμε αναφερθείτε στην ενότητα Τμήμα 5.3.1, «Αξιοσημείωτα παρωχημένα πακέτα».

4.8.1. Μεταβατικά εικονικά (dummy) πακέτα

Some packages from buster may have been replaced in bullseye by transitional dummy packages, which are empty placeholders designed to simplify upgrades. If for instance an application that was formerly a single package has been split into several, a transitional package may be provided with the same name as the old package and with appropriate dependencies to cause the new ones to be installed. After this has happened the redundant dummy package can be safely removed.

The package descriptions for transitional dummy packages usually indicate their purpose. However, they are not uniform; in particular, some «dummy» packages are designed to be kept installed, in order to pull in a full software suite, or track the current latest version of some program. You might also find deborphan with the --guess-* options (e.g. --guess-dummy) useful to detect transitional dummy packages on your system.



[1] Αν το επίπεδο προτεραιότητας του debconf τεθεί πολύ υψηλό, τότε ίσως αποφύγετε κάποια προτρεπτικά ρυθμίσεων, αλλά οι εφαρμογές που βασίζονται στις προεπιλεγμένες απαντήσεις που δεν εφαρμόζονται στο σύστημά σας θα αποτύχουν να ξεκινήσουν.

[2] Για παράδειγμα: υπηρεσίες DNS ή DHCP, ιδιαίτερα όταν δεν υπάρχουν επιλογές εφεδρικότηταςή ανακατεύθυνσης (failover). Στην περίπτωση της υπηρεσίας DHCP οι τελικοί χρήστες ίσως αποσυνδεθούν από το δίκτυο αν ο χρόνος άδειας (lease) είναι μικρότερος από τον χρόνο που απαιτείται για την ολοκλήρωση της διαδικασίας αναβάθμισης.

[3] Αυτό το γνώρισμα μπορεί να απενεργοποιηθεί χρησιμοποιώντας την παράμετρο panic=0 στις παραμέτρους εκκίνησης.

[4] Το σύστημα διαχείρισης των πακέτων του Debian συνήθως δεν επιτρέπει σε ένα πακέτο να αφαιρέσει ή να αντικαταστήσει ένα αρχείο που ανήκει σε ένα άλλο πακέτο εκτός και αν έχει καθοριστεί να αντικαταστήσει αυτό το πακέτο.

[5] Ή γα όσο δεν υπάρχει κάποια άλλη έκδοση σ' αυτό το χρονικό πλαίσιο.Τυπικά μόνο δυο σταθερές εκδόσεις υποστηρίζονται σε οποιαδήποτε δεδομένη χρονική στιγμή.