Πώς να επανεκκινήσετε και να τερματίσετε τους διακομιστές Linux;

Ως Sysadmin, μία από τις συχνές δραστηριότητες είναι η επανεκκίνηση ή η απενεργοποίηση διακομιστών.

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

Ένα σύστημα Linux προσφέρει πολλούς διαφορετικούς τρόπους επανεκκίνησης ή τερματισμού λειτουργίας του διακομιστή. Ένα κανονικό σύστημα θα πρέπει να ανταποκρίνεται σε οποιαδήποτε εντολή, ενώ ένας υποβαθμισμένος διακομιστής μπορεί να χρειαστεί να επανεκκινηθεί δυναμικά. Λάβετε υπόψη ότι οι περισσότερες από αυτές τις εντολές απαιτούν ένα ορισμένο επίπεδο δικαιωμάτων είτε ως υπερχρήστης είτε με sudo για να εκτελεστούν με επιτυχία, καθώς η επανεκκίνηση ενός συστήματος είναι μια διοικητική εργασία και για ένα σύστημα πολλών χρηστών ή διακομιστή που εκτελεί κρίσιμες διεργασίες, η επανεκκίνηση ή ο τερματισμός λειτουργίας είναι διασπαστική δραστηριότητα.

Αυτό το άρθρο καλύπτει μερικές τέτοιες μεθόδους που μπορούν να σας βοηθήσουν με τη δραστηριότητα επανεκκίνησης/απενεργοποίησης Linux.

Μέθοδος GUI

Εάν χρησιμοποιείτε ένα περιβάλλον επιφάνειας εργασίας GUI για Linux όπως Gnome, KDE, Mate, XFCE κ.λπ., θα βρείτε ένα κουμπί λειτουργίας στο μενού συστήματος/εφαρμογής που προσφέρει ενέργειες όπως αποσύνδεση, επανεκκίνηση, αδρανοποίηση ή απενεργοποίηση. Οι διαθέσιμες επιλογές ενδέχεται να διαφέρουν ελαφρώς ανάλογα με τη διανομή, το περιβάλλον επιφάνειας εργασίας και την έκδοση του λειτουργικού συστήματος που χρησιμοποιείται. Αλλά σίγουρα θα βρείτε ρυθμίσεις που σχετίζονται με την ενέργεια στα διαθέσιμα μενού για να αλλάξετε την κατάσταση τροφοδοσίας του συστήματός σας.

Για παράδειγμα, στην επιφάνεια εργασίας μου στο Ubuntu Mate, μπορώ να βρω την επιλογή Τερματισμός λειτουργίας στο μενού λειτουργίας στην επάνω δεξιά γωνία της οθόνης μου.

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

Το προσφερόμενο γραφικό περιβάλλον και οι επιλογές ενδέχεται να διαφέρουν ελαφρώς στη διανομή και στο περιβάλλον επιφάνειας εργασίας που χρησιμοποιείτε, αλλά να είστε βέβαιοι ότι υπάρχει μια επιλογή αλλαγής της κατάστασης ισχύος του συστήματος. Και με το GUI, δεν είναι περισσότερα από λίγα κλικ στο μενού λειτουργίας.

  Πώς να κατεβάσετε αρχεία σε Linux με το Curl

Εντολή systemctl

Σε ένα κουτί Linux που εκτελεί το systemd ως το αρχικό σύστημα, μπορείτε να χρησιμοποιήσετε την εντολή systemctl για να επανεκκινήσετε το μηχάνημά σας.

$ sudo systemctl start reboot.target

Ή μπορείτε απλά να χρησιμοποιήσετε το systemctl με την απαιτούμενη επιλογή, όπως για επανεκκίνηση ως:

$ sudo systemctl reboot

Για την έναρξη ενός τερματισμού λειτουργίας, η εντολή systemctl έχει ως εξής:

$ sudo systemctl shutdown

Για να σταματήσετε το σύστημα, χρησιμοποιήστε:

