Αναβάθμιση openSUSE Leap από 42.1 σε 42.2


Σήμερα, 16 Νοεμβρίου 2016 είχαμε την κυκλοφορία της έκδοσης openSUSE Leap 42.2.
Το μεγάλο στοίχημα όλων των χρηστών διανομών Linux είναι η αναβάθμιση στη νέα έκδοση (όχι στις rolling εκδόσεις). Αυτό που προτείνουν οι περισσότεροι είναι να περιμένετε λίγο πριν αναβαθμίσετε κυρίως για να μην πέσετε σε ψηλή κίνηση κατά την αναβάθμιση και ίσως (δεν το έχω συναντήσει) σας εμφανίσει μήνυμα timeout. Επίσης, αφήστε να βγουν στην επιφάνεια κάποια πιθανά αρχικά σφάλματα που δεν μπόρεσαν να τα προβλέψουν. Στο GNOME για παράδειγμα, κυκλοφορεί μια έκδοση .1 σε ένα μήνα μετά την κύρια έκδοση.

Προσωπική μου εμπειρία, είχα πρόβλημα στις αναβαθμίσεις σε Ubuntu, Fedora (όταν χρησιμοποιούσα παλαιότερα). Το σύστημα αργούσε υπερβολικά, οπότε αναγκαζόμουν να κάνω καθαρή εγκατάσταση. Στην openSUSE η αναβάθμιση γινόταν αβίαστα από την 11.4 κιόλας.
Αν και η διαδικασία αναβάθμισης είναι ασφαλής, καλό είναι να κάνετε backup του προσωπικού σας φακέλου (/home). Όχι ότι θα πάει κάτι στραβά αλλά θα μπείτε σε μια σειρά να κάνετε εβδομαδιαίο-μηνιαίο backup των αρχείων σας για περίπτωση ανάγκης. Επίσης σε περίπτωση που θα γίνει στραβή, μπορείτε να ανοίξετε με ένα liveUSB με Tumbleweed και να σώσετε τα αρχεία σας.

Η αναβάθμιση που θα δείτε εδώ, στηρίζεται στο wiki SDB:System upgrade. Αν και οι περισσότεροι χρήστες προτιμούν τον γραφικό τρόπο, πιο εύκολος είναι ο τρόπος με το τερματικό.


ΒΗΜΑΤΑ

1) Ενημέρωση του τρέχοντος συστήματος
Πριν ξεκινήσετε, σιγουρευτείτε ότι το σύστημά σας είναι ενημερωμένο.

Ανοίξτε ένα τερματικό και δώστε την εντολή ως διαχειριστής

sudo zypper up

Εάν είναι πλήρως ενημερωμένο, θα σας επιστρέψει το μήνυμα "Nothing to do".


2) Δημιουργήστε αντίγραφο ασφαλείας των αποθετηρίων που χρησιμοποιείτε.
Αυτό το βήμα είναι προαιρετικό.

Ο λόγος που κάνετε αντίγραφο ασφαλείας είναι για περιπτώσεις που ίσως χρειαστεί να επαναφέρετε το σύστημα αν τυχόν αποτύχετε στην αναβάθμιση αλλά και να γνωρίζετε ποια αποθετήρια χρησιμοποιούσατε κατά την χρήση του συστήματος. Τα αποθετήρια βρίσκονται στον φάκελο /etc/zypp/repos.d. Είναι ουσιαστικά κάποια αρχεία κειμένου, ένα για κάθε αποθετήριο.

Ανοίξτε το τερματικό και δώστε ως διαχειριστής την εντολή

sudo cp -Rv /etc/zypp/repos.d /etc/zypp/repos.d.old

Εάν δεν έχετε κάνει αντίγραφο ασφαλείας του φακέλου /home, αυτή είναι η ώρα να το κάνετε.


3) Καθαρίστε τα αποθετήρια
Για την αναβάθμιση, χρησιμοποιούμε ΜΟΝΟ δυο επίσημα αποθετήρια.

Συγκεκριμένα:

openSUSE-Leap-42.2-OSS: το κυρίως αποθετήριο που περιέχει ΜΟΝΟ λογισμικό ανοικτού κώδικα.
URL: http://download.opensuse.org/distribution/leap/42.2/repo/oss/

openSUSE-Leap-42.2-Update: περιέχει επίσημες ενημερώσεις για πακέτα ανοικτού κώδικα.
URL: http://download.opensuse.org/update/leap/42.2/oss/

