Fedora Logo

Αναβάθμιση του Fedora Linux με χρήση της πρόσθετου του DNF

Η εντολή dnf system-upgrade (ενσωματωμένη στο DNF5 και με ένα πρόσθετο dnf-plugin-system-upgrade για τον διαχειριστή πακέτων DNF4 ) χρησιμοποιείται για την αναβάθμιση του συστήματός σας στην τρέχουσα έκδοση του Fedora Linux. Για το Fedora Silverblue και το Fedora CoreOS, που χρησιμοποιούν rpm-ostree, μπορείτε να ανατρέξετε στην τεκμηρίωση rpm-ostree για λεπτομέρειες.

Αυτή είναι η προτεινόμενη μέθοδος αναβάθμισης της γραμμής εντολών. Λειτουργεί ως εξής:

  1. Η λήψη των πακέτων γίνεται ενώ το σύστημα λειτουργεί κανονικά
  2. Το σύστημα επανεκκινείται σε ένα ειδικό περιβάλλον για να τα εγκαταστήσει
  3. Με την ολοκλήρωση, το σύστημα επανεκκινείται στη νέα έκδοση του Fedora Linux

Εκτέλεση αναβάθμισης συστήματος

Δημιουργήστε αντίγραφα ασφαλείας των δεδομένων σας πριν από την εκτέλεση μιας αναβάθμισης σε όλο το σύστημα, καθώς κάθε αναβάθμιση συστήματος είναι δυνητικά επικίνδυνη. Προληπτικά, κατεβάστε τo ISO του Fedora Workstation Live σε περίπτωση που κάτι πάει στραβά.

  1. Για να ενημερώσετε την έκδοση του Fedora Linux από τη γραμμή εντολών, κάντε τα εξής:
sudo dnf upgrade --refresh

και επανεκκινήστε τον υπολογιστή σας.

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

  1. Κατεβάστε τα ενημερωμένα πακέτα:
sudo dnf system-upgrade download --releasever=41

Αλλάξτε τον αριθμό --releasever= εάν θέλετε να κάνετε αναβάθμιση σε διαφορετική έκδοση. Οι περισσότεροι θα θέλουν να κάνουν αναβάθμιση στην πιο πρόσφατη σταθερή έκδοση, η οποία είναι 41 την στιγμή που γράφεται το άρθρο, αλλά σε ορισμένες περιπτώσεις, όπως όταν εκτελείτε αυτήν τη στιγμή μια παλαιότερη έκδοση από την 40, μπορεί να θέλετε να κάνετε αναβάθμιση στην έκδοση Fedora Linux 40. Η αναβάθμιση συστήματος υποστηρίζεται επίσημα το πολύ σε 2 εκδόσεις (π.χ. από 39 στο 41). Εάν χρειάζεται να κάνετε αναβάθμιση σε περισσότερες εκδόσεις, συνιστάται να το κάνετε σε πολλά μικρότερα βήματα (διαβάστε περισσότερα).

  1. Εάν σε ορισμένα από τα πακέτα σας δεν ικανοποιούνται οι εξαρτήσεις, η αναβάθμιση θα αρνηθεί να συνεχιστεί μέχρι να την εκτελέσετε ξανά με την επιπλέον επιλογή --allowerasing. Αυτό συμβαίνει συχνά με πακέτα που είναι εγκατεστημένα από αποθετήρια τρίτων για τα οποία δεν έχει δημοσιευτεί ακόμη ενημερωμένο αποθετήριο. Μελετήστε το αποτέλεσμα πολύ προσεκτικά και εξετάστε ποια πακέτα πρόκειται να αφαιρεθούν. Κανένα από αυτά δεν πρέπει να είναι απαραίτητο για τη λειτουργικότητα του συστήματος, αλλά μερικά από αυτά μπορεί να είναι σημαντικά για την παραγωγικότητά σας.
  1. Όταν εισάγεται το νέο κλειδί GPG, σας ζητείται να επαληθεύσετε το δακτυλικό αποτύπωμα του κλειδιού. Ανατρέξτε στη διεύθυνση https://fedoraproject.org/security για να το κάνετε.

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

