Πίνακας Περιεχομένων
Προτείνουμε πριν την αναβάθμιση να διαβάσετε επίσης τις πληροφορίες στο κεφάλαιο Κεφάλαιο 5, Ζητήματα που θα πρέπει να έχετε υπόψιν για την έκδοση bullseye. Αυτό το κεφάλαιο καλύπτει πιθανά προβλήματα που δεν σχετίζονται άμεσα με τη διαδικασία αναβάθμισης αλλά μπορεί να είναι σημαντικό να τα γνωρίζετε πριν ξεκινήσετε την αναβάθμιση.
Πριν αναβαθμίσετε το σύστημά σας συνιστάται πολύ έντονα να κρατήσετε ένα αντίγραφο ασφαλείας ολόκληρου του συστήματος ή τουλάχιστον των δεδομένων ή οποιωνδήποτε πληροφοριών ρύθμισης που δεν θα θέλατε να χάσετε σε καμμιά περίπτωση. Τα εργαλεία και η διαδικασία αναβάθμισης είναι αρκετά αξιόπιστα αλλά μια αστοχία του υλικού στο μέσο μιας αναβάθμισης θα μπορούσε να έχει σαν αποτέλεσμα ένα σύστημα με πολύ σοβαρή ζημιά.
Τα βασικά πράγματα που θέλετε να αντιγράψετε είναι τα περιεχόμενα των
καταλόγων /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 για να αποκτήσετε τα απαραίτητα δικαιώματα
πρόσβασης.
Η αναβάθμιση έχει μερικές προϋποθέσεις· θα πρέπει να τις ελέγξετε πριν προχωρήσετε πραγματικά στην αναβάθμιση.
Είναι φρόνιμο να ενημερώστε όλους τους χρήστες εκ των προτέρων για τις όποιες αναβαθμίσεις σχεδιάζετε, αν και οι χρήστες που έχουν πρόσβαση στο σύστημά σας μέσω ssh θα καταλάβουν λίγα πράγματα μόνο στη διάρκεια της αναβάθμισης και θα μπορούν να συνεχίσουν να δουλεύουν.
Αν θέλετε να πάρετε επιπλέον προφυλάξεις, πάρετε ένα αντίγραφο ασφαλείας ή
αποπροσαρτήστε την κατάτμηση /home
πριν την αναβάθμιση.
Θα πρέπει να κάνετε μια αναβάθμιση του πυρήνα πριν προχωρήσετε στην αναβάθμιση στην έκδοση bullseye, οπότε θα είναι αναγκαία μια επανεκκίνηση του συστήματος. Τυπικά, αυτό θα γίνει αφού τελειώσει η αναβάθμιση.
Ίσως υπάρχουν υπηρεσίες που προσφέρονται από το σύστημα και οι οποίες σχετίζονται με πακέτα που θα περιλαμβάνονται στην αναβάθμιση. Αν συμβαίνει αυτό, παρακαλούμε σημειώστε ότι, στη διάρκεια της αναβάθμισης, αυτές οι υπηρεσίες θα διακοπούν ενόσω αντικαθίστανται ή ρυθμίζονται τα σχετιζόμενα με αυτές πακέτα. Σε αυτό το χρονικό διάστημα, αυτές οι υπηρεσίες δεν θα είναι διαθέσιμες.
Ο ακριβής χρόνος διακοπής για τις υπηρεσίες αυτές θα ποικίλει ανάλογα με τον αριθμό των πακέτων που αναβαθμίζονται στο σύστημά σας, και περιλαμβάνει επίσης τον χρόνο που ο διαχειριστής του συστήματος αφιερώνει στην απάντηση των όποιων ερωτήσεων για τις ρυθμίσεις από τις αναβαθμίσεις των πακέτων. Σημειώστε ότι αν η διαδικασία αναβάθμισης αφεθεί χωρίς επιτήρηση και το σύστημα απαιτεί κάποια είσοδο στη διάρκεια της αναβάθμισης υπάρχει μεγάλη πιθανότητα οι υπηρεσίες να μην είναι διαθέσιμες[1] για ένα σημαντικό χρονικό διάστημα.
Αν το υπό αναβάθμιση σύστημα παρέχει κάποιες κρίσιμες υπηρεσίες για τους χρήστες σας ή το δίκτυο[2], μπορείτε να μειώσετε τον χρόνο διακοπής τους αν κάνετε μια ελάχιστη αναβάθμιση του συστήματος, όπως περιγράφεται στην ενότηταΤμήμα 4.4.4, «Ελάχιστη αναβάθμιση του συστήματος», ακολουθούμενη από μια αναβάθμιση του πυρήνα και επανεκκίνηση και την αναβάθμιση των πακέτων που σχετίζονται με τις κρίσιμες υπηρεσίες μόνο στη συνέχεια. Αναβαθμίστε αυτά τα πακέτα πριν πραγματοποιήσετε μια πλήρη αναβάθμιση όπως περιγράφεται στην ενότητα Τμήμα 4.4.5, «Αναβάθμιση του συστήματος». Με αυτό τον τρόπο μπορείτε να διασφαλίσετε ότι αυτές οι κρίσιμες υπηρεσίες τρέχουν και είναι διαθέσιμες κατά τη διάρκεια της διαδικασίας της πλήρους αναβάθμισης, και ότι ο χρόνος διακοπής τους μειώνεται.
Αν και το Debian προσπαθεί να διασφαλίσει ότι το σύστημά σας παραμένει εκκινήσιμο σε κάθε χρονική στιγμή, υπάρχει πάντα η πιθανότητα να αντιμετωπίσετε προβλήματα στην επανεκκίνηση του συστήματος μετά την αναβάθμιση. Γνωστά πιθανά προβλήματα τεκμηριώνονται στο παρόν και στα επόμενα κεφάλαια των Σημειώσεων της Έκδοσης.
Για τον λόγο αυτό έχει νόημα να διασφαλίσετε ότι θα έχετε τη δυνατότητα ανάκτησης σε περίπτωση που το σύστημά σας δεν μπορεί να επανεκκινήσει ή, για συστήματα που τα διαχειρίζεστε από μακριά, αποτύχουν να ενεργοποιήσουν το δίκτυο.
Αν κάνετε την αναβάθμιση απομακρυσμένα μέσω μιας σύνδεσης ssh συνιστάται να λάβετε τις απαραίτητες προφυλάξεις ώστε να μπορείτε να έχετε πρόσβαση στον εξυπηρετητή μέσω ενός απομακρυσμένου σειριακού τερματικού. Υπάρχει πιθανότητα σ' αυτή την περίπτωση να χρειαστεί να διορθώσετε τη διαμόρφωση του συστήματος, μετά την αναβάθμιση του πυρήνα και την επανεκκίνηση, μέσω μιας τοπικής κονσόλας. Επίσης, αν το σύστημα επανεκκινηθεί κατά λάθος στο μέσον μιας αναβάθμισης υπάρχει πιθανότητα να χρειαστεί να ανακτήσετε το σύστημα με τη χρήση μιας τοπικής κονσόλας.
Για μια επείγουσα ανάκτηση συνιστούμε γενικά τη χρήση του rescue mode της έκδοσης bullseye του Εγκαταστάτη του Debian. Το πλεονέκτημα της χρήσης του εγκαταστάτη είναι ότι μπορείτε να επιλέξετε μεταξύ των πολλών μεθόδων του ώστε να βρείτε εκείνη που ταιριάζει περισσότερο στην κατάστασή σας. Για περισσότερες πληροφορίες παρακαλούμε συμβουλευτείτε την ενότητα «Ανακτώντας ένα Προβληματικό Σύστημα» στο κεφάλαιο 8 του Οδηγού Εγκατάστασης και τις Συχνές Ερωτήσεις του Εγκαταστάτη του Debian.
Αν αυτό αποτύχει, θα χρειαστείτε έναν εναλλακτικό τρόπο για να εκκινήσετε το σύστημά σας ώστε να μπορέσετε να έχετε πρόσβαση σ' αυτό και να το διορθώσετε. Μια επιλογή είναι να χρησιμοποιήσετε μια ειδική εικόνα διάσωσης ή live εγκατάστασης. Αφού έχετε επανεκκινήσει από αυτήν, θα μπορέσετε να προσαρτήσετε το ριζικό σύστημα αρχείων και να εκτελέσετε την εντολή chroot σε αυτό ώστε να διερευνήσετε και να διορθώσετε το πρόβλημα.
Το πακέτο initramfs-tools
περιλαμβάνει ένα κέλυφος αποσφαλμάτωσης [3] στον δίσκο μνήμης initrds που παράγει. Αν για παράδειγμα, η initrd
δεν μπορεί να προσαρτήσει το ριζικό σύστημα, θα βρεθείτε σε αυτό το κέλυφος
αποσφαλμάτωσης που διαθέτει τις βασικές εντολές που θα σας βοηθήσουν να
εντοπίσετε το πρόβλημα και πιθανόν να το διορθώσετε.
Βασικά πράγματα που πρέπει να ελέγξετε είναι: η παρουσία σωστών αρχείων
συσκευών στον κατάλογο /dev
· ποια αρθρώματα έχουν
φορτωθεί (cat /proc/modules
)· την έξοδο της εντολής
dmesg για σφάλματα κατά τη φόρτωση οδηγών. Η έξοδος της
εντολής dmesg θα δείξει επίσης ποια αρχεία έχουν αποδωθεί
σε ποιους δίσκους· θα πρέπει να το ελέγξετε αυτό σε σύγκριση με το
αποτέλεσμα της εντολής echo $ROOT
για να βεβαιωθείτε ότι
το ριζικό σύστημα είναι προσαρτημένο στην αναμενόμενη συσκευή.
Αν καταφέρετε να διορθώσετε το πρόβλημα, πληκτρολογώντας
exit
θα βγείτε από το κέλυφος αποσφαλμάτωσης και θα
συνεχίσετε τη διαδικασία εκκίνησης από το σημείο που είχε αποτύχει. Φυσικά,
θα χρειαστεί επίσης να διορθώσετε το υποκείμενο πρόβλημα και να
ξαναδημιουργήσετε την initrd ώστε η επόμενη εκκίνηση να μην αποτύχει και
πάλι.
Αν η εκκίνηση αποτύχει με το systemd, είναι δυνατόν να αποκτήσετε ένα
κέλυφος αποσφαλμάτωσης του χρήστη root αλλάζοντας τη γραμμή εντολών του
πυρήνα. Αν η βασική εκκίνηση πετύχει, αλλά μερικές υπηρεσίες αποτύχουν να
ξεκινήσουν, ίσως είναι χρήσιμο να προσθέσετε το
systemd.unit=rescue.target
στις παραμέτρους του πυρήνα.
Διαφορετικά, η παράμετρος του πυρήνα
systemd.unit=emergency.target
θα σας προσφέρει ένα
κέλυφος του χρήστη root στο νωρίτερο δυνατόν χρονικό σημείο. Όμως, αυτό
γίνεται πριν την προσάρτηση του ριζικού συστήματος αρχείων με δικαιώματα
read-write. Θα χρειαστεί να το κάνετε αυτό με το χέρι με την εντολή:
# mount -o remount,rw /
Περισσότερες πληροφορίες για την αποσφαλμάτωση μιας προβληματικής εκκίνησης μπορούν να βρεθούν στο άρθρο Διαγιγνώσκοντας προβλήματα εκκίνησης.
Σημαντικό | |
---|---|
Αν χρησιμοποιείτε μια υπηρεσία VPN (όπως η |
Για να έχετε ένα επιπλέον περιθώριο ασφαλείας όταν κάνετε την αναβάθμιση από μακριά, προτείνουμε να τρέχετε την διαδικασία αναβάθμισης από την εικονική κονσόλα που παρέχει το πρόγραμμαscreen, το οποίο κάνει εφικτή την ασφαλή επανασύνδεση και διασφαλίζει ότι η διαδικασία αναβάθμισης δεν διακόπτεται ακόμα και αν η απομακρυσμένη σύνδεση χαθεί προσωρινά.
Η διαδικασία αναβάθμισης που περιγράφεται στο παρόν κεφάλαιο έχει σχεδιαστεί για «αμιγή» σταθερά συστήματα Debian. Το APT ελέγχει τι είναι εγκατεστημένο στο σύστημά σας. Αν η ρύθμιση του APT στο σύστημά σας αναφέρει επιπρόσθετες πηγές πέρα από αυτές της παλιάς έκδοσης buster, ή έχετε εγκαταστήσει πακέτα από άλλες εκδόσεις ή τρίτα μέρη, τότε για να διασφαλίσετε μια αξιόπιστη διαδικασία αναβάθμισης ίσως να θέλετε να ξεκινήσετε αφαιρώντας αυτούς τους παράγοντες πιθανών περιπλοκών.
Το βασικό αρχείο ρυθμίσεων που χρησιμοποιεί το APT για να αποφασίσει ποιες
πηγές θα πρέπει να χρησιμοποιήσει για τη μεταφόρτωση πακέτων είναι
το/etc/apt/sources.list
, αλλά μπορεί επίσης να
χρησιμοποιήσει αρχεία στον κατάλογο
/etc/apt/sources.list.d/
- για λεπτομέρειες δείτε την
σελίδα εγχειριδίου sources.list(5).
Αν το σύστημά σας χρησιμοποιεί πολλαπλά αρχεία source-list τότε θα χρειαστεί
να διασφαλίσετε ότι παραμένουν σε συνεπή κατάσταση.
Απευθείας αναβαθμίσεις από εκδόσεις του Debian παλιότερες της έκδοσης 10 (buster) δεν υποστηρίζονται. Εμφανίστε την έκδοση του Debian στο σύστημά σας με την εντολή:
$ cat /etc/debian_version
Παρακαλούμε ακολουθήστε τις οδηγίες στη σελίδα Σημειώσεις της έκδοσης Debian 10 για να κάνετε πρώτα την αναβάθμιση στην έκδοση Debian 10.
Παρακάτω υπάρχουν δύο μέθοδοι για να βρείτε ποια εγκατεστημένα πακέτα που δεν προέρχονται από το Debian, χρησιμοποιώντας είτε το aptitude ή την εντολή apt-forktracer. Παρακαλούμε σημειώστε ότι κανένα από τα δύο δεν είναι 100% ακριβή (πχ. το παράδειγμα με το aptitude θα κάνει μια λίστα με πακέτα που κάποτε παρέχονταν από το Debian αλλά όχι πλέον, όπως πακέτα παλιών πυρήνων).
$ aptitude search '?narrow(?installed, ?not(?origin(Debian)))' $ apt-forktracer | sort
Αυτή η διαδικασία προϋποθέτει ότι το σύστημά σας έχει αναβαθμιστεί στην πιο πρόσφατη σημειακή έκδοση της buster. Αν δεν το έχετε κάνει αυτό ή δεν είστε σίγουροι/ες, ακολουθήστε τις οδηγίες στην ενότητα Τμήμα A.1, «Αναβαθμίζοντας το σύστημά σας που έχει την έκδοση buster».
Θα πρέπει να βεβαιωθείτε ότι η βάση δεδομένων των πακέτων είναι έτοιμη πριν
προχωρήσετε με την αναβάθμιση. Αν είστε χρήστης ενός άλλου διαχειριστή
πακέτων όπως το aptitude
ή το
synaptic
, δείτε για τις όποιες
ενέργειες εκκρεμούν. Ένα πακέτου που είναι προγραμματισμένο για εγκατάσταση
ή αφαίρεση μπορεί να δημιουργήσει παρεμβολές στη διαδικασία
αναβάθμισης. Σημειώστε ότι η διόρθωση για κάτι τέτοιο είναι δυνατή μόνο αν
τα αρχεία πηγών του APT εξακολουθούν να αναφέρονται στην παλιά έκδοση
buster και όχι στην
σταθερή/stable διανομή ή την έκδοση
bullseye· δείτε την ενότητα Τμήμα A.2, «Ελέγχοντας τα αρχεία πηγών (source-list) του APT».
Είναι καλή ιδέα να αφαιρέσετε παρωχημένα πακέτα από το σύστημά σας πριν την αναβάθμιση. Ίσως προκαλέσουν επιπλοκές κατά τη διαδικασία αναβάθμισης και μπορούν να παρουσιάσουν κινδύνους ασφαλείας καθώς δεν υποστηρίζονται πλέον.
Μια προηγούμενη αναβάθμιση μπορεί να έχει αφήσει πίσω μη χρησιμοποιούμενα αντίγραφα αρχείων ρυθμίσεων· παλιές εκδόσεις αρχείων ρυθμίσεων, εκδόσεις που παρέχονται από τους/τις συντηρητές/συντηρήτριες των πακέτων κλπ. Η αφαίρεση αρχείων που έχουν "ξεμείνει" από προηγούμενες αναβαθμίσεις μπορεί να βοηθήσει να αποφευχθεί το μπέρδεμα. Βρείτε τέτοια αρχεία με:
# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
Για γραμμές στο αρχείο πηγών του APT που αναφέρονται στην αρχειοθήκη
ασφαλείας, ο μορφότυπος έχει αλλάξει λίγο μαζί με το όνομα της έκδοσης,
αλλάζοντας από buster/updates
σε
bullseye-security
· δείτε την ενότητα Τμήμα 5.1.2, «Διαφορετικη διάρθρωση της αρχειοθήκης ασφαλείας».
Αν έχετε συμπεριλάβει την ενότητα proposed-updates
στο
αρχείο των πηγών του APT, θα πρέπει να την αφαιρέσετε πριν προσπαθήσετε να
αναβαθμίσετε το σύστημά σας. Αυτό είναι ένα προληπτικό μέτρο, ώστε να
μειώσετε την πιθανότητα συγκρούσεων.
Αν έχετε οποιαδήποτε πακέτα που δεν ανήκουν στο Debian στο σύστημά σας, θα πρέπει να έχετε υπόψιν ότι μπορεί ίσως να αφαιρεθούν στη διάρκεια της αναβάθμισης εξαιτίας αντικρουόμενων εξαρτήσεων. Αν τα πακέτα αυτά εγκαταστήθηκαν προσθέτοντας μια επιπλέον αρχειοθήκη πακέτων στα αρχεία πηγών του APT source-list, θα πρέπει να ελέγξετε αν η αρχειοθήκη αυτή προσφέρει επίσης πακέτα μεταγλωττισμένα για την έκδοση bullseye και να αλλάξετε το τμήμα των πηγών ανάλογα μαζί με την αλλαγή των πηγών σαςγια τα πακέτα του Debian.
Κάποιες χρήστες ίσως έχουν ανεπίσημες backported «νεώτερες» εκδόσεις των πακέτων που είναι εγκατεστημένα στο Debian σύστημά τους με την παλιότερη έκδοση buster. Για τέτοια πακέτα το πιθανότερο είναι να προκαλέσουν προβλήματα στη διάρκεια μιας αναβάθμισης καθώς μπορεί να έχουν σαν αποτέλεσμα σε συγκρούσεις μεταξύ αρχείων[4]. Τμήμα 4.5, «Πιθανά ζητήματα στη διάρκεια της αναβάθμισης» έχει μερικές πληροφορίες για το πώς να αντιμετωπίσετε τέτοιες συγκρούσεις αρχείων σε περίπτωση που προκύψουν.
Αν έχετε ρυθμίσει το APT να εγκαθιστά συγκεκριμένα πακέτα από μια διανομή
διαφορετική από την σταθερή (πχ. τη δοκιμαστική), ίσως να χρειαστεί να
αλλάξετε τις ρυθμίσεις pinning του APT (που βρίσκονται στους καταλόγους
/etc/apt/preferences
και
/etc/apt/preferences.d/
) ώστε να επιτραπεί η αναβάθμιση
των πακέτων σε εκδόσεις στην καινούρια σταθερή διανομή. Περισσότερες
πληροφορίες για το APT pinning μπορούν να βρεθούν στην σελίδα εγχειριδίου
apt_preferences(5).
Άσχετα από τη μέθοδο που χρησιμοποιείτε για την εγκατάσταση, συνιστάται να ελέγξετε πρώτα την κατάσταση όλων των πακέτων και να επαληθεύσετε ότι όλα τα πακέτα είναι σε κατάσταση που μπορούν να αναβαθμιστούν. Η ακόλουθη εντολή θα σας δείξει οποιαδήποτε πακέτα βρίσκονται σε κατάσταση 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».
Πριν ξεκινήσετε την αναβάθμιση πρέπει να επαναρυθμίσετε το αρχείο πηγών του
APT(/etc/apt/sources.list
και τα αρχεία στον κατάλογο
/etc/apt/sources.list.d/
) για να προσθέσετε τις πηγές
για την έκδοση bullseye
και τυπικά να αφαιρέσετε τις
πηγές για την παλιά έκδοση buster
.
Το APT θα λάβει υπόψιν όλα τα πακέτα που μπορούν να βρεθούν μέσω οποιασδήποτε ρυθμισμένης αρχειοθήκης, και θα εγκαταστήσει το πακέτο με τον πιο υψηλότερο αριθμό έκδοσης, δίνοντας προτεραιότητα στην πρώτη εγγραφή στα αρχεία αυτά. Συνεπώς, αν έχετε πολλαπλές τοποθεσίες καθρεφτών, αναφέρετε πρώτα αυτές οου είναι σε τοπικούς σκληρούς δίσκους, ύστερα αυτές σε CD-ROM, και μετά αυτές σε απομακρυσμένους καθρέφτες.
Σε μια έκδοση μπορεί να αναφέρεται κανείς τόσο με την κωδική ονομασία της
(πχ.buster
, bullseye
)
αλλά και με το όνομα της κατάστασής της (δηλαδή
oldstable
, stable
,
testing
, unstable
). Η αναφορά σε μια
έκδοση με την κωδική της ονομασία έχει το πλεονέκτημα ότι ποτέ δεν θα
εκπλαγείτε από μια καινούρια έκδοση και για αυτόν τον λόγο είναι η
προσέγγιση που ακολουθούμε εδώ. Φυσικά, σημαίνει ότι θα πρέπει να έχετε τον
νου σας για ανακοινώσεις μιας καινούριας έκδοσης οι ίδιοι. Αν, αντίθετα,
χρησιμοποιείτε το όνομα της κατάστασης, θα δείτε έναν μεγάλο αριθμό
αναβαθμίσεων για πακέτα που είναι διαθέσιμα αμέσως με την κυκλοφορία μιας
καινούριας έκδοσης.
Το Debian προσφέρει δύο λίστες αλληλογραφίας ανακοινώσεων για να σας βοηθήσει να έχετε τις πιο πρόσφατες πληροφορίες που σχετίζονται με τις εκδόσεις του Debian:
Με την εγγραφή σας
στηλίστα αλληλογραφίας ανακοινώσεων του Debian, θα λαμβάνετε μια
ειδοποίηση κάθε φορά που το Debian κυκλοφορεί μια καινούρια έκδοση. Όπως
στην περίπτωση που η έκδοση bullseye
αλλάζει πχ. από
testing/δοκιμαστική
σε stable/σταθερή
.
Με την εγγραφή σας στην λίστα αλληλογραφίας των ανακοινώσεων ασφαλείας του Debian, θα λαμβάνετε μια ειδοποίηση κάθε φορά που το Debian δημοσιεύει μια ανακοίνωση ασφαλείας.
Σε καινούριες εγκαταστάσεις η προεπιλογή είναι το APT να ρυθμίζεται ώστε να χρησιμοποιεί την υπηρεσία CDN του Debian, η οποία διασφαλίζει ότι τα πακέτα μεταφορτώνονται αυτόματα από έναν κοντινό σας εξυπηρετητή σε δικτυακούς όρους. Καθώς πρόκειται για μια νέα υπηρεσία, παλιότερες εγκαταστάσεις ίσως έχουν ακόμα ρυθμίσεις που δείχνουν προς έναν από τους κύριους διαδικτυακούς εξυπηρετητές του Debian. Αν δεν το έχετε κάνει ήδη, συνιστάται να αλλάξετε στην χρήση της υπηρεσίας CDN στις ρυθμίσεις σας για το APT.
Για να χρησιμοποιήσετε την υπηρεσία 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-ppc64el/... http://mirrors.kernel.org/debian/dists/bullseye/contrib/binary-ppc64el/...
Για να ρυθμίσετε το APT ώστε να χρησιμοποιεί ένα συγκεκριμένο καθρέφτη,
προσθέστε μοα γραμμή όπως η ακόλουθη (υποθέτοντας και πάλι ότι
χρησιμοποιείτε τις main
και contrib
):
deb http://mirrors.kernel.org/debian bullseye main contrib
Σημειώστε ότι ο κατάλογος that the «dists
»
προστίθεται υπόρρητα, και ότι τα ορίσματα μετά τα ονόματα των εκδόσεων
χρησιμοποιούνται για την επέκταση της διαδρομής των καταλόγων σε πολλαπλούς
καταλόγους.
Και πάλι, αφού προσθέσετε τις νέες πηγές, απενεργοποιήστε τις προϋπάρχουσες επιλογές των αρχειοθηκών.
Αντί να χρησιμοποιήσετε απομακρυσμένους καθρέφτες πακέτων, μπορεί να θέλετε να τροποποιήσετε αρχεία των πηγών του APT ώστε να χρησιμοποιούν ένα καθρέφτη σε έναν τοπικό δίσκο (πιθανόν προσαρτημένο μέσω NFS).
Για παράδειγμα. ο καθρέφτης πακέτων μπορεί να βρίσκεται κάτω από τον
κατάλογο /var/local/debian/
, και να έχει κύριους
καταλόγους όπως οι ακόλουθοι:
/var/local/debian/dists/bullseye/main/binary-ppc64el/... /var/local/debian/dists/bullseye/contrib/binary-ppc64el/...
Για να τους χρησιμοποιήσετε με το apt
, προσθέστε αυτή τη γραμμή στο αρχείο
sources.list
:
deb file:/var/local/debian bullseye main contrib
Σημειώστε ότι ο κατάλογος that the «dists
»
προστίθεται υπόρρητα, και ότι τα ορίσματα μετά τα ονόματα των εκδόσεων
χρησιμοποιούνται για την επέκταση της διαδρομής των καταλόγων σε πολλαπλούς
καταλόγους.
Αφού έχετε προσθέσει τις νέες πηγές, απενεργοποιείστε τις προϋπάρχουσες
επιλογές αρχειοθηκών στα αρχεία πηγών του APT βάζοντας ένα σύμβολο
(#
) μπροστά από αυτές.
Αν θέλετε να χρησιμοποιήσετε μόνο DVD (ή CD ή δίσκους
Blu-ray), σχολιάστε τις γραμμές που υπάρχουν σε όλα τα αρχεία πηγών του APT
προσθέτοντας ένα σύμβολο της δίεσης (hash) (#
) στην αρχή
τους.
Βεβαιωθείτε ότι υπάρχει μια γραμμή στο αρχείο
/etc/fstab
που επιτρέπει την προσάρτηση της συσκευής
CD-ROM στο σημείο προσάρτησης /media/cdrom
. Για
παράδειγμα, αν η συσκευή σας CD-ROM είναι η /dev/sr0
,
το αρχείο σας /etc/fstab
θα πρέπει να περιέχει μια
γραμμή όπως η ακόλουθη:
/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.
Ο προτεινόμενος τρόπος για να κάνετε την αναβάθμιση από την προηγούμενες εκδόσεις του 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 μπορεί μερικές φορές να
αναφέρονται στην ασταθή διανομή « |
Συνίσταται έντονα να χρησιμοποιήσετε το πρόγραμμα /usr/bin/script για να καταγράψετε ένα ιστορικό της συνεδρίας της αναβάθμισης. Έτσι, αν προκύψει ένα πρόβλημα, θα έχετε ένα αρχείο καταγραφής για το τι συνέβη και, αν χρειαστεί, να μπορείτε να προσφέρετε ακριβείς πληροφορίες για μια αναφορά σφάλματος. Για να ξεκινήσετε την καταγραφή, πληκτρολογήστε:
# script -t 2>~/upgrade-bullseyestep
.time -a ~/upgrade-bullseyestep
.script
ή κάτι ανάλογο. Αν πρέπει να ξανατρέξετε το typescript (πχ. αν πρέπει να
επανεκκινήσετε το σύστημα) χρησιμοποιήστε διαφορετικές τιμές
βήματος
για να υποδείξετε ποιο βήμα της
αναβάθμισης καταγράφετε. Μην αποθηκεύσετε το αρχείο typescript σε έναν
προσωρινό κατάλογο όπως οι /tmp
ή
/var/tmp
(αρχεία σε τέτοιους καταλόγους μπορεί να
διαγραφούν αυτόματα στη διάρκεια της αναβάθμισης ή στη διάρκεια οποιασδήποτε
επανεκκίνησης.
Το πρόγραμμα typescript θα σας επιτρέψει επίσης την ανασκόπηση πληροφορίας
που έχει "κυλίσει" εκτός οθόνης. Αν βρισκόσαστε στην κονσόλα του συστήματος,
μεταφερθείτε απλά στο τερματικό VT2 (χρησιμοποιώντας τον συνδυασμό Alt+F2) και, αφού
μπείτε στο σύστημα, χρησιμοποιήστε την εντολή less -R
~root/upgrade-bullseye.script
για να δείτε το σχετικό αρχείο.
Αφού έχετε ολοκληρώσει την αναβάθμιση, μπορείτε να σταματήσετε την εντολή
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
Πρώτα θα πρέπει να φέρετε τη λίστα των διαθέσιμων πακέτων για την καινούρια έκδοση. Αυτό γίνεται τρέχοντας:
# apt update
Σημείωση | |
---|---|
Οι χρήστες του apt-secure πιθανόν να συναντήσουν προβλήματα χρησιμοποιώντας τις εντολές aptitude ή το apt-get. Για την εντολή apt-get, μπορείτε να την χρησιμοποιήσετε ως εξής: apt-get update --allow-releaseinfo-change. |
Πρέπει να βεβαιωθείτε πριν την αναβαθμίσεις του συστήματός σας ότι έχετε
επαρκή χώρο στον σκληρό σας δίσκο όταν ξεκινάτε την πλήρη αναβάθμιση του
συστήματος που περιγράφεται στην ενότητα Τμήμα 4.4.5, «Αναβάθμιση του συστήματος».
Πρώτον, οποιδήποτε πακέτο χρειάζεται για την εγκατάσταση και ανακτάται από
το δίκτυο αποθηκεύεται στον κατάλογο
/var/cache/apt/archives
(και στον υποκατάλογο
partial/
, στη διάρκεια της μεταφόρτωσης), οπότε πρέπει
να βεβαιωθείτε ότι έχετε αρκετό χώρο στην κατάτμηση του συστήματος αρχείων
που περιέχει τον κατάλογο /var/
ώστε να κατεβάσετε
προσωρινά τα πακέτα που θα εγκατασταθούν στο σύστημά σας. Μετά την
μεταφόρτωση, πιθανόν να χρειαστείτε περισσότερο χώρo σε άλλες κατατμήσεις
του συστήματος αρχείων τόσο για να εγκαταστήσετε τα αναβαθμισμένα πακέτα (τα
οποία πιθανόν ναν περιέχουν μεγαλύτερα εκτελέσιμα ή περισσότερα δεδομένα)
και νέα πακέτα που θα μεταφορτωθούν για την αναβάθμιση. Αν το σύστημά σας
δεν έχει επαρκή χώρο ίσως να καταλήξετε με μια μη-πλήρη αναβάθμιση από την
οποία είναι δύσκολο να ανακάμψετε.
Το 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 θα
αφαιρέσει όλα τα πακέτα που έχουν μεταφορτωθεί από πριν.
Αφαιρέστε ξεχασμένα πακέτα. Αν έχετε χρησιμοποιήσει το aptitude ή το apt για να εγκαταστήσετε με το χέρι αυτά τα πακέτα στην έκδοση buster αυτά θα έχουν διατηρήσει τα ίχνη των πακέτων που εγκαταστήσατε με το χέρι και θα μπορούν να μαρκάρουν ως πλεονάζοντα εκείνα τα πακέτα που κατέβηκαν εξαιτίας μόνο εξαρτήσεων από άλλα πακέτα και που πλέον δεν χρειάζονται εξαιτίας της αφαίρεσης ενός πακέτου. Δεν θα μαρκάρουν για αφαίρεση πακέτα που εγκαταστήσατε με το χέρι. Για να αφαιρέσετε αυτόματα εγκατεστημένα πακέτα που δεν χρειάζονται πλέον, εκτελέστε:
# apt autoremove
Μπορείτε επίσης να χρησιμοποιήσετε τις εντολές deborphan, debfoster, ή cruft για να βρείτε πλεονάζοντα πακέτα. Μην αφαιρέσετε με "κλειστά μάτια" αυτά τα πακέτα που εμφανίζουν αυτά τα εργαλεία, ιδιαίτερα αν χρησιμοποιείτε επιθετικές μη-προκαθορισμένες επιλογές που είναι επιρρεπείς σε ψευδώς θετικές ενδείξεις. Συνιστάται πολύ έντονα να επιβλέψετε οι ίδιοι τα πακέτα που προτείνονται για αφαίρεση (δηλαδή, το περιεχόμενό τους, το μέγεθος και τις περιγραφές τους) πριν τα αφαιρέσετε.
Αφαιρέστε πακέτα που πιάνουν πολύ χώρο και δεν χρειάζονται αυτή τη
στιγμή(μπορείτε πάντα να τα επανεγκαταστήσετε μετά την αναβάθμιση). Αν έχετε
εγκαταστήσει το πακέτο popularity-contest
, μπορείτε να χρησιμοποιήσετε
την εντολή popcon-largest-unused για να πάρετε τη λίστα
των πακέτων που δεν χρησιμοποιείτε και τα οποία καταλαμβάνουν τον
περισσότερο χώρο. Μπορείτε να βρείτε τα πακέτα που απλά καταλαμβάνουν τον
περισσότερο χώρο με την εντολή dpigs (διαθέσιμη με το
πακέτο debian-goodies
) ή με την
εντολή wajig (εκτελώντας την εντολή wajig
size
). Αυτά τα πακέτα μπορούν επίσης να βρεθούν με το aptitude
. Ξεκινήστε το
aptitude σε κατάσταση πλήρους τερματικού, επιλέξτε
→ , πατήστε το πλήκτρο l και
το ~i
, στη συνέχεια πατήστε το S και
εισάγετε ~installsize
. Αυτό θα σας δώσει μια βολική λίστα
για να δουλέψετε.σ
Αφαιρέστε μεταφράσεις και αρχεία τοπικοποίησης από το σύστημα αν δεν είναι
απαραίτητα. Μπορείτε να εγκαταστήσετε το πακέτο localepurge
και να το ρυθμίσετε έτσι να
διατηρούνται στο σύστημα λίγα επιλεγμένα locales. Αυτό θα μειώσει τον χώρο
δίσκου που καταναλώνεται στον κατάλογο
/usr/share/locale
.
Μεταφέρετε προσωρινά σε ένα άλλο σύστημα ή αφαιρέστε μόνιμα, αρχεία
καταγραφής του συστήματος που βρίσκονται στον κατάλογο
/var/log/
.
Χρησιμοποιήστε έναν προσωρινό κατάλογο
/var/cache/apt/archives
: Μπορείτε να χρησιμοποιήσετε
έναν προσωρινό κατάλογο cache από ένα άλλο σύστημα αρχείων (μια συσκευή
αποθήκευσης USB, έναν προσωρινό σκληρό δίσκο, ένα σύστημα
αρχείων που χρησιμοποιείται ήδη,...).
Σημείωση | |
---|---|
Μην χρησιμοποιήσετε μια κατάτμηση προσαρτημένη μέσω NFS καθώς η δικτυακή σύνδεση είναι πιθανόν να διακοπεί κατά τη διάρκεια της αναβάθμισης. |
Για παράδειγμα, αν έχετε έναν οδηγό USB προσαρτημένο στο
σημείο/media/usbkey
:
αφαιρέστε τα πακέτα που έχουν μεταφορτωθεί από πριν για την εγκατάσταση:
# apt clean
αντηγράψτε τον κατάλογο /var/cache/apt/archives
στον
οδηγόUSB:
# cp -ax /var/cache/apt/archives /media/usbkey/
προσαρτήστε τον προσωρινό κατάλογο cache στον τρέχοντα:
# mount --bind /media/usbkey/archives /var/cache/apt/archives
μετά την αναβάθμιση, αποκαταστήστε τον αρχικό κατάλογο
/var/cache/apt/archives
:
# umount /var/cache/apt/archives
αφαιρέστε τον εναπομείναντα κατάλογο
/media/usbkey/archives
.
Μπορείτε να δημιουργήσετε τον προσωρινό κατάλογο cache σε οποιοδήποτε σύστημα αρχείων είναι προσαρτημένο στο σύστημά σας.
Πραγματοποιήστε μια ελάχιστη αναβάθμιση του συστήματος (δείτε το Τμήμα 4.4.4, «Ελάχιστη αναβάθμιση του συστήματος») ή μερικές αναβαθμίσεις του συστήματος ακολουθούμενες από μια πλήρη αναβάθμιση. Αυτό θα καταστήσει εφικτό να αναβαθμίσετε το σύστημα σε μέρη και θα σας επιτρέψει να καθαρίσετε την cache των πακέτων πριν την πλήρη αναβάθμιση.
Σημειώστε ότι για να αφαιρέσετε με ασφάλεια πακέτα, συνιστάται να αλλάξετε τα αρχεία πηγών τουAPT σε αυτά της προηγούμενης έκδοσης buster όπως περιγράφεται στην ενότητα Τμήμα A.2, «Ελέγχοντας τα αρχεία πηγών (source-list) του APT».
Σημαντικό | |
---|---|
Αν κάνετε την αναβάθμιση απομακρυσμένα, έχετε υπόψιν την ενότητα Τμήμα 5.1.22, «Δεν είναι δυνατές νέες SSH συνδέσεις στη διάρκεια της αναβάθμισης». |
Σε μερικές περιπτώσεις, η πραγματοποίηση απευθείας της πλήρους αναβάθμισης (όπως περιγράφεται παρακάτω) μπορεί να αφαιρέσει μεγάλο αριθμό πακέτων που θα θέλατε να κρατήσετε. Συνεπώς, συνιστούμε μια διαδικασία αναβάθμισης σε δύο μέρη: πρώτα μια ελάχιστη αναβάθμιση για να αποφευχθούν αυτές οι συγκρούσεις, και στη συνέχεια μια πλήρη αναβάθμιση όπως περιγράφεται στην ενότηα Τμήμα 4.4.5, «Αναβάθμιση του συστήματος».
Για να το κάνετε αυτό, τρέξτε πρώτα:
# apt upgrade --without-new-pkgs
Αυτό έχει σαν αποτέλεσμα την αναβάθμιση των πακέτων εκείνων που μπορούν να αναβαθμιστούν χωρίς να απαιτείται η αφαίρεση ή η εγκατάσταση οποιωνδήποτε άλλων πακέτων.
Η ελάχιστη αναβάθμιση συστήματος μπορεί επίσης να είναι χρήσιμη όταν το σύστημα δεν έχει μεγάλα περιθώρια σε χώρο και μια πλήρης αναβάθμιση δεν μπορεί να εκτελεστεί εξαιτίας περιορισμών στον χώρο.
Αν είναι εγκατεστημένο το πακέτο apt-listchanges
, θα δείξει (με τις
προκαθορισμένες ρυθμίσεις του) σημαντικές πληροφορίες σχετικά με τα προς
αναβάθμιση πακέτα σε έναν σελιδοποιό (pager) μετά τη μεταφόρτωση των
πακέτων. Πατήστε το πλήκτρο q αφού διαβάστε το κείμενο για
να βγείτε από τον σελιδοποιό και να συνεχίσετε την αναβάθμιση.
Από τη στιγμή που έχετε κάνει τα προηγούμενα συστήματα, είστε τώρα έτοιμοι/ες να συνεχίσετε στο κυρίως μέρος της αναβάθμισης. Εκτελέστε:
# apt full-upgrade
Αυτό θα πραγματοποιήσει μια πληρη αναβάθμιση του συστήματος. εγκαθιστώντας τις πιο πρόσφατες διαθέσιμες εκδόσεις όλων των πακέτων, και επιλύοντας όλες τις πιθανές αλλαγές στις εξαρτήσεις μεταξύ των πακέτων από διαφορετικές εκδόσεις. Αν είναι αναγκαίο, θα εγκαταστήσει μερικά καινούρια πακέτα (συνήθως καινούριες εκδόσεις βιβλιοθηκών ή πακέτα που έχουν μετονομαστεί), αφαιρώντας οποιαδήποτε "αντικρουόμενα" παρωχημένα πακέτα.
Όταν κάνετε την αναβάθμιση από ένα σύνολο CDs/DVDs/BD, θα ερωτηθείτε πιθανότατα να εισάγετε συγκεκριμένους δίσκους σε διάφορα σημεία στη διάρκεια της αναβάθμισης. Ίσως να χρειαστεί να εισάγετε τον ίδιο δίσκο αρκετές φορές· αυτό οφείλεται σε αλληλοσχετιζόμενα πακέτα που έχουν διαμοιραστεί σε διαφορετικούς δίσκους.
Καινούριες εκδόσεις πακέτων που είναι αυτή τη στιγμή εγκατεστημένα και τα
οποία δεν μπορούν να αναβαθμιστούν χωρίς να αλλάξει η κατάσταση εγκατάστασης
ενός άλλου πακέτου θα παραμείνουν στην τωρινή τους έκδοση (που εμφανίζεται
ως «held back»). Αυτό μπορεί να επιλυθεί είτε χρησιμοποιώντας
την εντολή aptitude για να επιλέξετε αυτά τα πακέτα για
εγκατάσταση ή προσπαθωντας να εγκαταστήσετε το πακέτο με την εντολή
apt install
.
package
Οι επόμενες ενότητες περιγράφουν γνωστά ζητήματα που μπορεί να εμφανιστούν στη διάρκεια μιας αναβάθμισης στην έκδοση bullseye.
Σε μερικές περιπτώσεις το βήμα 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.
Η διαδικασία αναβάθμισης στην έκδοση bullseye ίσως ζητήσει την αφαίρεση πακέτων από το σύστημα. Η ακριβής λίστα των πακέτων θα ποικίλει ανάλογα με το σύνολο των πακέτων που έχετε εγκαταστήσει. Οι παρούσες σημειώσεις έκδοσης δίνουν γενικές συμβουλές σχετικά με την αφαίρεση τέτοιων πακέτων, αλλά αν έχετε οποιεσδήποτε αμφιβολίες, συνιστάται να εξετάσετε την αφαίρεση πακέτων που προτείνεται από κάθε μέθοδο πριν προχωρήσετε.Για περισσότερες πληροφορίες σχετικά με πακέτα που είναι πλέον παρωχημένα στην έκδοση bullseye, δείτε τη σελίδα Τμήμα 4.8, «Παρωχημένα πακέτα».
Μερικές φορές είναι αναγκαίο να ενεργοποιήσετε την επιλογή
APT::Force-LoopBreak
στο APT ώστε να μπορέσετε να
αφαιρέστε προσωρινά ένα ουσιώδες πακέτο εξαιτίας ενός φαύλου
κύκλουConflicts/Pre-Depends. Η εντολή apt θα σας
ειδοποιήσει άμεσα για αυτό και θα σταματήσει την αναβάθμιση. Μπορείτε να το
παρακάμψετε αυτό προσδιορίζοντας την επιλογή -o
APT::Force-LoopBreak=1
στην γραμμή εντολών για το
apt.
Είναι πιθανόν η δομή εξαρτήσεων των πακέτων ενός συστήματος να είναι τόσο φθαρμένη ώστε να απαιτεί παρέμβαση με το χέρι. Αυτό σημαίνει συνήθως τη χρήση του apt ή
# dpkg --remove package_name
για να αφαιρέσετε μερικά από τα πακέτα που προκαλούν πρόβλημα, ή
# apt -f install # dpkg --configure --pending
Σε ακραίες περιπτώσεις ίσως πρέπει να επιβάλλετε την επανεγκατάσταση με μια εντολή όπως
# dpkg --install /path/to/package_name.deb
Συγκρούσεις μεταξύ αρχείων δεν θα πρέπει να προκύπτουν αν κάνετε μια αναβάθμιση από ένα «καθαρό» σύστημα με την προηγούμενη έκδοση 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 που περιγράφτηκαν προηγουμένως.
Στη διάρκεια της αναβάθμισης, θα ερωτηθείτε σχετικά με την ρύθμιση ή την
επαναρύθμιση αρκετών πακέτων. Αν ερωτηθείτε για το αν οποιοδήποτε αρχείο
στον κατάλογο /etc/init.d
, ή αν το αρχείο the
/etc/manpath.config
θα πρέπει να αντικατασταθεί από την
έκδοση του συντηρητή του πακέτου, είναι συνήθως απαραίτητο να απαντήσετε
«ναι» για να διασφαλίσετε την συνέπεια του συστήματος. Μπορείτε
πάντα να αλλάξετε στις παλιότερες εκδόσεις, καθώς θα σωθούν με μια κατάληξη
.dpkg-old
.
Αν δεν είστε βέβαιοι για το τι να κάνετε, καταγράψτε το όνομα του πακέτου ή του αρχείου και διευθετήστε τα πράγματα σε μεταγενέστρο χρόνο. Μπορείτε να κάνετε μια αναζήτηση στο αρχείο typescript για να ξαναδείτε τις πληροφορίες που εμφανίστηκαν στην οθόνη κατά τη διάρκεια της αναβάθμισης.
Αν κάνετε την αναβάθμιση χρησιμοποιώντας την τοπική κονσόλα του συστήματος ίσως ανακαλύψετε ότι σε κάποια σημεία στη διάρκεια της αναβάθμισης η κονσόλα μετατοπίζεται σε μια διαφορετική θέα και χάνετε την οπτική της διαδικασίας αναβάθμισης. Αυτό μπορεί να συμβεί, για παράδειγμα, σε συστήματα με μια διεπαφή γραφικού περιβάλλοντος κατά την επανεκκίνηση του διαχειριστή οθόνης.
Για να ανακτήσετε την κονσόλα στο σημείο που έτρεχε η αναβάθμιση θα πρέπει να χρησιμοποιήσετε τον συνδυασμό πλήκτρων Ctrl+Alt+F1 (στην γραφική οθόνη εκκίνησης) ή τον συνδυασμό Alt+F1 (στην τοπική κονσόλα κειμένου) για να επιστρέψετε στο εικονικό τερματικό 1. Αντικαταστήστε το F1 με το πλήκτρο συνάρτησης που έχει τον ίδιο αριθμό με αυτόν του εικονικού τερματικού στο οποίο έτρεχε η αναβάθμιση. Μπορείτε επίσης να χρησιμοποιήσετε τους συνδυασμούς Alt+Left Arrow ή Alt+Right Arrow για την εναλλαγή μεταξύ διαφορετικών τερματικών κειμένου.
Αυτή η ενότητα εξηγεί πώς να αναβαθμίσετε τον πυρήνα σας και ταυτοποιεί
διάφορα πιθανά προβλήματα που σχετίζονται με αυτή την αναβάθμιση. Μπορείτε
είτε να εγκαταστήσετε ένα από πακέτα linux-image-*
που παρέχει το Debian, ή να
μεταγλωττίσετε έναν προσαρμοσμένο πυρήνα από τον πηγαίο κώδικα.
Σημειώστε ότι αρκετές πληροφορίες σε αυτή την ενότητα βασίζονται στην
υπόθεση ότι θα χρησιμοποιήσετε έναν από τους αρθρωτούς (modular) πυρήνες του
Debian, μαζί με τα πακέταinitramfs-tools
και udev
. Αν επιλέξετε να χρησιμοποιήσετε έναν
προσαρμοσμένο πυρήνα που δεν απαιτεί μια μνήμης initrd ή αν έχετε ένα
διαφορετικό πρόγραμμα παραγωγής μιας μνήμης initrd, μερικές από τις
πληροφορίες εδώ πιθανόν να μην σας αφορούν.
Όταν πραγματοποιείτε μια πλήρη αναβάθμιση από την προηγούμενη σταθερή έκδοση buster στην έκδοση bullseye, συνιστάται έντονα να εγκαταστήσετε ένα μεταπακέτο linux-image-*, αν δεν το έχετε κάνει ήδη από πριν. Αυτά τα μεταπακέτα θα φέρουν αυτόματα μια πιο πρόσφατη έκδοση του πυρήνα στη διαδικασία των αναβαθμίσεων Μπορείτε να επαληθεύσετε αν έχετε ένα τέτοιο μεταπακέτο εγκατεστημένο εκτελώντας την εντολή:
# dpkg -l "linux-image*" | grep ^ii | grep -i meta
Αν αυτή η εντολή δεν έχει κάποιο αποτέλεσμα, τότε θα πρέπει είτε να εγκαταστήσετε ένα καινούριο πακέτο linux-image με το χέρι είτε να εγκαταστήσετε ένα μεταπακέτο linux-image. Για να δείτε την λίστα των διαθέσιμων μεταπακέτων linux-image, τρέξτε την εντολή:
# apt-cache search linux-image- | grep -i meta | grep -v transition
Αν δεν είστε βέβαιοι/ες για το ποια πακέτα να επιλέξετε, τρέξτε την εντολή
uname -r
και ψάξτε για ένα πακέτο με ένα παρόμοιο
όνομα. Για παράδειγμα, αν δείτε την έκδοση
«4.9.0-8-amd64
», συνιστάται να εγκαταστήσετε
το πακέτο linux-image-amd64
. Μπορείτε επίσης να
χρησιμοποιήσετε την εντολή apt για να δείτε μια εκτενή
περιγραφή κάθε πακέτου ώστε να βοηθηθείτε να επιλέξετε το καλλίτερο δυνατόν
διαθέσιμο. Για παράδειγμα:
# apt show linux-image-amd64
Θα πρέπει, τότε, να χρησιμοποιήσετε την εντολή apt
install
για να το εγκαταστήσετε. Από τη στιγμή που έχει
εγκατασταθεί αυτός ο καινούριος πυρήνας θα πρέπει να επανεκκινήσετε το
σύστημα με την πρώτη διαθέσιμη ευκαιρία για να αποκτήσετε τα πλεονεκτήματα
που προσφέρει η καινούρια αυτή έκδοση. Παρακαλούμε, όμως, να ρίξετε μια
ματιά στην σελίδα Τμήμα 5.1.24, «Things to do post upgrade before rebooting» πριν
πραγματοποιήσετε την πρώτη επανεκκίνηση μετά την αναβάθμιση.
Για τους πιο τολμηρούς υπάρχει ένας εύκολος τρόπος να δημιουργήσουν τον δικό
τους πυρήνα στο Debian. Εγκαταστήστε τον πηγαίο κώδικα του πυρήνα, που
παρέχεται από πακέτο linux-source
. Μπορείτε να χρησιμοποιήσετε τον
στόχο του deb-pkg
που είναι διαθέσιμος στο αρχείο
makefile του πηγαίου κώδικα για την δημιουργία ενός εκτελέσιμου
πακέτου. Περισσότερες πληροφορίες μπορούν να βρεθούν στον σύνδεσμο Debian Linux
Kernel Handbook, που μπορεί επίσης να βρεθεί και ως πακέτο
debian-kernel-handbook
.
Αν είναι εφικτό, είναι προς όφελός σας να αναβαθμίσετε το πακέτο του πυρήνα
ξεχωριστά από την κύρια διαδικασία πλήρους αναβάθμισης
full-upgrade
για να μειώσετε τις πιθανότητες ενός
προσωρινά μη εκκινήσιμου συστήματος. Σημειώστε ότι αυτό θα πρέπει να γίνει
μόνο μετά τη διαδικασία μιας ελάχιστης αναβάθμισης όπως περιγράφεται στην
ενότητα Τμήμα 4.4.4, «Ελάχιστη αναβάθμιση του συστήματος».
Μετά την αναβάθμιση υπάρχουν μερικά πράγματα που μπορείτε να κάνετε προετοιμαζόμενοι/ες για την επόμενη έκδοση σε κυκλοφορία.
Αφαιρέστε οποιαδήποτε πρόσφατα παρωχημένα πακέτα όπως περιγράφεται στις ενότητες Τμήμα 4.4.3, «Βεβαιωθείτε ότι έχετε επαρκή χώρο για την αναβάθμιση» και Τμήμα 4.8, «Παρωχημένα πακέτα». Θα πρέπει να κάνετε μια επισκόπηση των αρχείων ρύθμισης που χρησιμοποιούν και να σκεφτείτε την περίπτωση εκκαθάρισης των πακέτων για να αφαιρεθούν αυτά τα αρχεία ρυθμίσεών τους. Δείτε επίσης την ενότητα Τμήμα 4.7.1, «Καθάρισμα των πακέτων που έχουν αφαιρεθεί».
Γενικά ενδείκνυται η εκκαθάριση παρωχημένων πακέτων. Αυτό ισχύει ιδιαίτερα αν αυτά τα πακέτα έχουν αφαιρεθεί σε μια προγενέστερη αναβάθμιση έκδοσης (για παράδειγμα, με την αναβάθμιση στην έκδοση buster) ή αν προσφέρθηκαν από τρίτους παρόχους λογισμικού. Ιδιαίτερα, παλιά σενάρια init.d είναι γνωστό ότι προκαλούν προβλήματα.
Προσοχή | |
---|---|
Η πλήρης αφαίρεση ενός πακέτου θα αφαιρέσει γενικά και τα αρχεία καταγραφής του, οπότε πιθανόν να θέλετε να κρατήσετε προηγουμένως αντίγραφα ασφαλείας τους. |
Η ακόλουθη εντολή εμφανίζει μια λίστα όλων των πακέτων που έχουν αφαιρεθεί αλλά είναι πιθανόν να έχουν αφήσει αρχεία ρυθμίσεων στο σύστημα (αν έχουν αφήσει κάποια):
# dpkg -l | awk '/^rc/ { print $2 }'
Τα πακέτα μπορούν να αφαιρεθούν πλήρως χρησιμοποιώντας την εντολή apt purge. Υποθέτοντας ότι θέλετε να τα αφαιρέσετε πλήρως με τη μία, μπορείτε να χρησιμοποιήσετε την επόμενη εντολή:
# apt purge $(dpkg -l | awk '/^rc/ { print $2 }')
Αν χρησιμοποιείτε το aptitude
,
μπορείτε να χρησιμοποιήσετε την επόμενη εναλλακτική στις προηγούμενες
εντολές:
# aptitude search '~c' # aptitude purge '~c'
Εισάγωντας αρκετά νέα πακέτα, bullseye αποσύρονται και παραλείπονται αρκετά παλιά πακέτα τα οποία είναι στο/στη buster. Δεν παρέχεται κάποια αναβάθμιση για αυτά τα παρωχημένα πακέτα. Ενώ τίποτα δεν εμποδίζει κάποιον από το να συνεχίσει να χρησιμοποιεί αυτά τα παρωχημένα πακέτα, το Debian project, θα αποσύρει την υποστήριξη ασφαλείας γι' αυτά ένα χρόνο μετά τον/την διανομή bullseye release[5], και δεν θα παρέχει άλλη υποστήριξη εντωμεταξύ. Αντικαθίστώντας αυτά, με κάποια εναλλακτικά διαθέσιμα, εφόσον υπάρχουν, είναι επιθυμητό.
Υπάρχουν πολλοί λόγοι για τους οποίους πακέτα μπορεί να έχουν αφαιρεθεί από τη διανομή: δεν συντηρούνται πλεόν στην upstream εκδοχή τους· δεν υπάρχει πλέον κάποιος προγραμματιστής/τρια του Debian που να ενδιαφέρεται να τα συντηρήσει· η λειτουργικότητα που προσφέρουν έχει αντικατασταθεί από διαφορετικό λογισμικό (ή από μια καινούρια έκδοση)· ή δεν θεωρούνται πλέον κατάλληλα για την έκδοση bullseye εξαιτίας σφαλμάτων που περιέχουν. Στην τελευταία περίπτωση, πακέτα μπορεί να εξακολουθούν να είναι παρόντα στην «ασταθή» διανομή.
Μερικά front-end διαχείρισης πακέτων παρέχουν εύκολους τρόπους να βρείτε εγκατεστημένα πακέτα που δεν είναι πλέον διαθέσιμα από οποιοδήποτε γνωστό αποθετήριο. Η διεπαφή χρήστη aptitude βασισμένη σε κείμενο, τα αναφέρει στην κατηγορία «Obsolete and Locally Created Packages», και μπορούν να αναφερθούν και να εκκαθαριστούν από την γραμμή εντολών εκτελώντας:
# aptitude search '~o' # aptitude purge '~o'
Το Σύστημα Παρακολούθησης Σφαλμάτων του Debian προσφέρει συχνά επιπλέον πληροφορίες σχετικά με το γιατί έχει αφαιρεθεί ένα πακέτο. Θα πρέπει να κάνετε μια επισκόπηση των αρχειοθετημένων αναφορών σφαλμάτων τόσο για το ίδιο το πακέτο όσο και αυτές για το ψευδοπακέτο στοftp.debian.org.
Για μια λίστα παρωχημένων πακέτων για την έκδοση Bullseye, παρακαλούμε αναφερθείτε στην ενότητα Τμήμα 5.3.1, «Αξιοσημείωτα παρωχημένα πακέτα».
Μερικά πακέτα από την έκδοση buster ίσως έχουν αντικατασταθεί από μεταβατικά εικονικά πακέτα στην έκδοση bullseye, που είναι κενές θέσεις σχεδιασμένες για την απλοποίηση των αναβαθμίσεων. Αν, για παράδειγμα, μια εφαρμογή, που παλιότερα αποτελούσε ένα μοναδικό πακέτο, έχει χωριστεί σε περισσότερα πακέτα, μπορεί να παρέχεται ένα μεταβατικό πακέτο με το ίδιο όνομα με το παλιότερο και με κατάλληλες εξαρτήσεις ώστε να επιφέρει την εγκατάσταση των καινούριων. Αφού γίνει αυτό, το πλεονάζον εικονικό πακέτο μπορεί να αφαιρεθεί με ασφάλεια.
Οι περιγραφές των μεταβατικών εικονικών πακέτων δηλώνουν συνήθως τον σκοπό
τους. Δεν είναι όμως ομοιόμορφες· συγκεκριμένα,
μερικά«εικονικά» πακέτα είναι σχεδιασμένα ώστε να διατηρούνται
με την εγκατάστασή τους, με σκοπό το κατέβασμα μια ολόκληρης σουίτας
λογισμικού ή την παρακολούθηση της τρέχουσας πιο πρόσφατης έκδοσης ενός
προγράμματος. Επίσης, μπορεί να βείτε χρήσιμη την εντολή
deborphan με το όρισμα
--guess-
(πχ.
*
--guess-dummy
) για να ανιχνεύσετε κενά μεταβατικά πακέτα
στο σύστημά σας.
[1] Αν το επίπεδο προτεραιότητας του debconf τεθεί πολύ υψηλό, τότε ίσως αποφύγετε κάποια προτρεπτικά ρυθμίσεων, αλλά οι εφαρμογές που βασίζονται στις προεπιλεγμένες απαντήσεις που δεν εφαρμόζονται στο σύστημά σας θα αποτύχουν να ξεκινήσουν.
[2] Για παράδειγμα: υπηρεσίες DNS ή DHCP, ιδιαίτερα όταν δεν υπάρχουν επιλογές εφεδρικότηταςή ανακατεύθυνσης (failover). Στην περίπτωση της υπηρεσίας DHCP οι τελικοί χρήστες ίσως αποσυνδεθούν από το δίκτυο αν ο χρόνος άδειας (lease) είναι μικρότερος από τον χρόνο που απαιτείται για την ολοκλήρωση της διαδικασίας αναβάθμισης.
[3] Αυτό το γνώρισμα μπορεί να απενεργοποιηθεί χρησιμοποιώντας την παράμετρο
panic=0
στις παραμέτρους εκκίνησης.
[4] Το σύστημα διαχείρισης των πακέτων του Debian συνήθως δεν επιτρέπει σε ένα πακέτο να αφαιρέσει ή να αντικαταστήσει ένα αρχείο που ανήκει σε ένα άλλο πακέτο εκτός και αν έχει καθοριστεί να αντικαταστήσει αυτό το πακέτο.
[5] Ή για όσο δεν υπάρχει κάποια άλλη έκδοση σ' αυτό το χρονικό πλαίσιο. Τυπικά μόνο δυο σταθερές εκδόσεις υποστηρίζονται σε οποιαδήποτε δεδομένη χρονική στιγμή.