Πρώτα πρέπει να αφαιρέσουμε τα αποθετήρια που δεν χρειαζόμαστε (μαζί και τα αποθετήρια τρίτων).

Μπορείτε να κάνετε τις αλλαγές αυτές είτε μέσω του γραφικού YaST, είτε μέσω του YaST ncurses, είτε μέσω της εντολής zypper. Εδώ θα δούμε τον πιο γρήγορο τρόπο με το τερματικό. Στο τέλος θα αφήσω και ένα σύνδεσμο πως μπορείτε να το κάνετε με γραφικό YaST.

Βεβαιωθείτε ότι έχετε το αποθετήριο update.

sudo zypper repos --uri

Εάν δεν το έχετε στην λίστα σας (δεν σας βγάλει αποτέλεσμα), προσθέστε το με την εντολή:

sudo zypper addrepo --check --refresh --name 'openSUSE-42.1-Update' http://download.opensuse.org/update/leap/42.1/oss/ repo-update

και στην συνέχεια κάντε ενημέρωση του συστήματος.

sudo zypper ref && zypper update

Εάν το έχετε στην λίστα σας, τότε θα δείτε το παρακάτω:

# | Alias | Name | Enabled | Refresh | URI
---+-----------------+-----------------+---------+---------+---------------------------------------
1 | repo-update| repo-update| Yes | Yes | http://download.opensuse.org/update/leap/42.1/oss/

Εάν στην στήλη Enabled λέει No, τότε ενεργοποιήστε το με την εντολή:

zypper modifyrepo --enable repo-update

και κλασικά κάντε ενημέρωση του συστήματος.

sudo zypper ref && zypper update


Τώρα πρέπει να δούμε όλα τα αποθετήρια και να καθαρίσουμε αυτά που δεν χρειαζόμαστε.

sudo zypper lr

Θα βγάλει μια λίστα με τα αποθετήρια που έχετε στο σύστημα. Θα έχει τον αύξοντα αριθμό και το alias του. Διαγράψτε τα αποθετήρια με την εντολή:

sudo zypper rr alias

η διαγραφή μπορεί να γίνει είτε με το alias είτε με τον αύξοντα αριθμό. Θα μείνετε ΜΟΝΟ με τα openSUSE-Leap-42.1-OSS και openSUSE-Leap-42.1-Update. Μπορεί στο σύστημά σας να έχετε διαφορετικές ονομασίες των αποθετηρίων. Εάν συμβαίνει αυτό, ψάξτε με το URL. Εάν και πάλι δεν τα βρίσκετε, δεν υπάρχει πρόβλημα. Σβήστε τα όλα και προσθέστε τα νέα αποθετήρια (απλά δεν θα χρειαστεί το παρακάτω βήμα αλλαγής αριθμού αποθετηρίων).


4) Αλλάξτε στα νέα αποθετήρια
Ας αλλάξουμε τώρα στα νέα αποθετήρια.