sudo dnf system-upgrade reboot
  1. Μόλις ολοκληρωθεί η διαδικασία αναβάθμισης, το σύστημά σας θα επανεκκινήσει για δεύτερη φορά στην ενημερωμένη έκδοση του Fedora Linux.

Προαιρετικές εργασίες μετά την αναβάθμιση

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

Ενημερώστε τα αρχεία ρυθμίσεων συστήματος

Τα περισσότερα αρχεία ρυθμίσεων αποθηκεύονται στο φάκελο /etc. Εάν έχετε αλλάξει τα αρχεία ρυθμίσεων του πακέτων, το RPM δημιουργεί νέα αρχεία είτε με .rpmnew (το νέο προεπιλεγμένο αρχείο διαμόρφωσης) είτε με .rpmsave (δημιουργήθηκε αντίγραφο ασφαλείας του παλιού σας αρχείου διαμόρφωσης). Μπορείτε να αναζητήσετε αυτά τα αρχεία ή να χρησιμοποιήσετε το εργαλείο rpmconf που απλοποιεί αυτή τη διαδικασία. Για να εγκαταστήσετε το rpmconf, πληκτρολογήστε:

sudo dnf install rpmconf

Μόλις ολοκληρωθεί η εγκατάσταση, εισάγετε:

sudo rpmconf -a

ΣΗΜΕΙΩΣΗ: Ορισμένα πακέτα τρίτων εγκαταλείπουν τα επεξεργασμένα αρχεία διαμόρφωσης στο /etc/yum.repos.d/ και η επαναφορά αυτών των αρχείων στις αρχικές τους εκδόσεις ενδέχεται να απενεργοποιήσει τις ενημερώσεις για το λογισμικό. Θυμηθείτε να ελέγξετε προσεκτικά τα αρχεία ρυθμίσεων σε αυτόν τον κατάλογο.

Για περισσότερες πληροφορίες μπορείτε να ανατρέξετε στις σελίδες man (man rpmconf).

Εάν χρησιμοποιείτε το rpmconf για να αναβαθμίσετε τα αρχεία ρυθμίσεων συστήματος που παρέχονται με τα αναβαθμισμένα πακέτα, τότε ορισμένα αρχεία ρυθμίσεων ενδέχεται να αλλάξουν. Μετά την αναβάθμιση θα πρέπει να επαληθεύσετε τα /etc/ssh/sshd_config, /etc/nsswitch.conf, /etc/ntp.conf και άλλα αναμένονται. Για παράδειγμα, εάν το OpenSSH αναβαθμιστεί, τότε το sshd_config επανέρχεται στην προεπιλεγμένη διαμόρφωση του πακέτου. Η προεπιλεγμένη διαμόρφωση πακέτου δεν ενεργοποιεί τον έλεγχο ταυτότητας με δημόσιο κλειδί και επιτρέπει τον έλεγχο ταυτότητας με κωδικό πρόσβασης.

Ενημερώστε τον bootloader GRUB σε συστήματα με BIOS

Τα συστήματα με υλικολογισμικό BIOS έχουν ενημερωμένα τα πακέτα GRUB RPM. Ωστόσο, ο εγκατεστημένος ή ενσωματωμένος bootloader δεν ενημερώνεται ποτέ αυτόματα. Είναι καλή ιδέα να το ενημερώσετε μεταξύ των εκδόσεων έκδοσης του Fedora Linux.

Βρείτε την κατάτμιση της συσκευής στην οποίο βρίσκεται ο κατάλογος /boot/:

sudo mount | grep "/boot "

/dev/sda4 on /boot type ext4 (rw,relatime,seclabel)

Η κατάτμηση της συσκευής είναι /dev/sda4. Επανεγκαταστήστε το bootloader καθορίζοντας την κατάτμιση της συσκευής χωρίς τον αριθμό:

sudo grub2-install /dev/sda

Η σωστή έξοδος πρέπει να είναι:

Installing for i386-pc platform.
Installation finished. No error reported.

Εκκαθάριση παλιών πακέτων

