SDB:System upgrade
Αυτή η σελίδα βρίσκεται σε διαδικασία μετάφρασης.
Δοκιμασμένο στο openSUSE | Συνιστώμενα άρθρα | Σχετικά άρθρα | |||
|
Περιεχόμενα
Περίληψη
Αυτή η σελίδα εξηγεί πώς να εκτελέσετε ένα εργαλείο ή μια σειρά από εντολές, με σκοπό να αναβαθμίσετε το σύστημά σας στην πιο πρόσφατη έκδοση του openSUSE.
Μια ενεργή αναβάθμιση έχει πλεονεκτήματα, αλλά και μειονεκτήματα.
Μεταξύ των πλεονεκτημάτων είναι:
- Κάνετε λήψη μόνο τα απαιτούμενα για την αναβάθμιση πακέτα, έτσι χρησιμοποιείτε λιγότερο διαδικτυακό εύρος ζώνης.
- Κατά τη διάρκεια της αναβάθμισης μπορείτε να χρησιμοποιείτε τον υπολογιστή σας(αν και αυτό δεν προτείνεται). Χρόνος εκτός λειτουργίας θα υπάρξει μόνο κατά τη διάρκεια της επανεκκίνησης μετά την ολοκλήρωση της αναβάθμισης.
- Δεν χρειάζεται να χρησιμοποιήσετε κάποιο DVD ή DVD Writer. Μπορείτε επίσης να κάνετε εκκίνηση από ένα USB ή από το δίκτυο(net boot) και να ολοκληρώσετε την εγκατάσταση.
Τα μειονεκτήματα:
- Αν για οποιονδήποτε λόγο διακοπεί η αναβάθμιση (πχ. διακοπή ρεύματος, διακοπή σύνδεσης στο διαδίκτυο) και η διαδικασία αδυνατεί να συνεχιστεί, μπορείτε να μείνετε με ένα κατεστραμμένο σύστημα (εξαρτάται από το πόσο έχει προχωρήσει η διαδικασία αναβάθμισης και σε ποιο σημείο διακόπηκε).
- Αν έχετε πολλαπλά συστήματα προς αναβάθμιση, θα χρησιμοποιείτε διαδικτυακό εύρος ζώνης κάθε φορά, οπότε ίσως είναι καλύτερο να κάνετε λήψη την εικόνα ISO.
- Αυτή η διαδικασία αναβάθμισης δεν κάνει την εκκαθάριση και τη συντήρηση που κάνει μια διαδικασία αναβάθμισης από το DVD.
Άλλος Τρόπος Αναβάθμισης:
Το Offline upgrade(εκτός δικτύου αναβάθμιση), δηλαδή η κλασσική αναβάθμιση μέσω του DVD. Για περισσότερες πληροφορίες διαβάστε στο offline upgrade. Αυτή η μέθοδος αναβάθμισης είναι ασφαλέστερη και πιο ευέλικτη. Εκτός και αν υπάρχει κάποιος καλός λόγος ώστε να κάνετε αναβάθμιση με άλλο τρόπο, προτιμήστε τη μέθοδο του offline upgrade.
Υποστηριζόμενα Σενάρια
Η αναβάθμιση από μια έκδοση openSUSE 32-bit στο Leap δεν υποστηρίζεται. Το Leap παρέχεται μόνο σε εκδόσεις 64-bit. Εάν το υλικό σας υποστηρίζει x86_64, μπορείτε να κάνετε αναβάθμιση πρώτα την 13.2 σε έκδοση 64-bit. Δείτε έναν οδηγό εδώ(Αγγλική Γλώσσα)
Προσέξτε όμως ότι, κατ' αρχήν αυτή η διαδικασία αναβάθμισης θεωρείται η "καλύτερη δυνατή προσπάθεια". Αυτό σημαίνει ότι λόγω κάποιου λογισμικού τρίτων και των εκατοντάδων πιθανών ρυθμίσεων, είναι πιθανό κάποιοι συνδυασμοί αυτών να προκαλέσουν κατάρρευση κατά τη διάρκεια της αναβάθμισης.
Επίσης, να έχετε υπόψιν σας τους παρακάτω σημαντικούς κανόνες:
- Για όλα τα σημαντικά δεδομένα πρέπει να δημιουργηθεί αντίγραφο ασφαλείας πριν την εκκίνηση της διαδικασίας αναβάθμισης.
- Πρέπει να κάνετε μια πλήρη αναβάθμιση των πακέτων του συστήματός σας για την τρέχουσα έκδοση, πριν την εκκίνηση της διαδικασίας αναβάθμισης.
- Πρέπει να χρησιμοποιήσετε την εντολή zypper dup (εντολή αναβάθμισης συστήματος) μόνο για την αμέσως επόμενη διαθέσιμη έκδοση λειτουργικού. πχ. το να πάμε από την έκδοση 13.1 -> 42.1, δεν υποστηρίζεται.
Φροντίστε ώστε το σύστημά σας να είναι ενημερωμένο
Η υποστηριζόμενη μέθοδος ξεκινάει με την τελευταία έκδοση του openSUSE, με όλες τις ενημερώσεις να έχουν εφαρμοστεί. Αυτό δεν περιλαμβάνει αυθαίρετα αποθετήρια που μπορεί να έχετε εσείς προσθέσει στο σύστημά σας. Προτείνουμε να απενεργοποιήσετε πρώτα όλα τα OBS(openSUSE Build Service) αποθετήρια, να εκτελέσετε την αναβάθμιση, και να τα ενεργοποιήσετε έπειτα. Τα παρακάτω βήματα σας δείχνουν πως να αναβαθμίσετε τη τρέχουσα έκδοση του openSUSE με τα τελευταία διαθέσιμα πακέτα, πριν προχωρήσετε στην αναβάθμιση της επόμενης έκδοσης.
Γραμμή Εντολών
1. Ελέγξτε εάν το αποθετήριο αναβάθμισης υπάρχει και είναι ενεργοποιημένο.
Ελέγξτε εάν το http://download.opensuse.org/update/13.2/ (για openSUSE 13.2 ή προγενέστερο, αντικαταστήστε το 13.2 με την έκδοσή σας) ή το http://download.opensuse.org/update/leap/42.1/oss/ (για το openSUSE Leap 42.1 ή μεταγενέστερο, αντικαταστήστε το 42.1 με την έκδοσή σας) υπάρχει σε μια στήλη του URI, και εάν υπάρχει ένα Yes στη στήλη Enabled, όπως στο παρακάτω παράδειγμα,
# | Alias | Name | Enabled | Refresh | URI ---+-----------------+-----------------+---------+---------+--------------------------------------- 1 | repo-update | repo-update | Yes | Yes | http://download.opensuse.org/update/13.2/
Εάν η στήλη Enabled γράφει No, ενεργοποιήστε το με την εντολή
- όπου ‘repo-update’ είναι το όνομα του αποθετηρίου αναβάθμισης.
Εάν υπάρχει και είναι ήδη ενεργοποιημένο, προχωρήστε στο βήμα 3.
2. Προσθήκη Αποθετηρίου Αναβάθμισης
(για το openSUSE 13.2 ή προγενέστερο):
- Αντικαταστήστε το 13.2 παραπάνω με τη δική σας τρέχουσα έκδοση openSUSE.
(για το openSUSE Leap 42.1 ή νεότερο):
- Αντικαταστήστε το 42.1 παραπάνω με τη δική σας τρέχουσα έκδοση openSUSE.
3. Μετακίνηση του /var/cache σε ξεχωριστό subvolume
Ο κατάλογος /var/cache περιέχει δεδομένα που μπορούν να χαρακτηριστούν ως ευμετάβλητα, όπως την cache του Zypper με τα πακέτα RPM σε διαφορετικές εκδόσεις από κάθε αναβάθμιση. Ως αποτέλεσμα της αποθήκευσης πλεονάζων δεδομένων τα οποία όμως είναι εξαιρετικά ευμετάβλητα, ο χώρος που καταλαμβάνει ένα στιγμιότυπο(snapshot) μπορεί να αυξηθεί πολύ γρήγορα. Για να επιλύσουμε αυτό το πρόβλημα μπορούμε να μετακινήσουμε τον κατάλογο /var/cache σε ένα ξεχωριστό subvolume:
- Εντοπίστε το όνομα της συσκευής που φιλοξενεί το σύστημα αρχείων root:
- Αναγνωρίστε το γονικό subvolume όλων των υπολοίπων subvolumes. Για το openSUSE 13.2, είναι ένα subvolume με ονομασία @:
- Αν το αποτέλεσμα αυτής της εντολής είναι κενό, δεν έχετε κάποιο subvolume με ονομασία @. Σε αυτή τη περίπτωση πιθανόν να μπορείτε να προχωρήσετε με το subvolume ID 5, το οποίο χρησιμοποιούταν σε παλαιότερες εκδόσεις του openSUSE.
- Κάντε προσάρτηση το συγκεκριμένο subvolume σε ένα προσωρινό σημείο προσάρτησης:
- Εάν δεν έχετε ένα subvolume με όνομα @, κάντε προσάρτηση αντί αυτού το subvollume ID 5:
- Ο κατάλογος /mnt/var/cache μπορεί να υπάρχει ήδη και είναι ο ίδιος με τον /var/cache. Για να αποφύγετε πιθανή απώλεια δεδομένων, μετακινήστε τον:
- Δημιουργήστε ένα νέο subvolume:
- Εάν τώρα υπάρχει ένας κατάλογος /var/cache.old μετακινήστε τον στη νέα τοποθεσία:
- Εάν κάτι τέτοιο δεν συμβαίνει, αντί αυτού κάντε:
- Μετά τη μετακίνηση (προαιρετικά) διαγράψτε το /mnt/var/cache.old:
- Κάντε αποπροσάρτηση του subvolume από το προσωρινό σημείο προσάρτησης:
- Προσθέστε μια εισαγωγή (γραμμή) στο /etc/fstab για το νέο /var/cache subvolume. Χρησιμοποιήστε ένα υπάρχων subvolume ως πρότυπο για να αντιγράψετε από αυτό. Βεβαιωθείτε ότι έχετε αφήσει το πεδίο UUID απείραχτο (αυτό είναι το UUID του συστήματος αρχείων του root) και αλλάξτε το όνομα του subvolume και το σημείο προσάρτησης στο /var/cache.
- Κάνετε προσάρτηση το νέο subvolume όπως αυτό προσδιορίζεται στο /etc/fstab:
4. Αναβαθμίστε το σύστημα με τα τελευταία πακέτα
For more information, read Zypper Usage.
Γραφικό Εργαλείο
Δείτε το YaST Online Update.
Εκτελώντας την αναβάθμιση
Τα παρακάτω βήματα θα σας δείξουν πως να κάνετε αναβάθμιση του openSUSE σας, στην επόμενη έκδοση (πχ. 13.2 -> 42.1). Όπως έχει ήδη αναφερθεί, οποιαδήποτε αποθετήρια τρίτων (OBS) μπορούν να δημιουργήσουν προβλήματα, γι' αυτό προτείνεται να τα απενεργοποιήσετε ή ακόμη και να τα διαγράψετε πριν προχωρήσετε.
Πριν ξεκινήσετε
Βεβαιωθείτε ότι διαβάσατε τη λίστα με τα πιο ενοχλητικά σφάλματα για τη νέα έκδοση που πρόκειται να εγκαταστήσετε. Μερικά από αυτά ίσως επηρεάζουν τη διαδικασία αναβάθμισης. Συνήθως μαζί με κάποιο σφάλμα παρατίθεται και μια λύση, σιγουρευτείτε ότι είστε προετοιμασμένοι για τυχόν επικείμενα προβλήματα.
Επίσης, διαβάστε τις σημειώσεις έκδοσης οι οποίες αναφέρουν τις αλλαγές που έχουν γίνει στη νέα έκδοση.
Γραμμή Εντολών
As an example, we will be showing upgrade from 13.2 to 42.1 here:
- Take a look at all repos you have zypper lrand remove all third party/OBS repos you no longer need# zypper rr <alias>
- Change all remaining repo URLs to the new version of the distribution (needs to be run as root) # cp -Rv /etc/zypp/repos.d /etc/zypp/repos.d.Old(for a backup copy), then:# sed -i 's,openSUSE_13\.2,openSUSE_Leap_42.1,g' /etc/zypp/repos.d/*# sed -i 's,13\.2,leap/42.1,g' /etc/zypp/repos.d/*NOTE - Although the above sed based modification might work for other repos, it fails modifying the update repos upgrading from 13.2. To fix the problem, paste and run the following(all a single line) in your console which manually adds the update repos using the correct URI:
-
# zypper rr repo-update repo-update-non-oss && zypper ar -f http://download.opensuse.org/update/leap/42.1/oss/ openSUSE-Leap-42.1-Update && zypper ar -f http://download.opensuse.org/update/leap/42.1/non-oss/ openSUSE-Leap-42.1-Update-Non-Oss
- If you are upgrading from 12.1 or older, add non-oss-update repo
-
# zypper ar -f http://download.opensuse.org/update/leap/42.1/non-oss/ repo-update-non-oss
- Refresh new repositories (you might be asked to accept new gpg key) # zypper --gpg-auto-import-keys refIf you haven't removed third party/OBS repositories you may encounter some errors as these repositories may not exist yet or they may have different unguessable URL. It is always recommended to remove them and add their newer version after upgrade.
- Now execute the full distribution upgrade.
People had their X session stopped/crashed during the upgrade, causing the upgrade to abort, which in turn left the system in an inconsistent state.
To change to runlevel 3, see SDB:Switch_runlevel.
zypper dup
step now to receive the final release.
deleted providers: libyui-ncurses-pkg5-2.44.4-2.1.5.x86_64 Solution 1: Following actions will be done: deinstallation of PackageKit-backend-zypp-0.8.11-2.3.1.x86_64 deinstallation of PackageKit-0.8.11-2.3.1.x86_64 deinstallation of PackageKit-branding-openSUSE-13.1-2.2.1.noarch deinstallation of apper-lang-0.8.1-11.7.1.noarch Solution 2: deinstallation of patterns-openSUSE-yast2_basis-13.1-13.6.1.x86_64 Solution 3: deinstallation of sysvinit-2.88+-89.1.2.x86_64 Solution 4: install PackageKit-0.8.17-3.1.3.i586 despite the inferior architecture Solution 5: keep libyui-ncurses-pkg5-2.44.4-2.1.5.x86_64 Solution 6: keep libyui-ncurses-pkg5-2.44.4-2.1.5.x86_64 Solution 7: break patterns-openSUSE-yast2_basis-13.1-13.6.1.x86_64 by ignoring some of its dependencies Choose from above solutions by number or skip, retry or cancel [1/2/3/4/5/6/7/s/r/c] (c):
Make the choice to delete sysvinit. }}
- Search for updated openSUSE leap 42.1 compatible third-party repositories that you used before — if you still need them — and add them. Προσοχή Use with caution. Using third-party repositories may break your system or cause instabilities.zypper addrepo --name <name> <url> <alias>Or, if you have URL of a .repo file:# zypper ar <url.repo>
- After upgrade, reboot is recommended to start the new kernel and newer versions of everything.
In addition,zypper up
can be run from time to time to ensure you have the latest available packages from the various repositories that you have enabled. YOU (Yast Online Update) only addresses security updates from the official repositories.
Links to other openSUSE or SUSE projects
The openSUSE Forums
- Search threads tagged with zypper dup or upgrade