Το Ubuntu Core είναι ιδιαίτερα δημοφιλές λειτουργικό σύστημα σε IoT και edge λύσεις. Ας δούμε πως μπορούμε να μπούμε σε recovery mode του Ubuntu Core σε περίπτωση που χρειαστεί να διορθώσουμε το σύστημα.

Σε αντίθεση με το «παραδοσιακό» Ubuntu, το Ubuntu Core είναι κατασκευασμένο με εντελώς διαφορετικό τρόπο (βλέπε Ubuntu Core: Λειτουργικό σύστημα για IoT συσκευές) με σκοπό να μπορεί να ενημερώνεται αυτόματα, οι εφαρμογές να είναι απομονωμένες από το λειτουργικό σύστημα και να διαθέτει αυτόματο roll-back σε πρότερη λειτουργική κατάσταση σε περίπτωση που δεν είναι δυνατή η εκκίνηση του συστήματος. Είναι ιδιαίτερα βολικό για εγκατάσταση σε Raspberry Pi στο οποίο μπορείτε να το βάλετε και να το ξεχάσετε.

Σε σημερινό οδηγό θα δούμε τους διαφορετικούς τρόπους ανάκτησης που παρέχει το Ubuntu Core για την επαναφορά μιας συσκευής σε ένα ασφαλές περιβάλλον επισκευής. Λάβετε υπόψιν σας ότι το Ubuntu Core είναι φιλικό προς την εγκατάσταση και χρήση και όχι απαραίτητα φιλικό για προγραμματιστές. Με άλλα λόγια απευθύνεται πιο πολύ για χρήση ως τελική πλατφόρμα χρήσης κάποιου λογισμικού ή υπηρεσίας παρά να αναπτύξετε κάτι πάνω σε αυτό (βλέπε Ubuntu Appliance | Έτοιμα appliances για Raspberry Pi και PC).

Με άλλα λόγια είναι προτιμότερο να χρησιμοποιείτε Ubuntu Desktop για ανάπτυξη και prototyping και έπειτα να κάνετε deployment σε Ubuntu Core

Advertisements

Τι θα χρειαστείτε για ανάκτηση του Ubuntu Core

Για να ξεκινήσετε την επαναφορά είναι αναγκαίο να έχετε:

  • Φυσικά την συσκευή με εγκατεστημένο το Ubuntu Core
  • Μια οθόνη και καλώδιο HDMI
  • Ένα πληκτρολόγιο

Πως λειτουργεί το περιβάλλον ανάκτησης του Ubuntu Core

Οι ακόλουθες λειτουργίες εκκίνησης είναι προς το παρόν διαθέσιμες κατά την εκκίνηση του Ubuntu Core:

  • (Normal) Run Mode: Κανονική λειτουργία εκκίνησης
  • Recovery mode: Επανεκκίνηση σε λειτουργία ανάκτησης για συντήρηση ή επισκευή του συστήματος
  • Reinstall mode: Αρχικοποίηση συσκευής από μια ενσωματωμένη εικόνα επανεγκατάστασης συστήματος

Αυτές οι λειτουργίες μπορούν να χρησιμοποιηθούν με οποιαδήποτε από τις ακόλουθες μεθόδους:

  • Κρυφό μενού ανάκτησης κατά την εκκίνηση
  • Εντολή επανεκκίνησης Snap reboot από την κονσόλα
  • Μέσω Snapd REST API

Μετά από μια καθαρή εγκατάσταση του Ubuntu Core, δημιουργείται ένα πρώτο σύστημα αποκατάστασης έτσι ώστε να είναι δυνατή η αναδημιουργία ενός καθαρού εργοστασιακού συστήματος ανά πάσα στιγμή με τη λειτουργία Reinstall mode.

Ας δούμε μια μια τους διαφορετικούς τρόπους εκκίνησης του Ubuntu Core

Run Mode – Λειτουργία εκτέλεσης

Κατά την εκκίνηση σε Run Mode, η συσκευή προσπαθεί να εκκινήσει κανονικά, χωρίς επιλογή ανάκτησης ή επανεγκατάστασης του συστήματος.

Recovery mode – Λειτουργία ανάκτησης

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

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

Reinstall mode – Λειτουργία επανεγκατάστασης

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