$ sudo systemctl halt

Εντολή τερματισμού λειτουργίας

Η εντολή shutdown μπορεί να χρησιμοποιηθεί για την απενεργοποίηση καθώς και την επανεκκίνηση ενός συστήματος Linux. Για άμεση επανεκκίνηση ενός συστήματος χρησιμοποιήστε:

$ sudo shutdown -r now

Ή για να απενεργοποιήσετε ένα σύστημα χωρίς αναμονή, χρησιμοποιήστε τη σημαία -h ή -P:

$ sudo shutdown -P now 

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

$ sudo shutdown -r 10

Για να διακόψετε ένα σύστημα χωρίς να ζητήσετε απενεργοποίηση του υλικού, μπορείτε να χρησιμοποιήσετε τη σημαία -H:

$ sudo shutdown -H now

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

$ sudo shutdown 22:30

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

$ sudo shutdown 23:00 "Powering off system for maintenance...save your work"

Για να ακυρώσετε έναν προγραμματισμένο τερματισμό λειτουργίας, μπορείτε να χρησιμοποιήσετε τη σημαία -c:

$ sudo shutdown -c

Σε ορισμένα συστήματα, καλέστε την εντολή shutdown systemctl στο backend για να επιτύχετε την επιθυμητή λειτουργία επανεκκίνησης/τερματισμού.

Εντολή επανεκκίνησης

Για να επανεκκινήσετε με χάρη ένα σύστημα, μπορείτε επίσης να χρησιμοποιήσετε την εντολή επανεκκίνησης (ίσως χρειαστεί να χρησιμοποιήσετε με το sudo).

$ sudo reboot

Για να απενεργοποιήσετε το σύστημα με την εντολή επανεκκίνησης, χρησιμοποιήστε τη σημαία -p:

$ sudo reboot -p

Για να αναγκάσετε μια επανεκκίνηση (για συστήματα που δεν ανταποκρίνονται στην κανονική εντολή επανεκκίνησης), μπορείτε να δοκιμάσετε την επισήμανση -f ως:

$ sudo reboot -f

Εντολή διακοπής

Για να σταματήσετε ένα σύστημα, μπορείτε απλά να χρησιμοποιήσετε την εντολή halt:

$ sudo halt

Εντολή Poweroff

Για να απενεργοποιήσετε ένα σύστημα, έχετε την επιλογή να χρησιμοποιήσετε την εντολή poweroff:

$ sudo poweroff

init Command

Για συστήματα που δεν εκτελούνται στο systemd, η εντολή init (θα λειτουργεί και το telinit) προσφέρει επιλογές για την αλλαγή του επιπέδου εκτέλεσης του συστήματος. Για να επανεκκινήσετε ένα σύστημα χρησιμοποιώντας το init, μπορείτε να χρησιμοποιήσετε:

$ sudo init 6

Ομοίως για να σταματήσει ένα σύστημα, η εντολή init που θα χρησιμοποιηθεί είναι:

$ sudo init 0

Η κλήση ενός συγκεκριμένου επιπέδου εκτέλεσης χρησιμοποιώντας το init αναγκάζει τη διαδικασία init του συστήματος να εκτελέσει μια σειρά από σενάρια έναρξης με μια συγκεκριμένη σειρά για να διασφαλιστεί ότι το σύστημα θα φτάσει στο επιθυμητό επίπεδο εκτέλεσης. Το επίπεδο εκτέλεσης 6 ορίζεται για επανεκκίνηση ενώ το επίπεδο εκτέλεσης 0 για την παύση του συστήματος.

  Πώς να εγκαταστήσετε το Linux

Πλήκτρο ενεργοποίησης

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

Για έναν απομακρυσμένο διακομιστή με Linux, το κουμπί λειτουργίας συνήθως απενεργοποιεί το σύστημα. Ωστόσο, εκείνα που βρίσκονται σε απομακρυσμένα κέντρα δεδομένων έχουν την πρόσθετη επιλογή επανεκκίνησης ή απενεργοποίησης από τα εργαλεία διαχείρισης CLI/GUI απομακρυσμένων φώτων που προσφέρουν οι αντίστοιχοι προμηθευτές διακομιστών.