Ως διαχειριστής δώστε την εντολή ώστε να αλλάξουν τα αποθετήρια.
sudo sed -i 's/42\.1/42\.2/g' /etc/zypp/repos.d/*

Αλλιώς μπορείτε μέσα στο YaST να επιλέξετε το κάθε αποθετήριο (δυο είναι) και να αλλάξετε χειροκίνητα το νούμερο σε 42.2. Θα εμφανιστεί μια οθόνη με την άδεια χρήσης του λογισμικού. Αποδεχτείτε και πατήστε σε όλα ΟΚ.


5) Λήψη πακέτων
Αυτό το βήμα μπορεί να συγχωνευτεί με το επόμενο. Προτιμότερο είναι να κατεβάσετε μόνο τα νέα πακέτα και στη συνέχεια να κάνετε την αναβάθμιση ώστε να μην έχετε προβλήματα πχ timeout ή παγώματα της λήψης ή του γραφικού περιβάλλοντος.

Ξεκινάμε με μια ενημέρωση της λίστας των διαθέσιμων πακέτων από τα νέα αποθετήρια.
sudo zypper ref

Μετά εκτελέστε την εντολή
sudo zypper dup --download-only

Εδώ θα περιμένετε αρκετά έως να σας δώσει το αποτέλεσμα της λίστας των εργασιών που πρέπει να γίνουν. Πατήστε το πλήκτρο Enter για να συνεχίσετε (ή το y και Enter). Εδώ α περιμένετε αρκετή ώρα, ανάλογα με την ταχύτητά σας. Όταν τελειώσει η λήψη των αρχείων, αποθηκεύστε την δουλειά που κάνατε και προχωρήστε στο επόμενο βήμα.

6) Αναβάθμιση του συστήματος
Αφού έγινε η λήψη των πακέτων, θα πρέπει να κάνετε αποσύνδεση από το γραφικό περιβάλλον και να εισέλθετε σε τερματικό.
Η αναβάθμιση, θα αλλάξει και την έκδοση του γραφικού περιβάλλοντος. Επομένως ίσως (προσωπικά δεν το έχω συναντήσει) να σταματήσει το γραφικό περιβάλλον και να μην κινείται τίποτα οπότε μπορεί να θεωρήσετε ότι η αναβάθμιση απέτυχε και να κάνετε hard reset. Επομένως, σίγουρα θα έχετε ένα χαλασμένο σύστημα.

Γράψτε τις παρακάτω εντολές σε ένα χαρτί ή ανοίξτε την σελίδα αυτή σε ένα κινητό/ταμπλετ.
Επίσης εάν αναβαθμίζετε laptop, σιγουρευτείτε ότι έχετε πλήρως φορτισμένη μπαταρία ή χρησιμοποιείτε πηγή ρεύματος. Μην διακόψετε την παροχή ρεύματος κατά την αναβάθμιση γιατί σίγουρα θα έχετε ένα χαλασμένο σύστημα.

Κάντε την αποσύνδεση από το σύστημα και θα εμφανιστεί το γραφικό περιβάλλον εισόδου. Στο σημείο αυτό πατήστε τον συνδυασμό των πλήκτρων Ctrl + Alt + F1 για να εμφανιστεί η διεπαφή με τερματικό. Εάν αυτό είναι πολύ νέο για εσάς, απλά προς ενημέρωση, μπορείτε να εναλλάσσεστε μεταξύ έξι τερματικών συν την γραφική διεπαφή. Χρησιμοποιείστε τα πλήκτρα F1 έως F6 για εναλλαγή μεταξύ των έξι τερματικών. Το πλήκτρο F7 σας επιστρέφει πάλι στη γραφική διεπαφή.

Εισάγετε ως όνομα χρήστη root και τον κωδικό του διαχειριστή.

Πρέπει να αλλάξουμε από το runlevel 5, αυτό που το σύστημα παρέχει γραφική διεπαφή, στο runlevel 3, αυτό δηλαδή που έχουμε μόνο τερματικό και σύνδεση στο δίκτυο.

Για αλλαγή, απλά εκτελέστε την εντολή
init 3

για αναβάθμιση εκτελέστε την εντολή (δεν χρειάζεται sudo γιατί είμαστε μέσα στο σύστημα ως διαχειριστές):
zypper --no-refresh dup

θα εμφανιστεί ένα κατεβατό με τις ενέργειες που θα εκτελέσει το zypper κατά την αναβάθμιση. Επειδή έχετε κατεβάσει όλα τα πακέτα στο προηγούμενο βήμα, θα δείτε στην αναφορά του zypper να γράφει "Overall download size: 0 B. Already cached: 1.62 GiB".

Απλά πατήστε Enter και περιμένετε.
Όταν τελειώσει χρειάζεται επανεκκίνηση. Αυτό μπορεί να γίνει με την εντολή:
reboot


7) Επαναφέρετε τα αποθετήρια τρίτων
Τώρα μπορείτε να επαναφέρετε τα αποθετήρια τρίτων, είτε από το αντίγραφο ασφαλείας που κάνατε αλλάζοντας το 42.1 σε 42.2, είτε μπορείτε να αναζητήσετε στο http://software.opensuse.org το πρόγραμμα που είχατε εγκαταστήσει από το συγκεκριμένο αποθετήριο τρίτου. Επίσης ελέγξτε εάν είναι εγκατεστημένα όλα τα προγράμματα που έχετε εγκαταστήσει από τρίτους (obs).


Για περισσότερες ερωτήσεις, μπορείτε να ρωτήσετε στο forum, IRC ή λίστα.

Εάν θέλετε να μάθετε περισσότερες λειτουργίες του zypper, δείτε το cheatsheet

Τέλος, ένας ωραίος οδηγός αναβάθμισης με εικόνες βρίσκεται στη σελίδα με τίτλο
How to upgrade from openSUSE Leap 42.1 to 42.2.

Δεν υπάρχουν σχόλια

Από το Blogger.