Με κάθε κυκλοφορία, το Fedora αποσύρει μερικά πακέτα. Υπάρχουν διάφοροι λόγοι. τα πακέτα γίνονται απαρχαιωμένα ή ο συντηρητής αποχωρεί. Το Fedora δεν διανέμει πλέον αυτά τα πακέτα. Ωστόσο, εξακολουθούν να υπάρχουν στο σύστημά σας. Αυτά τα πακέτα δεν θα λάβουν αναβαθμίσεις. Συνιστάται ιδιαίτερα η αφαίρεσή τους.

Εάν κάνετε αναβάθμιση σε μία έκδοση (π.χ. Fedora Linux 40 σε 41), εκτελέστε τις ακόλουθες εντολές:

sudo dnf install remove-retired-packages

και μετά:

remove-retired-packages

Εάν κάνετε αναβάθμιση σε δύο εκδόσεις (π.χ. Fedora Linux 39 σε 41), πρέπει να παρέχετε την παλιά έκδοση για πακέτα που θέλετε να αφαιρεθούν:

remove-retired-packages 39

Εκκαθάριση διπλότυπων πακέτων

Μπορείτε να δείτε διπλά πακέτα (πακέτα με εγκατεστημένες πολλές εκδόσεις) με:

sudo dnf repoquery --duplicates

Και μπορείτε να τα αφαιρέσετε με:

sudo dnf remove --duplicates

ΣΗΜΕΙΩΣΗ: Εκτελέστε πρώτα την εντολή sudo dnf upgrade, καθώς αυτή η λίστα είναι έγκυρη μόνο εάν έχετε ένα πλήρως ενημερωμένο σύστημα. Διαφορετικά, θα δείτε μια λίστα με εγκατεστημένα πακέτα που δεν βρίσκονται πλέον στα αποθετήρια επειδή υπάρχει διαθέσιμη ενημέρωση. Αυτή η λίστα μπορεί επίσης να περιέχει πακέτα εγκατεστημένα από αποθετήρια τρίτων που ενδέχεται να μην έχουν ενημερώσει τα αποθετήρια τους.

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

sudo dnf list --extras

Εάν δείτε ένα πακέτο που δεν χρειάζεστε ή δεν χρησιμοποιείτε, μπορείτε να το αφαιρέσετε με:

sudo dnf remove $(sudo dnf repoquery --extras --exclude=kernel,kernel-\\\*)

Μπορείτε να αφαιρέσετε με ασφάλεια πακέτα που δεν χρησιμοποιούνται πλέον με:

sudo dnf autoremove

ΠΡΟΣΟΧΗ: Το DNF αποφασίζει ότι ένα πακέτο δεν χρειάζεται πλέον, εάν δεν έχετε ζητήσει ρητά να το εγκαταστήσετε και τίποτα άλλο δεν το απαιτεί. Ωστόσο, αυτό δεν σημαίνει ότι το πακέτο δεν είναι χρήσιμο ή ότι δεν το χρησιμοποιείτε. Αφαιρέστε μόνο ό,τι είστε σίγουροι ότι δεν χρειάζεστε.

Εκκαθάριση παλιών πυρήνων

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

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

#!/usr/bin/env bash

old\_kernels=($(dnf repoquery --installonly --latest-limit=-1 -q))
if \[ "${#old\_kernels\[@\]}" -eq 0 \]; then
    echo "No old kernels found"
    exit 0
fi

if ! dnf remove "${old\_kernels\[@\]}"; then
    echo "Failed to remove old kernels"
    exit 1
fi

echo "Removed old kernels"
exit 0

Εκκαθάριση παλαιών κλειδιών αξιόπιστων για την υπογραφή πακέτων RPM

Κλειδιά από παλαιότερες εκδόσεις Fedora και αποθετήρια τρίτων θα συσσωρεύονται στη βάση δεδομένων RPM με την πάροδο του χρόνου. Μπορείτε να αφαιρέσετε κλειδιά που δεν αναφέρονται πλέον από το /etc/yum.repos.d/ με:

sudo dnf install clean-rpm-gpg-pubkey  
  
sudo clean-rpm-gpg-pubkey

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