Συνδυασμός Alt + SysRq

Για ένα παγωμένο σύστημα που δεν ανταποκρίνεται, είναι δύσκολο να το φέρεις σε κατάσταση επανεκκίνησης ή απενεργοποίησης. Όταν δεν έχετε άλλη επιλογή και ως έσχατη λύση, μπορείτε να δοκιμάσετε να πατήσετε Alt + PrintScreen + μια σειρά πλήκτρων για να επανεκκινήσετε αμέσως το σύστημα. Μπορεί να μην είναι μια προτιμώμενη ή προτεινόμενη επιλογή, ωστόσο μπορεί να χρησιμοποιηθεί ως έσχατη λύση.

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

  Πώς να εγκαταστήσετε το θέμα Arc για Thunderbird σε Linux

Για να λειτουργήσει αυτή η επιλογή, θα πρέπει να είναι ενεργοποιημένη στον πυρήνα του Linux. Μπορείτε να το ελέγξετε χρησιμοποιώντας την παρακάτω εντολή:

$ cat /proc/sys/kernel/sysrq

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

$ sudo echo “1” > /proc/sys/kernel/sysrq

Για να επανεκκινήσετε ένα σύστημα χρησιμοποιώντας αυτήν τη μέθοδο, κρατήστε πατημένο το Alt + SysRq (PrintScreen) και, στη συνέχεια, πατήστε με τη σειρά τα ακόλουθα πλήκτρα μετά από διάστημα λίγων δευτερολέπτων μεταξύ κάθε πλήκτρου:

R E I S U B

ή για τερματισμό, πατήστε O αντί για B στο τέλος:

R E I S U O

Να τι σημαίνουν τα πλήκτρα:

  • R: Αλλάξτε το πληκτρολόγιο από ακατέργαστο σε λειτουργία XLATE
  • E: Αποστολή σήματος SIGTERM σε όλες τις διεργασίες εκτός από την init
  • I: Αποστολή σήματος SIGKILL σε όλες τις διεργασίες εκτός από την init
  • S: Συγχρονίστε όλα τα προσαρτημένα συστήματα αρχείων
  • U: Τοποθετήστε ξανά όλα τα προσαρτημένα συστήματα αρχείων ως μόνο για ανάγνωση

Τέλος, έχουμε είτε B είτε O που σημαίνει:

  • Β: Αμέσως επανεκκινήστε το σύστημα, χωρίς αποπροσάρτηση κατατμήσεων ή συγχρονισμό

Ή

  • O: Τερματίστε αμέσως τη λειτουργία του συστήματος, χωρίς να αποσυναρμολογήσετε τα διαμερίσματα ή να συγχρονίσετε

Περίληψη

Ορίστε λοιπόν διαφορετικοί τρόποι που σας επιτρέπουν να επανεκκινήσετε ή να τερματίσετε ένα σύστημα Linux. Σας προσφέρει επιλογές που κυμαίνονται από απλές διεπαφές GUI έως σχετικά σύνθετες εντολές τερματικού που μπορούν να κάνουν τη ζωή σας εύκολη ή ακόμα και να σας επιτρέπουν να αυτοματοποιείτε πράγματα. Για συστήματα που πάγωσαν για τον έναν ή τον άλλο λόγο, συζητήσαμε αναγκαστικούς τρόπους επίτευξης κατάστασης επανεκκίνησης ή τερματισμού λειτουργίας που μπορεί να μην είναι ο ιδανικός τρόπος, αλλά πρέπει να χρησιμοποιούνται σε σπάνιες περιπτώσεις.

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

Μάθετε πώς να ρυθμίσετε το WAS για να σταματήσει να ζητά κωδικό πρόσβασης κατά τον τερματισμό λειτουργίας εδώ.