Η διαδικασία εγκατάστασης και διαμόρφωσης είναι ίδια με την πρώτη εκκίνηση μετά την εγκατάσταση του Ubuntu Core.

Ας δούμε τώρα πως μπορούμε να μπούμε σε αυτό το κρυφό μενού με τις επιλογές που είδαμε πάνω

Advertisements

Χρήση του μενού εκκίνησης αποκατάστασης

Έστω ότι το Ubuntu Core δεν είναι πλέον προσβάσιμο μέσω του δικτύου, τότε θα χρειαστεί να το συνδέσετε σε οθόνη με HDMI και πληκτρολόγιο για να μπορέσετε να χρησιμοποιήσετε το κρυφό μενού ανάκτησης ως εξής:

  1. Ξεκινήστε ή επανεκκινήστε τη συσκευή κρατώντας πατημένο το πλήκτρο 1 στο συνδεδεμένο πληκτρολόγιο. Σε ορισμένα συστήματα ή με ορισμένα πληκτρολόγια ίσως να χρειαστεί να πατήσετε το πλήκτρο επανειλημμένα.
  2. Αφού ολοκληρωθεί η αρχική διαδικασία εκκίνησης, εμφανίζεται μια οθόνη που δείχνει «System mode selection triggered. Proceed to select one of the available systems and actions«. Πατήστε OK.
  3. Στην επόμενη οθόνη, επιλέξτε με τα πλήκτρα TAB ή δρομέα την επιθυμητή ενέργεια και πατήστε ENTER.
  4. Εμφανίζεται ένα μήνυμα που δείχνει την επιλεγμένη λειτουργία. Πατήστε CONFIRM για να συνεχίσετε.

Χρήση τερματικού για σύνδεση στο Ubuntu Core

Έστω ότι το Ubuntu Core είναι προσβάσιμο μέσω δικτύου. Σε αυτή την περίπτωση θα πρέπει πρώτα να συνδεθείτε στη συσκευή σας χρησιμοποιώντας SSH. :

ssh user@IP-syskeuis

Προβολή σημείων επαναφοράς

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

snap recovery

Με την παραπάνω εντολή θα πρέπει να εμφανίζει μια λίστα με ετικέτες όπως π.χ. η παρακάτω εικόνα:

snap recovery

Λειτουργία επαναφοράς από το τερματικό

Η εντολή snap reboot όπως είχαμε αναφέρει, σάς επιτρέπει να κάνετε εκκίνηση σε διαφορετικούς τρόπους εκκίνησης (Ran Mode, Recovery, Reinstall) από το τερματικό. Η διαδικασία είναι απλή και το μόνο που κάνετε είναι να πληκτρολογήσετε την ακόλουθη εντολή ακολουθούμενη απο την παράμετρο --recover και τον αριθμό σημείου επαναφοράς που είδατε πιο πάνω:

sudo snap reboot --recover 20210112

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

σημείο επαναφοράς που του δώσατε

Αυτή η διαδικασία θα διαρκέσει αρκετή ώρα. Η συσκευή θα είναι μεν προσβάσιμη μέσω SSH, αλλά τα snap πακέτα χρειάζονται λίγο χρόνο για εγκατάσταση και ενημέρωση. Μπορείτε να ελέγξετε με την εντολή watch snap list (βλέπε Βασικές εντολές και χρήση του Snap) έως ότου η πλήρης λίστα των πακέτων είναι ενημερωμένη.

Έξοδος από την λειτουργίας ανάκτησης

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

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

  • Εισαγάγετε την ακόλουθη εντολή
snap reboot --run
  • Απενεργοποιήστε και ενεργοποιήστε το σύστημα

Οι δυο παραπάνω μέθοδοι επιστρέφουν το σύστημα σε κανονική λειτουργία (Run Mode) και όλες οι αλλαγές που έγιναν στο προσωρινό σύστημα χάνονται.

Εναλλακτικά, εάν γίνει κανονική επανεκκίνηση με την εντολή sudo reboot, το σύστημα σταματά τελικά στην επόμενη εκκίνηση και δείχνει το μενού «Recovery chooser», οπότε αυτή η μέθοδος δεν συνιστάται.

πηγή