Κεφάλαιο 5. Ζητήματα που θα πρέπει να έχετε υπόψιν για την έκδοση bookworm

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

5.1. Συγκεκριμένα αντικείμενα της αναβάθμισης για την έκδοση bookworm
5.1.1. Το μη-ελεύθερο υλισμικό μετακινήθηκε στη δική του συνιστώσα στην αρχειοθήκη
5.1.2. Αλλαγές σε πακέτα που καθοριζουν το ρολόι του συστήματος
5.1.3. Το σύστημα ρυθμίσεων Puppet αναβαθμίστηκε στην έκδοση 7
5.1.4. Το youtube-dl αντικαταστήθηκε με το yt-dlp
5.1.5. Διαφορετικές εκδόσεις του Fcitx δεν μπορούν πλέον να εγκατασταθούν από κοινού
5.1.6. MariaDB package names no longer include version numbers
5.1.7. Αλλαγές στο σύστημα logging
5.1.8. Αλλαγές του rsyslog που επηρεάζουν αναλυτές αρχείων καταγραφής όπως το logcheck
5.1.9. Το rsyslog δημιουργεί λιγότερα αρχεία καταγραφής
5.1.10. Η αναβάθμιση του slapd ίσως απαιτήσει παρέμβαση με το χέρι
5.1.11. Το GRUB δεν εκτελεί πλέον το os-prober εξ ορισμού
5.1.12. Το GNOME έχει μειώσει την υποστήριξη προσβασιμότητας για αναγνώστες οθόνης.
5.1.13. Αλλαγές στις ρυθμίσεις του polkit
5.1.14. A «merged-/usr» is now required
5.1.15. Unsupported upgrades from buster fail on libcrypt1
5.1.16. Πράγματα που πρέπει να κάνετε μετά τη αναβάθμιση και πριν την επανεκκίνηση
5.2. Πράγματα που δεν περιορίζονται στη διαδικασία αναβάθμισης
5.2.1. Περιορισμοί στην υποστήριξη ασφάλειας
5.2.2. Οι μεταγλωττιστές (Interpreters) της Python είναι μαρκαρισμέμοι ως εξωτερικά διαχειρίσιμοι
5.2.3. Περιορισμένη κωδικοποίηση/αποκωδικοποίηση βίντεο με χρήση επιτάχυνσης-υλικού στο VLC
5.2.4. Το systemd-resolved έχει διαχωριστεί σε ένα ξεχωριστό πακέτο
5.2.5. Το systemd-boot έχει διαχωριστεί σε ένα ξεχωριστό πακέτο
5.2.6. Το systemd-journal-remote δεν χρησιμοποιεί πλέον το GnuTLS
5.2.7. Εκτεταμένες αλλαγές στο adduser για την έκδοση bookworm
5.2.8. Προβλέμιμη ονομασία για τις διεπαφές δικτύου του Xen
5.2.9. Αλλαγές στον τρόπο που χειρίζεται το dash το σύμβολο circumflex (^)
5.2.10. netcat-openbsd supports abstract sockets
5.3. Παλαίωση και κατάργηση
5.3.1. Αξιοσημείωτα παρωχημένα πακέτα
5.3.2. Παρωχημένες συνιστώσες για την έκδοση bookworm
5.4. Γνωστά εξαιρετικά σοβαρά σφάλματα

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

5.1. Συγκεκριμένα αντικείμενα της αναβάθμισης για την έκδοση bookworm

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

5.1.1. Το μη-ελεύθερο υλισμικό μετακινήθηκε στη δική του συνιστώσα στην αρχειοθήκη

Όπως περιγράφηκε στην παράγραφο Τμήμα 2.2, «Ενότητες της αρχειοθήκης», το μη-ελεύθερο υλισμικό εξυπηρετείται τώρα από μια αφιερωμένη σε αυτό συνιστώσα στην αρχειοθήκη, που ονομάζεται non-free-firmware. Για διασφαλίσετε ότι πακέτα μη-ελεύθερου υλισμικού δέχονται κανονικές αναβαθμίσεις, απαιτούνται αλλαγές στις ρυθμίσεις του APT. Υποθέτοντας ότι μόνο η συνιστώσα non-free είχε προστεθεί στι αρχείο πηγών του APT για την εγκατάσταση υλισμικού, η επικαιροποιημένη λίστα πηγών του APT μπορεί να μοιάζει ως εξής:

deb https://deb.debian.org/debian bookworm main non-free-firmware

