Τι είναι ο FedUp;
Ο FedUp (FEDora UPgrader) είναι ένα νέο σύστημα αναβάθμισης των διανομών Fedora, από το Fedora 18 και μετά. Αντικαθιστά όλες τις προηγούμενες προτεινόμενες μεθόδους αναβάθμισης (PreUpgrade και DVD) που χρησιμοποιούνται σε προηγούμενες εκδόσεις Fedora. Ο Anaconda, ο εγκαταστάτης του Fedora, δεν περιέχει κάποια ενσωματωμένη μέθοδο αναβάθμισης από τις εκδόσεις Fedora 18 και μετά. Αυτή η λειτουργία έχει ανατεθεί εξ' ολοκλήρου στον FedUp.
Αυτή τη στιγμή, ο FedUp είναι ικανός να χειριστεί αναβαθμίσεις μεταξύ όλων των υποστηριζόμενων εκδόσεων Fedora, από ένα δικτυακό αποθετήριο ή από ένα DVD που θα χρησιμοποιηθεί ως πηγή. Οι αναβαθμίσεις από EOL εκδόσεις Fedora ίσως να λειτουργήσουν σωστά, αλλά πρέπει να ξέρετε ότι δεν υποστηρίζονται. Περισσότερες μέθοδοι αναβάθμισης έχουν προγραμματιστεί να συμπεριληφθούν και αυτή η σελίδα θα ενημερώνεται καθώς ενσωματώνονται.
Πως λειτουργεί ο FedUp;
Το σύστημα του FedUp αποτελείται από δυο μέρη - τον client που χρησιμοποιείται για να κατεβάσει τα πακέτα και να προετοιμάσει την αναβάθμιση και ένα περιβάλλον pre-boot που εκτελεί την κανονική αναβάθμιση χρησιμοποιώντας τον systemd και τον yum. Περισσότερες λεπτομέρειες για την διαδικασία μπορείτε να βρείτε σε μια ανάρτηση που έχει γίνει από τον δημιουργό του FedUp(Αγγλικά).
Τα αρχεία κατεβαίνουν στην τοποθεσία /var/tmp/system-upgrade (ή στην καθορισμένη από το --cachedir [χρειάζεται εφαρμογή;]) και θα εκκαθαριστούν αυτόματα αφού ολοκληρωθεί με επιτυχία η διαδικασία της αναβάθμισης.
Ο FedUp Client
Ο FedUP client τρέχει στο σύστημα το οποίο θα αναβαθμιστεί. Συλλέγει πληροφορίες για να πακέτα που χρειάζονται αναβάθμιση και επιπροσθέτως κατεβάζει τα απαραίτητα initramfs και τον πυρήνα που χρειάζεται για την πραγματική αναβάθμιση. Προς στιγμήν, μόνο ένα περιβάλλον γραμμής εντολών (CLI) είναι διαθέσιμο για τον FedUp, αλλά και ένα γραφικό περιβάλλον (GUI) αναμένεται να ενσωματωθεί...κάποια στιγμή.
Η Αναβάθμιση
Η πραγματική αναβάθμιση συμβαίνει όταν γίνει επανεκκίνηση στο σύστημα, αφού έχει τρέξει ο FedUp client. Τα συστήματα αρχείων προσαρτώνται κατά την διάρκεια της εκκίνησης, τα ήδη κατεβασμένα πακέτα εγκαθίστανται και γίνονται κάποιες εργασίες σχετικές με την αναβάθμιση. Κατά την διάρκεια της αναβάθμισης, ένα ειδικό θέμα plymouth χρησιμοποιείται, το οποίο μέσω μιας γραμμής προόδου, δείχνει την πραγματική πρόοδο της αναβάθμισης.
Τα Επακόλουθα
Όταν η αναβάθμιση ολοκληρωθεί, ο FedUp θα κάνει επανεκκίνηση το σύστημά σας αυτόματα. Αυτό γίνεται έτσι ώστε να μπορείτε να τρέξετε αυτό το σημείο της αναβάθμισης «ασυνόδευτα»(χωρίς να είστε μπροστά στον υπολογιστή) και να επιστρέψετε, στο πλέον αναβαθμισμένο σύστημά σας. Προσέξτε όμως ότι, αν έχετε κάποιο μέσο εγκατάστασης συνδεδεμένο στον υπολογιστή(CD/DVD/USB), τότε ίσως να γίνει επανεκκίνηση σε αυτό το μέσο αντί για τον σκληρό δίσκο, όταν ολοκληρωθεί η αναβάθμιση. Αν αφήσετε το σύστημά σας και επανέλθετε και δείτε κάποιον εγκαταστάτη του Fedora ή κάτι παρόμοιο, τότε μάλλον έχει συμβεί το προηγούμενο.
Συνήθεις Ερωτήσεις(FAQ)
Γιατί η αναβάθμιση στο Fedora 20 δεν λειτουργεί σωστά (κάνει εκκίνηση αμέσως στο παλιό Fedora);
Γιατί «τα κάναμε θάλασσα» ! Συγγνώμη γι' αυτό. Ο FedUp 0.7 που ήταν στα σταθερά αποθετήρια των Fedora 18 και 19, δεν μπορεί να αναβαθμίσει επιτυχώς την έκδοση σε Fedora 20. Ο FedUp 0.8 όμως, μπορεί μια χαρά. Πρέπει να χρησιμοποιήσετε τον FedUp 0.8 για να αναβαθμίσετε σε Fedora 20. Αν αναβαθμίζετε από το Fedora 18, θα χρειαστεί να περάσετε την παράμετρο --nogpgcheck. Δείτε στην σελίδα Common Bugs page για όλες τις λεπτομέρειες.
Πως αναφέρω σφάλματα που βρίσκω στην αναβάθμιση;
Πρώτα δείτε στα Common F19 bugs ή Common F20 bugs και ελέγξτε αν το πρόβλημα υπάρχει ήδη εκεί. Αν δεν υπάρχει, το στοιχείο για να αναφέρετε το πρόβλημα εξαρτάται από το ακριβές λάθος το οποίο εμφανίστηκε:
Πρόβλημα με την προετοιμασία της αναβάθμισης
Αν παρουσιαστεί πρόβλημα κατά την χρήση του FedUp client (fedup
) πριν την επανεκκίνηση, ψάξτε ή αναφέρετε το σφάλμα για τον FedUp, χρησιμοποιώντας την έκδοση από την οποία αναβαθμίζετε.
Προβλήματα κατά την διάρκεια της αναβάθμισης
Αν παρουσιαστεί πρόβλημα μετά την προετοιμασία της αναβάθμισης και την αρχική επανεκκίνηση, ψάξτε ή αναφέρετε το σφάλμα για το πακέτο fedup-dracut
, χρησιμοποιώντας την έκδοση στην οποία αναβαθμίζετε.
Προβλήματα μετά την αναβάθμιση
Για προβλήματα μετά την αναβάθμιση και για συγκεκριμένο πακέτο, αναφέρετε το σφάλμα κατά του πακέτου με στο οποίο αντιμετωπίζετε το πρόβλημα.
Πως θα κάνω αποσφαλμάτωση κατά τη διάρκεια της αναβάθμισης;
Ένας οδηγός επίλυσης και αποσφαλμάτωσης θα γραφτεί κάποια στιγμή και θα τοποθετηθεί ο ανάλογος σύνδεσμος εδώ.
Το λογισμικό που αναβαθμίζεται, επαληθεύεται από τον FedUp;
Από την έκδοση 0.8, το κάνει από προεπιλογή. Τα κλειδιά υπογραφής των πακέτων για νεότερες εκδόσεις Fedora, στέλνονται σε παλαιότερες εκδόσεις Fedora, επιτρέποντας έτσι στον FedUp να επαληθεύσει την ακεραιότητα των πακέτων που κατεβάζει. Μπορείτε να απενεργοποιήσετε αυτή τη λειτουργία με την παράμετρο --nogpgcheck, αν πρέπει να το κάνετε για οποιονδήποτε λόγο.
Τα πακέτα από τρίτα αποθετήρια θα αναβαθμιστούν;
Ναι, αν έχουν στηθεί ως κανονικά αποθετήρια πακέτων. Τα τρίτα αποθετήρια που χρησιμοποιούνται ευρέως, συνήθως λειτουργούν καλά, αλλά αν προσπαθήσετε να αναβαθμίσετε πριν ή αμέσως μετά την επίσημη έκδοση του Fedora, ίσως δεν έχουν προλάβει να αναβαθμίσουν τις σωστές «διαδρομές» και ο FedUp δεν θα μπορεί να βρει τα πακέτα. Αυτό συνήθως δεν αποτρέπει την διαδικασία αναβάθμισης και μπορείτε να αναβαθμίσετε τα πακέτα των τρίτων αποθετηρίων αργότερα.
Μπορώ να χρησιμοποιήσω τον FedUp για αναβάθμιση σε μια προ-έκδοση (π.χ beta);
Ναι. Αφού μια προ-έκδοση Fedora έχει επισημοποιηθεί, είναι δυνατόν να αναβαθμίσετε χρησιμοποιώντας τον FedUp. Πρέπει να λειτουργεί ακόμη και σε Aplha και Beta εκδόσεις. Φυσικά θα πρέπει να λάβετε υπόψιν σας τις πιθανότητες «σπασίματος» του συστήματος, όπως αυτό μπορεί να συμβεί σε κάθε Alpha ή Beta έκδοση.
Δείτε αυτό το μήνυμα ηλ.ταχυδρομείου στην devel mailing list για περισσότερες λεπτομέρειες.
Πως μπορώ να αναβαθμίσω το σύστημα μου με τον FedUp;
As alluded to above, there are three parts to upgrading with FedUp - preparation, execution and cleanup.
Before you start doing anything, be sure to have a look at Common F20 bugs#Upgrade_issues and read about the most common bugs found.
Preparing for the Upgrade
- Do a full system update and reboot to ensure that any kernel changes are running
- Install
fedup
- Usually, it is best to try first with the latest fedup available in the stable update repository for the release you are running. If you encounter problems with the upgrade, and a newer fedup is available in the updates-testing repository for your current release, you may wish to try with this newer version:
yum --enablerepo=updates-testing install fedup
at the command line)
- Usually, it is best to try first with the latest fedup available in the stable update repository for the release you are running. If you encounter problems with the upgrade, and a newer fedup is available in the updates-testing repository for your current release, you may wish to try with this newer version:
There are three options for sourcing the packages needed for upgrade - using a network repository, a local ISO file or a local device (hard drive, optical disk etc).
Network
Using a network source is the easiest method of upgrading and will pull in updates while upgrading - eliminating the potential issue if your current system has a newer kernel version than the Fedora release to which you are upgrading.
- Start the upgrade prep by executing following commands
sudo yum update fedup fedora-release
sudo fedup --network 20
- Once the preparations have completed, check the
/var/log/fedup.log
file if any errors show up in the output fromfedup
ISO File
In order to use an ISO file, it needs to exist locally on the filesystem of the system to be upgraded. The documentation is written as if that file is /home/user/fedora-20.iso but you will need to replace all instances of that path with the actual path of the ISO. Updates will be pulled in if you have network access on the machine to be upgraded.
- Download the Fedora 41 ISO appropriate for the arch that you are running
- For the sake of example, we will assume that the ISO exists at
/home/user/fedora-20.iso
but it can be anywhere in the filesystem as long as you alter the path below to reflect the actual location of the ISO. Make sure you have downloaded Fedora DVD ISO image otherwise you will get an error "The given ISO probably isn't an install DVD image" when runfedup-cli
command.
- For the sake of example, we will assume that the ISO exists at
- Start the upgrade prep by executing the following command
sudo fedup-cli --iso /home/user/fedora-20.iso
- Once the preparations have completed, check the
/var/log/fedup.log
file if any errors show up in the output fromfedup-cli
Other Device
Optical drives and other mountable storage can also be used as a package source for upgrade preparations.
- Mount the source material
- For the sake of example, we will assume that this source is mounted at
/mnt/fedora
but you can mount it anywhere as long as you replace/mnt/fedora
in the command below with the actual mounted location of the upgrade source.
- For the sake of example, we will assume that this source is mounted at
- Start the upgrade preparations by executing the following command
sudo fedup-cli --device /mnt/fedora --debuglog=fedupdebug.log
- Once the preparations have completed, check the
fedupdebug.log
file if any errors show up in the output fromfedup-cli
Executing the Upgrade
- Reboot the system if
fedup
has completed without error. - Once the system reboots, there should be a new entry in the GRUB menu titled
System Upgrade
.- If you add
rd.upgrade.debugshell
boot argument, you will get a login shell on VT2, allowing you to tinker with the system in case something goes wrong
- If you add
- Select the
System Upgrade
option from the GRUB menu- Remark: If the
System Upgrade
item is not shown in the grublist at boot, it is most often caused by having a different grub, most often installed by another Linux distribution you may have in multiboot. To correct this quickly: reinstall grub:- grub2-mkconfig -o /boot/grub2/grub.cfg
- grub2-install /dev/sda (replace /dev/sda by any other device you prefer to boot from)
- Remark: If the
- The system should boot into the upgrade process and a plymouth boot screen should be displayed
- Press 'esc' to see a more detailed log. If you switch back to the graphical progress indicator, it will show 0% for the remainder of the upgrade but that does not mean the upgrade has stopped.
- Once the upgrade process has completed, the system will reboot and an option to boot Fedora 41 will be on the grub menu
Cleaning Up Post Upgrade
It is worth rebuilding the RPM DB to prevent RPMDB checksum error when doing a distribution sync:
sudo rpm --rebuilddb
There are a collection of post-upgrade things to do. Some of which are fixed by doing a distro sync:
sudo yum distro-sync --setopt=deltarpm=0
If you are using google-chrome from the Google repository, you must re-install google-chrome due to a packaging bug on the Google side of things. Make sure to adjust the command to the build type you would like to install:
sudo yum remove google-chrome-\* && sudo yum install google-chrome-[beta,stable,unstable]
Docs TODO
- Write fedup troubleshooting and debug guide
- add note about blob drivers if needed