sudo dnf install symlinks

Μόλις εγκατασταθεί το βοηθητικό πρόγραμμα, μπορείτε να ελέγξετε για κατεστραμμένα symlinks όπως φαίνεται παρακάτω. -r σημαίνει αναδρομικό.

sudo symlinks -r /usr | grep dangling

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

sudo symlinks -r -d /usr

Ενημέρωση πυρήνα rescue

Ο πυρήνας rescue και το initramfs δημιουργούνται από την Anaconda κατά την εγκατάσταση του συστήματος. Το initramfs θα ενημερωθεί όταν ενημερωθεί ο πυρήνας, αλλά ο πυρήνας rescue μπορεί να μην ενημερωθεί. Το εάν ενημερωθεί ο πυρήνας διάσωσης εξαρτάται από τη ρύθμιση του συστήματος.

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

sudo rm /boot/\*rescue\*

sudo kernel-install add "$(uname -r)" "/lib/modules/$(uname -r)/vmlinuz"

Η διαδικασία επαναδημιουργίας του πυρήνα rescue μπορεί να αυτοματοποιηθεί εγκαθιστώντας το πακέτο dracut-config-rescue.

sudo dnf install dracut-config-rescue

Δείτε /usr/lib/kernel/install.d/51-dracut-rescue.install για λεπτομέρειες.

Επίλυση προβλημάτων μετά την αναβάθμιση

ΣΗΜΕΙΩΣΗ: Ακολουθήστε αυτά τα βήματα μόνο εάν αντιμετωπίσετε προβλήματα με το αναβαθμισμένο σύστημά σας.

Ανακατασκευή της βάσης δεδομένων RPM

Εάν βλέπετε προειδοποιήσεις όταν εργάζεστε με εργαλεία RPM/DNF, η βάση δεδομένων σας μπορεί να είναι κατεστραμμένη. Είναι δυνατό να το ξαναφτιάξετε για να δείτε εάν επιλύει τα προβλήματά σας. Πάντα να δημιουργείτε αντίγραφα ασφαλείας /var/lib/rpm/ πρώτα. Για να δημιουργήσετε ξανά τη βάση δεδομένων, εκτελέστε:

sudo rpm --rebuilddb

Χρήση συγχρονισμού διανομής για την επίλυση προβλημάτων εξαρτήσεων

Το εργαλείο αναβάθμισης συστήματος χρησιμοποιεί από προεπιλογή το dnf distro-sync. Εάν το σύστημά σας είναι εν μέρει αναβαθμισμένο ή βλέπετε κάποια ζητήματα εξαρτήσεων πακέτων, δοκιμάστε να εκτελέσετε έναν άλλο συγχρονισμό διανομής με μη αυτόματο τρόπο για να δείτε εάν αυτό διορθώνει το πρόβλημα. Αυτό θα προσπαθήσει να κάνει τα εγκατεστημένα πακέτα σας την ίδια έκδοση στα ενεργά αποθετήρια σας, ακόμα κι αν πρέπει να υποβαθμίσει ορισμένα πακέτα:

sudo dnf distro-sync

Μπορείτε επίσης να χρησιμοποιήσετε την επιλογή --allowerasing θα αφαιρέσει πακέτα με εξαρτήσεις που δεν μπορούν να ικανοποιηθούν. Να ελέγχετε πάντα ποια πακέτα θα αφαιρεθούν προτού το επιβεβαιώσετε:

sudo dnf distro-sync --allowerasing

Επανασήμανση αρχείων με την πιο πρόσφατη πολιτική SELinux

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

sudo fixfiles -B onboot

Η διαδικασία εκκίνησης πιθανότατα θα διαρκέσει πολύ, καθώς ελέγχει και διορθώνει τις ετικέτες δικαιωμάτων SELinux σε όλα τα αρχεία στο σύστημά σας.

Περισσότερες πληροφορίες:

https://docs.fedoraproject.org/en-US/quick-docs/upgrading-fedora-offline/

Αρχική δημοσίευση:
https://eiosifidis.blogspot.com/2024/11/fedora-anavathmisi-termatiko.html