Αν κατευθυνθήκατε σε αυτό το κεφάλαιο από το apt μπορείτε να το αποτρέψετε από το να σας ειδοποιεί διαρκώς για την αλλαγή αυτή δημιουργώντας ένα αρχείο με το όνομα /etc/apt/apt.conf.d/no-bookworm-firmware.conf (δείτε τη σελίδα εγχειριδίου apt.conf(5) με το ακόλουθο περιεχόμενο:

APT::Get::Update::SourceListWarnings::NonFreeFirmware "false";

5.1.2. Αλλαγές σε πακέτα που καθοριζουν το ρολόι του συστήματος

Το πακέτο ntp, που ήταν ο προεπιλεγμένος τρόπος για τον καθορισμό του ρολογιού του συστήματος από ένα εξυπηρετητή του πρωτοκόλου NTP (Network Time Protocol), έχει αντικατασταθεί από το πακέτο ntpsec.

Οι περισσότεροι χρήστες δεν θα χρειαστεί να κάνουν κάποια ιδιαίτερη ενέργεια για τη μετάβαση από το πακέτο ntp στο ntpsec.

Στην έκδοση bookworm υπάρχουν επίσης αρκετά άλλα πακέτα που προσφέρουν μια παρόμοια υπηρεσία. Η προεπιλογή του Debian είναι τώρα το systemd-timesyncd, που ίσως είναι αρκετό για χρήστες που χρειάζονται μόνο έναν πελάτη ntp για να ρυθμίσουν το ρολόι τους. Η έκδοση bookworm περιλαμβάνει επίσης τα πακέτα chrony και openntpd που υποστηρίζουν πιο προχωρημένα γνωρίσματα, όπως τη λειτουργία του δικού σας εξυπηρετητή NTP.

5.1.3. Το σύστημα ρυθμίσεων Puppet αναβαθμίστηκε στην έκδοση 7

Το σύστημα Puppet έχει αναβαθμιστεί από την έκδοση 5 στην έκδοση 7, παρακάμπτοντας εντελώς την έκδοση Puppet 6. Αυτό εισάγει μείζονες αλλαγές στο οικοσύστημα του Puppet.

Η κλασσική, βασισμένο στη γλώσσα Ruby, εφαρμογή Puppet Master 5.5.x έχει αποσυρθεί στην upstream και δεν είναι πια διαθέσιμη στο Debian. Έχει αντικατασταθεί από την εφαρμογή Puppet Server 7.x, που παρέχεται από το πακέτο puppetserver. Το πακέτο αυτό εγκαθίσταται αυτόματα ως εξάρτηση για το μεταβατικό πακέτο puppet-master.

Σε μερικές περιπτώσεις, η εφαρμογή Puppet Server είναι μια χωρίς αλλαγές (drop-in) αντικατάσταση για την εφαρμογή Puppet Master, αλλά θα πρέπει να επιθεωρήσετε λίγο τα αρχεία ρυθμίσεων στον κατάλογο /etc/puppet/puppetserver για να βεβαιωθείτε ότι είναι κατάλληλα για το περιβάλλον σας.Ιδιαίτερα, η legacy μορφή του αρχείου auth.conf έχει καταργηθεί, δείτε τη σελίδα auth.conf documentation για λεπτομέρειες.

Η συνιστώμενη προσέγγιση είναι η αναβάθμιση του εξυπηρετητή πριν από αυτήν των πελατών. Η εφαρμογή Puppet 7 Server είναι συμβατή προς τα πίσω με πελάτες με παλιότερη έκδοση· ένα εξυπηρετητής Puppet έκδοσης 5 μπορεί ακόμα να χειριστεί αναβαθμισμένους πελάτες αλλά δεν μπορεί να εγγράψει πελάτες με την έκδοση Puppet 7. Επομένως, αν εγκαταστήσετε καινούριους πελάτες με την έκδοση Puppet 7 πριν την αναβάθμιση του εξυπηρετητή, δεν θα μπορέσετε να τους προσθέσετε στον στόλο σας.

Το πακέτο puppet έχει αντικατασταθεί από το πακέτο puppet-agent και είναι τώρα ένα μεταβατικό πακέτο για τη διασφάλιση μιας ομαλής αναβάθμισης.

Τέλος το πακέτο puppetdb είχε αφαιρεθεί στην έκδοση bullseye αλλά επαναεισάγεται στην έκδοση bookworm.

5.1.4. Το youtube-dl αντικαταστήθηκε με το yt-dlp

Το δημοφιλές εργαλείο youtube-dl, το οποίο μπορεί να κατεβάσει βίντεο από μια μεγάλη ποικιλία ιστότοπων (που συμπεριλαμβάνουν, χωρίς να περιορίζονται, το YouTube) δεν συμπεριλαμβάνεται πια στο Debian. Αντί για αυτό, έχει αντικατασταθεί από ένα κενό μεταβατικό πακέτο που φέρνει αντίθετα το πακέτο yt-dlp. Το yt-dlp είναι μια διακλάδωση (fork) του youtube-dl στην οποία συμβαίνει αυτή τη στιγμή η ανάπτυξη.

Δεν παρέχονται wrapper συμβατότητας, οπότε θα χρειαστεί να τροποποιήσετε μόνοι σας τα σενάρια και την προσωπική συμπεριφορά κλήσης του yt-dlp αντί του youtube-dl. Η λειτουργικότητα θα πρέπει να είναι λίγο-πολύ η ίδια, αν και μερικές επιλογές και λεπτομέρειες στη συμπεριφορά έχουν αλλάξει. Βεβαιωθείτε να ελέγξετε τη σελίδα εγχειριδίου man page του yt-dlp για λεπτομέρειες, και ιδιαίτερα την ενότητα Διαφορές στην προεπιλεγμένη συμπεριφορά.

5.1.5. Διαφορετικές εκδόσεις του Fcitx δεν μπορούν πλέον να εγκατασταθούν από κοινού

Τα πακέτα fcitx και fcitx5 παρέχουν την έκδοση 4 and 5 αντίστοιχα του δημοφιλούς Fcitx Input Method Framework. Ακολουθώντας τις συστάσεις της δεν μπορούν πλέον να εγκατασταθούν από κοινού στο ίδιο λειτουργικό σύστημα. Οι χρήστες θα πρέπει να προσδιορίσουν ποια έκδοση του Fcitx πρόκειται να διατηρηθεί αν έχουν προηγουμένως εγκαταστήσει τόσο το πακέτο fcitx όσο και το fcitx5.

Πριν από την αναβάθμιση, οι χρήστες ενθαρρύνονται έντονα να αφαιρέσουν εντελώς την ανεπιθύμητη έκδοση του Fcitx (fcitx-* για την έκδοση Fcitx 4, και fcitx5-* για την έκδοση Fcitx 5). Όταν τελειώσει αναβάθμιση, σκεφτείτε να εκτελέσετε την εντολή im-config ξανά για να επιλέξετε το επιθυμητό πλαίσιο εισόδου που θα χρησιμοποιηθεί στο σύστημα.

Μπορείτε να βρείτε περισσότερες γενικές πληροφορίες στην αναγγελία που δημοσιεύτηκε στη λίστα αλληλογραφίας (κείμενο γραμμένο στα Απλοποιημένα Κινεζικά).

5.1.6. MariaDB package names no longer include version numbers

Unlike bullseye that had the MariaDB version in package names (e.g. mariadb-server-10.5 and mariadb-client-10.5), in bookworm the equivalent MariaDB 10.11 package names are fully versionless (e.g. mariadb-server or mariadb-client). The MariaDB version is still visible in the package version metadata.

There is at least one known upgrade scenario (Bug #1035949) where the transition to versionless package names fails: running

apt-get install default-mysql-server

may fail when mariadb-client-10.5 and the file /usr/bin/mariadb-admin in it is removed before the MariaDB server SysV init service has issued a shutdown, which uses mariadb-admin. The workaround is to run

apt upgrade

before running

apt full-upgrade

.

For more information about the package name changes in MariaDB, see /usr/share/doc/mariadb-server/NEWS.Debian.gz.

5.1.7. Αλλαγές στο σύστημα logging

Το πακέτο rsyslog δεν χρειάζεται πλέον στα περισσότερα συστήματα και μπορείτε ίσως να το αφαιρέσετε.

Πολλά προγράμματα παραγουν μηνύματα καταγραφής για να ενημερώωουν τους χρήστες για το τι κάνουν. Αυτά τα μηνύματα μπορεί να τα διαχειρίζεται το «journal» του systemd ή από έναν «syslog δαίμονα» όπως το rsyslog.

Στην προηγούμενη σταθερή έκδοση bullseye, το rsyslog εγκαθίστατο εξ ορισμού και το systemd journal ρυθμιζόταν να προωθεί τα μηνύματα καταγραφής στο rsyslog, που γράφει μηνύματα σε διάφορα αρχεία κειμένου όπως το /var/log/syslog.

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

apt-mark auto rsyslog

και μετά ένα

apt autoremove

θα το αφαιρέσει, αν είναι αυτό δυνατόν, Αν έχετε κάνει αναβάθμιση από παλιότερες εκδόσεις του Debian, και δεν έχετε αποδεχετεί τις προεπιλεγμένες ρυθμίσεις, το journal ίσως να μην έχει ρυθμιστεί ώστε να σώζει μηνύματα στο persistent storage: οδηγίες για να το ενεργοποιήσετε αυτό υπάρχουν σε αυτή τη σελίδα εγχειριδίου journald.conf(5).

Αν αποφασίσετε να εγκαταλείψετε το rsyslog μπορείτε να χρησιμοποιήσετε την εντολή journalctl για να διαβάσετε τα μηνύματα καταγραφής, που σώζονται σε δυαδική μορφή κάτω από τον κατάλογο /var/log/journal. Για παράδειγμα,

journalctl -e

εμφανίζει τα πιο πρόσφατα μηνύματα καταγραφής στο journal και

journalctl -ef

δείχνει καινούρια μηνύματα καταγραφής καθώς αυτά γράφονται (αντίστοιχο της εκτέλεσης του

tail -f /var/log/syslog

).

5.1.8. Αλλαγές του rsyslog που επηρεάζουν αναλυτές αρχείων καταγραφής όπως το logcheck

Το rsyslog διαθέτει τώρα εξ ορισμού«υψηλής ακρίβειας χρονοσφραγίδες» οι οποίες μπορεί να επηρεάσουν άλλα προγράμματα που αναλύουν τα αρχεία καταγραφής. Περισσότερες πληροφορίες για το πώς μπορείτε να προσαρμόσετε αυτή τη ρύθμιση υπάρχουν στη σελίδα εγχειριδίου rsyslog.conf(5). which may affect other programs that analyze the system logs. There is further information about how to customize this setting in rsyslog.conf(5).

Η αλλαγή στις χρονοσφραγίδες μπορεί να απαιτήσουν την επικαιροποίηση τοπικά δημιουργημένων κανόνων για το logcheck. Το logcheck ελέγχει μηνύματα στα αρχεία καταγραφής του συστήματος (που παράγονται από το systemd-journald ή το rsyslog) σε σύγκριση με μια προσαρμοζόμενη βάση δεδομένων γνωστής ως κανόνες. Κανόνες που ταιριάζουν στον χρόνο που το μήνυμα παράχθηκε θα πρέπει να επικαιροποιηθούν για να ταιριάζουν με τον καινούριο μορφότυπο του rsyslog. Οι προκαθορισμένοι κανόνες που παρέχονται από το πακέτο logcheck-database, έχουν επικαιροποιηθεί αλλά άλλοι κανόνες, συμπεριλαμβανομένων αυτών που δημιουργούνται τοπικά, ίσως απαιτούν επικαιροποίηση ώστε να αναγνωρίζουν τον καινούριο μορφότυπο. Δείτε το /usr/share/doc/logcheck-database/NEWS.Debian.gz για ένα σενάριο που βοηθά στην επικαιροποίηση των τοπικών κανόνων του logcheck.

5.1.9. Το rsyslog δημιουργεί λιγότερα αρχεία καταγραφής

Το rsyslog έχει αλλάξει το ποια αρχεία καταγραφής δημιουργεί και μερικά αρχεία στον κατάλογο /var/log μπορούν να διαγραφούν.

Αν συνεχίζετε να χρησιμοποιείτε το rsyslog (δείτε Τμήμα 5.1.7, «Αλλαγές στο σύστημα logging»), μερικα αρχεία καταγραφής στον κατάλογο /var/log δεν θα δημιουργούνται πλέον εξ ορισμού. Τα μηνύματα που γράφονταν στα αρχεία αυτά είναι επισης στο /var/log/syslog αλλά δεν δημιουργούνται πια εξ ορισμού. Οτιδήποτε γραφόταν στα αρχεία αυτά θα είναι ακόμα διαθέσιμο στο αρχείο /var/log/syslog.

Τα αρχεία που δεν δημιουργούνται πλέον είναι:

  • /var/log/mail.{info,warn,err}*

    Αυτά τα αρχεία περιείχαν μηνύματα από τον τοπικό MTA (mail transport agent), διαχωρισμένων σύμφωνα με την προτεραιότητα.

    Καθώς το αρχείο /var/log/mail.log περιέχει όλα τα μηνύματα σχετικά με το mail, αυτά τα αρχεία μπορούν να διαγραφούν με ασφάλεια. Αν χρησιμοποιείτε αυτά τα αρχεία για την ανίχνευση κάποιων ανωμαλιών, μια κατάλληλη εναλλακτική μπορεί να είναι κάτι όπως το logcheck.

  • /var/log/lpr.log

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

  • /var/log/{messages,debug,daemon.log}

    Αυτά τα αρχεία (και τα κυλιόμενα αντίστοιχά τους) μπορούν να διαγραφούν. Οτιδήποτε γραφόταν σε αυτά τα αρχεία θα εξακολουθεί να είναι διαθέσιμο στο /var/log/syslog.

5.1.10. Η αναβάθμιση του slapd ίσως απαιτήσει παρέμβαση με το χέρι

Η έκδοση OpenLDAP 2.5 είναι μια καινούρια μείζων έκδοση και περιλαμβάνει πολλές ασύμβατες αλλαγές όπως περιγράφεται στο η ανακοίνωση της upstream έκδοσης . Ανάλογα με τις ρυθμίσεις, η υπηρεσία slapd μπορεί να παραμείνει σταματημένη μετά την αναβάθμιση, μέχρι να ολοκληρωθούν αναγκαίες αλλαγές στις ρυθμίσεις.

Οι ακόλουθες είναι μερικές από τις γνωστές μη συμβατές αλλαγές:

  • Τα backend βάσης δεδομένων slapd-bdb(5) και slapd-hdb(5) έχουν αφαιρεθεί. Αν χρησιμοποιείτε ένα από αυτά τα backend στην παλιά σταθερή έκδοση bullseye, συνιστάται έντονα να μεταβείτε στο backend slapd-mdb(5) πριν την αναβάθμιση στην έκδοσηbookworm.

  • Το bakend slapd-shell(5) έχει αφαιρεθεί.

  • Η επικάλυψη (overlay) slapo-ppolicy(5) περιλαμβάνει τώρα το σχήμα της μεταγλωττισμένο στο ίδιο το άρθρωμα. Το παλιό εξωτερικό σχήμα, αν είναι παρόν, είναι ασύμβατο με το νέο ενσωματωμένο.

  • Το συνεισφερόμενο άρθρωμα συνθηματικών pw-argon2 έχει μετονομαστεί σε argon2.

Οδηγίες για την ολοκλήρωση της αναβάθμισης και την επανεκκίνηση της υπηρεσίας slapd μπορούν να βρεθούν στο αρχείο /usr/share/doc/slapd/README.Debian.gz. Θα πρέπει επίσης να συμβουλευτείτε τις σημειώσεις της upstream αναβάθμισης.

5.1.11. Το GRUB δεν εκτελεί πλέον το os-prober εξ ορισμού

Για πολύ καιρό το grub έχει χρησιμοποιήσει το πακέτο os-prober για την ανίχνευση άλλων λειτουργικών συστημάτων εγκατεστημένων σε έναν υπολογιστή ώστε να μπορέσει να τα προσθέσει στο μενού εκκίνησης. Δυστυχώς, αυτό μπορεί να είναι προβληματικό σε συγκεκριμένες περιπτώσεις (πχ. εκεί που τρέχουν φιλοξενούμενες εικονικές μηχανές), οπότε αυτό έχει τώρα απενεργοποιηθεί εξ ορισμού στην πιο πρόσφατη upstream έκδοση.

Αν χρησιμοποιείτε το GRUB για να εκκινήσετε το σύστημά σας και θέλετε να συνεχίσετε να έχετε άλλα λειτουργικά συστήματα καταγεγραμμένα στο μενού εκκίνησης, μπορείτε να το αλλάξετε αυτό. Ή διορθώστε το αρχείο /etc/default/grub, βεβαιωμένοι ότι ισχύει η ρύθμιση GRUB_DISABLE_OS_PROBER=false και ξανατρέξτε την εντολή update-grub, ή εκτελέστε

dpkg-reconfigure <GRUB_PACKAGE>

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

5.1.12. Το GNOME έχει μειώσει την υποστήριξη προσβασιμότητας για αναγνώστες οθόνης.

Αρκετές εφαρμογές του GNOME έχουν αλλαξει από την εργαλειοθήκη γραφικών GTK3 στην GTK4. Δυστυχώς, αυτό έχει καταστήσει αρκετές εφαρμογές πολύ λιγότερο χρησιμοποιήσιμες με αναγνώστες οθόνης, όπως το orca.

Αν εξαρτάστε από έναν αναγνώστη οθόνης θα πρέπει να σκεφτείτε την αλλαγή σε ένα διαφορετικό περιβάλλον επιφάνειας εργασίας όπως το Mate, που διαθέτει καλλίτερη υποστήριξη προσβασιμότητας. Μπορείτε να το κάνετε αυτό εγκαθιστώντας το πακέτο mate-desktop-environment. Πληροφορίες σχετικά με το πώς να χρησιμοποιήσετε το πρόγραμμα Orca με το περιβάλλον Mate είναι διαθέσιμες εδώ.

5.1.13. Αλλαγές στις ρυθμίσεις του polkit

Για λόγους συμβατότητας με την upstream και άλλες διανομές, η υπηρεσία polkit (πρώην PolicyKit), που επιτρέπει σε προγράμματα χωρίς προνόμια να έχουν πρόσβαση σε προνομιούχες υπηρεσίες του συστήματος, έχει αλλάξει την σύνταξη και την τοποθεσία των κανόνων τοπικής πολιτικής. Θα πρέπει τώρα να γράψετε τοπικούς κανόνες για την προσαρμογή της πολιτικής ασφαλείας για την JavaScript, και να τους αποθηκεύσετε στο αρχείο /etc/polkit-1/rules.d/*.rules. Ενδεικτικοί κανόνες που χρησιμοποιούν τον καινούριο μορφότυπο μπορούν να βρεθούν στον κατάλογο /usr/share/doc/polkitd/examples/, ενώ η σελίδα εγχειριδίου polkit(8) περιέχει επιπλέον πληροφορίες.

Προηγουμένως, κανόνες μπορούσαν να γραφτούν στον μορφότυπο pkla, και να αποθηκευτούν στους υποκαταλόγους των καταλόγων /etc/polkit-1/localauthority ή /var/lib/polkit-1/localauthority. Όμως, τα αρχεία.pkla θα πρέπει τώρα να θεωρούνται παρωχημένα, και θα συνεχίσουν να δουλεύουν μόνο αν είναι εγκατεστημένο το πακέτο polkitd-pkla. Αυτό το πακέτο εγκαθίσταται συνήθως αυτόματα όταν κάνετε την αναβάθμιση στην έκδοση bookworm, αλλά είναι πιθανόν να μην συμπεριλαμβάνεται σε μελλοντικές κυκλοφορίες του Debian, οπότε οποιαδήποτε αντικαταστάσεις της τοπικής πολιτικής θα πρέπει να μεταβούν στον μορφότυπο της JavaScript.

5.1.14. A «merged-/usr» is now required

Debian has adopted a filesystem layout, referred to as «merged-/usr», which no longer includes the legacy directories /bin, /sbin, /lib, or optional variants such as /lib64. In the new layout, the legacy directories are replaced with symlinks to the corresponding locations /usr/bin, /usr/sbin, /usr/lib, and /usr/lib64. This means that, for example, both /bin/bash and /usr/bin/bash will launch bash.

For systems installed as buster or bullseye there will be no change, as the new filesystem layout was already the default in these releases. However, the older layout is no longer supported, and systems using it will be converted to the new layout when they are upgraded to bookworm.

The conversion to the new layout should have no impact on most users. All files are automatically moved to their new locations even if they were installed locally or come from packages not provided by Debian, and hardcoded paths such as /bin/sh continue to work. There are, however, some potential issues:

  • dpkg --search

    will give wrong answers for files moved to the new locations:

    dpkg --search /usr/bin/bash

    will not identify that bash came from a package. (But

    dpkg --search /bin/bash

    still works as expected.)

  • Local software not provided by Debian may not support the new layout and may, for example, rely on /usr/bin/name and /bin/name being two different files. This is not supported on merged systems (including new installations since buster), so any such software must be fixed or removed before the upgrade.

  • Systems that rely on a «base layer» that is not directly writable (such as WSL1 images or container systems using multi-layer overlayfs filesystems) cannot be safely converted and should either be replaced (e.g., by installing a new WSL1 image from the store) or have each individual layer upgraded (e.g., by upgrading the base Debian layer of the overlayfs independently) rather than dist-upgraded.

For further information, see The Case for the /usr merge and the Debian Technical Committee resolution.

5.1.15. Unsupported upgrades from buster fail on libcrypt1

Debian officially supports upgrades only from one stable release to the next, e.g. from bullseye to bookworm. Upgrades from buster to bookworm are not supported, and will fail due to Bug #993755 with the following error:

Setting up libc6:arm64 (2.36-9) ...
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
dpkg: error processing package libc6:arm64 (--configure):
installed libc6:arm64 package post-installation script subprocess returned error exit status 127
        

It is however possible to manually recover from this particular situation by forcibly installing the new libcrypt1:

# cd $(mktemp -d)
# apt download libcrypt1
# dpkg-deb -x libcrypt1_*.deb .
# cp -ra lib/* /lib/
# apt --fix-broken install
        

5.1.16. Πράγματα που πρέπει να κάνετε μετά τη αναβάθμιση και πριν την επανεκκίνηση

Όταν έχει τελειώσει η διαδικασία του apt full-upgrade, η «τυπική» αναβάθμιση είναι πλήρης. Για την αναβάθμιση στην έκδοση bookworm, δεν υπάρχουν άλλες απαραίτητες ειδικές ενέργειες πριν την πραγματοποίηση μιας επανεκκίνησης.

5.2. Πράγματα που δεν περιορίζονται στη διαδικασία αναβάθμισης

5.2.1. Περιορισμοί στην υποστήριξη ασφάλειας

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

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

Το πακέτο debian-security-support βοηθά στην ανίχνευση της κατάστασης της υποστήριξης της ασφάλειας των εγκατεστημένων πακέτων.

5.2.1.1. Κατάσταση ασφαλείας των φυλλομετρητών web και των μηχανών τους για απεικόνιση (rendering)

Η έκδοση Debian 12 περιλαμβάνει αρκετές μηχανές περιηγητών που επηρεάζονται από ένα σταθερό ρεύμα αδυναμιών ασφαλείας. Αυτός ο υψηλός ρυθμός αδυναμιών και η μερική έλλειψη upstream υποστήριξης με την μορφή μακροπρόσθεσμων branches, καθιστά πολύ δύσκολη την υποστήριξη αυτών των περιηγητών με backported διορθώσεις ασφαλείας. Επιπλέον, αλληλεξαρτήσεις βιβλιοθηκών καθιστούν πολύ δύσκολη την επικαιροποίηση σε πιο καινούριες upstream εκδόσεις. Εφαρμογές που χρησιμοποιούν το πηγαίο πακέτοwebkit2gtk (πχ. epiphany ) καλύπτονται από υποστήριξη ασφαλείας, αλλά εφαρμογές που χρησιμοποιούν το qtwebkit (πηγαίο πακέτο qtwebkit-opensource-src ) δεν έχουν.

Ως περιηγητή Ιστού συνιστούμε τον Firefox ή το Chromium. Θα επικαιροποιούνται μεταγλωττίζοντας και πάλι τις τρέχουσες ESR εκδόσεις για την σταθερή διανομή. Η ίδια στρατηγική θα εφαρμοστεί και για το Thunderbird.

Από τη στιγμή που μια έκδοση γίνεται πρώην σταθερή, officially supported browsers may not continue to receive updates for the standard period of coverage. For example, Chromium will only receive 6 months of security support in oldstable rather than the typical 12 months.

5.2.1.2. Πακέτα βασισμένα στις γλώσσες Go και Rust

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

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

5.2.2. Οι μεταγλωττιστές (Interpreters) της Python είναι μαρκαρισμέμοι ως εξωτερικά διαχειρίσιμοι

Το πακέτα μεταγλώττισης κώδικα python3 (python3.11 και pypy3) που παρείχει το Debian, είναι τώρα μαρκαρισμένα ως εξωτερικά διαχειριζόμενα σύμφωνα με το PEP-668. Η έκδοση του python3-pip που προσφέρεται από το Debian ακολουθεί την πολιτική αυτή και θα αρνηθεί να εγκαταστήσει με το χέρι πακέτα για τους μεταγλωττιστές python του Debian εκτός και αν έχει προσδιοριστεί η επιλογή --break-system-packages.

Αν χρειάζεται να εγκαταστήσετε μια εφαρμογή (ή μια έκδοση) της Python που δεν διαθέτει πακέτο στο Debian, σας συνιστούμε να την εγκαταστήσετε με την εντολή pipx (από το πακέτο του Debian pipx). Η εντολή pipx θα διαμορφώσει ένα περιβάλλον μονωμένο από άλλες εφαρμογές και αρθρώματα Python του συστήματος, και θα εγκαταστήσει σε αυτό την εφαρμογή και τις εξαρτησεις της.

Αν πρέπει να εγκαταστήσετε ένα άρθρωμα βιβλιοθήκης της Python (ή μια εκδοσή της) που δεν διατίθεται από ένα πακέτο του Debian, συνιστούμε να την εγκαταστήσετε σε ένα εικονικό περιβάλλον (virtualenv), όπου είναι αυτό δυνατόν. Μπορείτε να δημιουργήσετε εικονικά περιβάλλοντα με το άρθρωμα venv της Python stdlib (στο πακέτο του Debian python3-venv) ή την εντολή από το εργαλείο τρίτων της Python virtualenv (στο πακέτο του Debian virtualenv). Για παράδειγμα, αντί να τρέξετε την εντολή pip install --user foo, τρέξτε την εντολή: mkdir -p ~/.venvs && python3 -m venv ~/.venvs/foo && ~/.venvs/foo/bin/python -m pip install foo για να το εγκαταστήσετε σε ένα συγκεκριμένο για αυτό τον λόγο εικονικό περιβάλλον.

Δείτε το αρχείο /usr/share/doc/python3.11/README.venv για περισσότερες λεπτομέρειες.

5.2.3. Περιορισμένη κωδικοποίηση/αποκωδικοποίηση βίντεο με χρήση επιτάχυνσης-υλικού στο VLC

Το πρόγραμμα αναπαραγωγής βίντεο VLC υποστηρίζει την κωδικοποίηση και αποκωδικοποίηση βίντεο με επιτάχυνση υλικού μέσω των VA-API και VDPAU. Όμως, η υποστήριξη του VLC για το VA-API είναι στενά συσχετισμένη με την έκδοση του FFmpeg. Λόγω της αναβάθμισης του FFmpeg στην έκδοση 5.x, η υποστήριξη του VLC για το VA-API έχει απενεργοποιηθεί. Χρήστες καρτών γραφικών (GPU) με εγγενή (native) υποστήριξη VA-API (πχ., Intel και AMD) ίσως παρατηρήσουν υψηλή χρήση της CPU στη διάρκεια της αναπαραγωγής ή της κωδικοποίησης βίντεο.

Χρήστες των καρτών γραφικών (GPU) που προσφέρουν φυσική υποστήριξη VDPAU (πχ. NVIDIA με τους μη-ελεύθερους οδηγούς) δεν επηρεάζονται από αυτό το ζήτημα.

Η υποστήριξη για τα VA-API και VDPAU μπορεί να ελεγχθεί με τις εντολές vainfo και vdpauinfo (αμφότερες προσφερόμενες από το αντίστοιχο ομώνυμο πακέτο του Debian).

5.2.4. Το systemd-resolved έχει διαχωριστεί σε ένα ξεχωριστό πακέτο

Το καινούριο πακέτο systemd-resolved δεν θα εγκατασταθεί αυτόματα στις αναβαθμίσεις. Αν χρησιμοποιούσατε την υπηρεσία συστήμτος systemd-resolved, παρακαλούμε εγκαταστήστε το πακέτο με το χέρι μετά την εγκατάσταση, και σημειώστε ότι μέχρι να εγκατασταθεί, ο προσδιορισμός του DNS δεν θα δουλεύει πλέον αφού η υπηρεσία δεν θα είναι παρούσα στο σύστημα. Η εγκατάσταση αυτού του πακέτου θα δώσει αυτόματα στην υπηρεσία τον έλεγχο του αρχείου /etc/resolv.conf. Για περισσότερες πληροφορίες σχετικά με το systemd-resolved, συμβουλευτείτε την επίσημητεκμηρίωση. Σημειώστε ότι το systemd-resolved δεν ήταν, και ούτε είναι ακόμα, ο προεπιλεγμένος αναλυτής DNS στο Debian. Αν δεν έχετε ρυθμίσει το μηχάνημά σας ώστε να χρησιμοποιεί το systemd-resolved ως τον αναλυτή του DNS, δεν απαιτείται καμμιά ενέργεια εκ μέρους σας.

5.2.5. Το systemd-boot έχει διαχωριστεί σε ένα ξεχωριστό πακέτο

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

5.2.6. Το systemd-journal-remote δεν χρησιμοποιεί πλέον το GnuTLS

Οι προαιρετικές υπηρσίες systemd-journal-gatewayd και systemd-journal-remote είναι τώρα μεταγλωττισμένες χωρίς υποστήριξη για το GnuTLS, κάτι που σημαίνει ότι η επιλογή --trust δεν προσφερεται πλέον από κανένα από τα δύο αυτά προγράμματα, και αν προσδιοριστεί τότε θα εμφανιστεί ένα μήνυμα λάθους.

5.2.7. Εκτεταμένες αλλαγές στο adduser για την έκδοση bookworm

Έχουν υπάρξει αρκετές αλλαγές στο πακέτο adduser. Η πιο σημαντική αλλαγή είναι ότι οι επιλογές --disabled-password και --disabled-login είναι τώρα λειτουργικά ταυτόσημες. Για περισσότερες λεπτομέρειες, παρακαλούμε δείτε το αρχείο τεκμηρίωσης /usr/share/doc/adduser/NEWS.Debian.gz.

5.2.8. Προβλέμιμη ονομασία για τις διεπαφές δικτύου του Xen

Η λογική προβλέψιμης ονοματοδοσίας στο systemd για διεπαφές δικτύου έχει επεκταθεί για να παράγει σταθερά ονόματα για από τις πληροφορίες των netfront συσκευών του Xen. Αυτό σημαίνει ότι αντί του προηγούμενου συστήματος ονομάτων που αποδίδονταν από τον πυρήνα, οι διεπαφές έχουν τώρα σταθερά ονόματα της μορφής enX#. Παρακαλούμε, προσαρμόστε το σύστημά σας πριν το επανεκκινήσετε μετά την αναβάθμιση. Μερικές πληροφορίες μπορούν να βρεθούν στη σελίδα wiki NetworkInterfaceNames.

5.2.9. Αλλαγές στον τρόπο που χειρίζεται το dash το σύμβολο circumflex (^)

Η εντολή dash, που εξ ορισμού παρέχει το κέλυφος συστήματος /bin/sh στο Debian, έχει αλλάξει ώστε να χειρίζεται το σύμβολο circumflex (^) ως κυριολεκτικό χαρακτήρα, όπως προέβλεπε πάντα η στοχευμένα συμβατή με το POSIX συμπεριφορά. Αυτό σημαίνει ότι στην έκδοση bookworm ο συνδυασμός [^0-9] δεν σημαίνει πια «not 0 to 9» αλλά «0 to 9 and ^».

5.2.10. netcat-openbsd supports abstract sockets

The netcat utility for reading and writing data across network connections supports abstract sockets, and uses them by default in some circumstances.

By default, netcat is provided by netcat-traditional. However, if netcat is provided by the netcat-openbsd package and you are using an AF_UNIX socket, then this new default applies. In this case the -U option to nc will now interpret an argument starting with an @ as requesting an abstract socket rather than as a filename beginning with an @ in the current directory. This can have security implications because filesystem permissions can no longer be used to control access to an abstract socket. You can continue to use a filename starting with an @ by prefixing the name with ./ or by specifying an absolute path.

5.3. Παλαίωση και κατάργηση

5.3.1. Αξιοσημείωτα παρωχημένα πακέτα

Η ακόλουθη είναι μια λίστα γνωστών και σημαντικών παρωχημένων πακέτων (δείτε την ενότητα Τμήμα 4.8, «Παρωχημένα πακέτα» για μια περιγραφή).

Η λίστα των παρωχημένων πακέτων περιλαμβάνει:

  • Το πακέτο libnss-ldap έχει αφαιρεθεί από την έκδοση bookworm. Η λειτουργικότητά της καλύπτεται τώρα από τα πακέταlibnss-ldapd και libnss-sss.

  • Το πακέτο libpam-ldap έχει αφαιρεθεί από την έκδοση bookworm. Το πακέτο που το αντικαθιστά είναι το libpam-ldapd.

  • Η εντολή fdflush έχει αφαιρεθεί από την έκδοση bookworm. Στη θέση της χρησιμοποιήστε την εντολή blockdev --flushbufs από το πακέτο util-linux.

  • Το πακέτο libgdal-perl έχει αφαιρεθεί από την έκδοση bookworm, επειδή το binding της Perl για το GDAL δεν υποστηρίζεται πλέον upstream. Αν χρειάζεστε υποστήριξη της Perl για το GDAL, μπορείτε να μεταβείτε στη διεπαφή FFI που παρέχεται από το πακέτο Geo::GDAL::FFI package, διαθέσιμο στην αρχειοθήκη CPAN.Θα πρέπει να μεταγλωττίσετε οι ίδιο το εκτελέσιμο όπως τεκμηριώνεται στη σελίδα BookwormGdalPerl Wiki.

5.3.2. Παρωχημένες συνιστώσες για την έκδοση bookworm

Με την επόμενη έκδοση του Debian 13 (με το κωδικό όνομα trixie) μερικά γνωρίσματα θα καταστούν παρωχημένα. Οι χρήστες θα χρειαστεί να μεταβούν σε άλλες αρχιτεκτονικές για την αποτροπή προβλημάτων κατά την αναβάθμιση στην έκδοση Debian 13.

Αυτό περιλαμβάνει τα ακόλουθα χαρακτηριστικά:

  • Η ανάπτυξη της υπηρεσίας NSS gw_name σταμάτησε το 2015. Το σχετικό πακέτο libnss-gw-name ίσως αφαιρεθεί σε μελλοντικές εκδόσεις του Debian. Ο προγραμματιστής της upstream προτείνει την χρήση του libnss-myhostname αντί για αυτήν.

  • Το πακέτο dmraid δεν έχει δει δραστηριότητα στην upstream από τα τέλη του 2010 και είναι σε "υποστήριξη ζωής" στο Debian. Η έκδοση bookworm θα είναι η τελευταία έκδοση που θα το περιέχει, οπότε παρακαλούμε σχεδιάστε ανάλογα αν χρησιμοποιείτα ακόμα το πακέτο dmraid.

  • Το πακέτο request-tracker4 το έχει διαδεχτεί το πακέτο request-tracker5 στην παρούσα έκδοση, και θα αφαιρεθεί σε μελλοντικές εκδόσεις. Συνιστούμε να σχεδιάσετε την μετάβαση από το request-tracker4 στο request-tracker5 στη διάρκεια ζωής αυτής της έκδοσης του Debian.

  • The isc-dhcp suite has been deprecated by the ISC. The Debian Wiki has a list of alternative implementations, see DHCP Client and DHCP Server pages for the latest. If you are using NetworkManager or systemd-networkd, you can safely remove the isc-dhcp-client package as they both ship their own implementation. If you are using the ifupdown package, you can experiment with udhcpc as a replacement. The ISC recommends the Kea package as a replacement for DHCP servers.

    The security team will support the isc-dhcp package during the bookworm lifetime, but the package will likely be unsupported in the next stable release, see bug #1035972 (isc-dhcp EOL'ed) for more details.

5.4. Γνωστά εξαιρετικά σοβαρά σφάλματα

Παρ' όλο που το Debian κυκλοφορεί όταν είναι έτοιμο, αυτό δεν σημαίνει, δυστυχώς, ότι δεν υπάρχουν γνωστά σφάλματα. Ως μέρος της διαδικασίας κυκλοφορίας, όλα τα σφάλματα με σοβαρότητα κρισιμότερη από serious παρακολουθούνται ενεργά από την Ομάδα Έκδοσης, οπότε μια επισκόπηση των σφαλμάτων αυτών που είχαν μαρκαριστεί να αγνοούνται στην τελευταία φάση προετοιμασίας της κυκλοφορίας της έκδοσης bookworm μπορούν να βρεθούν στη σελίδα του Σύστημα Παρακολούθησης Σφαλμάτων του Debian. Τα παρακάτω σφάλματα επηρέαζαν την έκδοση bookworm την στιγμή της κυκλοφορίας της και αξίζει να αναφερθούν στο παρόν κείμενο:

Αριθμός σφάλματοςΠακέτο (πηγαίου κώδικα ή μεταγλωττισμένο - binary)Περιγραφή
1032240akonadi-backend-mysqlakonadi server fails to start since it cannot connect to mysql database
918984src:fuse3provide upgrade path fuse -> fuse3 for bookworm
1016903g++-12tree-vectorize: Wrong code at O2 level (-fno-tree-vectorize is working)
1020284git-daemon-runfails to purge: deluser -f: Unknown option: f
919296git-daemon-runfails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
1034752src:gluegen2embeds non-free headers
1036256src:golang-github-pin-tftpFTBFS in testing: dh_auto_test: error: cd _build && go test -vet=off -v -p 8 github.com/pin/tftp github.com/pin/tftp/netascii returned exit code 1
1036575groonga-binmissing Depends: libjs-jquery-flot, libjs-jquery-ui
1036041src:grub2upgrade-reports: Dell XPS 9550 fails to boot after bullseye to bookworm upgrade - grub/bios interaction bug?
558422grub-pcupgrade hangs
913916grub-efi-amd64UEFI boot option removed after update to grub2 2.02~beta3-5+deb9u1
924151grub2-commonwrong grub.cfg for efi boot and fully encrypted disk
925134grub-efi-amd64grub-efi-amd64-signed: doesn't mount cryptodisk
945001grub-efi-amd64GRUB-EFI messes up boot variables
965026grub-emugrub-emu hangs linux console when run as root
984760grub-efi-amd64upgrade works, boot fails (error: symbol `grub_is_lockdown` not found)
1036263src:guestfs-toolsFTBFS in testing: make[6]: *** [Makefile:1716: test-suite.log] Error 1
916596iptablesiptables.postinst failure on link creation
919058itstoolits-tools: crashes when freeing xmlDocs
1028416kexec-toolssystemctl kexec doesn't shutdown system properly and corrupts mounted filesystems
935182libreoffice-coreConcurrent file open on the same host results file deletion
1036755src:linux6.1.26 <= x < 6.1.30 breaks applications using mmap(MAP_32BIT) [affects ganeti]
1036580src:llvm-defaultsplease add some Breaks for smoother upgrades from bullseye
1036359elpa-markdown-toccrashes with (wrong-type-argument consp nil)
1030284nodejs[arm64] RangeError: Maximum call stack size exceeded
1032647nvidia-driverIntermittent black screen after updating to 525.89.02-1
1029342openjdk-17-jre-headlessjexec: can't locate java: No such file or directory
1035798libphp8.2-embeddoes not ship SONAME link /usr/lib/libphp.so -> libphp8.2.so
1034993software-properties-qtmissing Breaks+Replaces for software-properties-kde when upgrading from bullseye
1036388sylpheedaccount reset when mail is checked
1036424sylpheedreplying to an email you sent doesn't set account accordingly
994274src:syslinuxFTBFS with gnu-efi 3.0.13
1031152system-config-printerunlock button in system-config-printer provides no elevated permissions dialog
975490u-boot-sunxiA64-Olinuxino-eMMC boot stuck at "Starting kernel ..."
1034995python-is-python3missing Breaks+Replaces for python-dev-is-python2 when upgrading from bullseye
1036881whitedunesegfaults
1036601xenstore-utilsmissing Depends: xen-utils-common
1036578python3-yadedoes not ship a python module