Πώς να ρυθμίσετε τις υπηρεσίες δικτύου για αυτόματη εκκίνηση κατά την εκκίνηση


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

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

ps --pid 1

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

Με βάση το σύστημα
----------- Enable Service to Start at Boot -----------
systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
systemctl disable [service] # prevent [service] from starting at boot
Με βάση το sysvinit
----------- Start Service at Boot in Runlevels A and B -----------
chkconfig --level AB [service] on 
-----------  Don’t Start Service at boot in Runlevels C and D -----------
chkconfig --level CD service off 

Σε ένα σύστημα σύστημα όπως το CentOS 8, το RHEL 8 και το Fedora 30+, το systemctl Η εντολή χρησιμοποιείται για τη διαχείριση υπηρεσιών. Για παράδειγμα, για να έχετε μια προβολή των απενεργοποιημένων υπηρεσιών, εκτελέστε την εντολή:

sudo systemctl list-unit-files --state=disabled
sudo chkconfig --list     [On sysvinit-based]

Η παρακάτω έξοδος εκτυπώνει όλες τις απενεργοποιημένες υπηρεσίες και, όπως μπορείτε να δείτε, παρατίθεται η υπηρεσία httpd, υποδηλώνοντας ότι δεν έχει ρυθμιστεί για εκκίνηση κατά την εκκίνηση.

Για να ενεργοποιήσετε την εκκίνηση μιας υπηρεσίας κατά την εκκίνηση, χρησιμοποιήστε τη σύνταξη:

sudo systemctl enable service-name
sudo chkconfig service_name on     [On sysvinit-based] 

Για παράδειγμα, για να ενεργοποιήσετε την υπηρεσία httpd κατά την εκτέλεση εκκίνησης.

sudo systemctl enable httpd
sudo chkconfig httpd on     [On sysvinit-based] 

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

sudo systemctl list-unit-files --state=enabled
sudo chkconfig --list | grep 3:on     [On sysvinit-based] 

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

Για να μάθετε περισσότερα σχετικά με τις εντολές systemctl και chkconfig, διαβάστε τα παρακάτω άρθρα:

  • Πώς να διαχειριστείτε τις υπηρεσίες και τις μονάδες «Systemd» χρησιμοποιώντας το «Systemctl» στο Linux
  • Παραδείγματα βασικών εντολών chkconfig στο Linux