Υπηρεσία έναντι Systemctl

Yperesia Enanti Systemctl



Η υπηρεσία και το systemctl είναι δύο βοηθητικά προγράμματα γραμμής εντολών που χρησιμοποιούνται για τη διαχείριση υπηρεσιών συστήματος. Και τα δύο βοηθητικά προγράμματα ανήκουν σε δύο διαφορετικά συστήματα έναρξης, το SysV και το systemd αντίστοιχα.

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

Πριν προχωρήσουμε περαιτέρω, ας κατανοήσουμε πρώτα δύο δημοφιλή συστήματα init Linux. System και Systemd.







System V εναντίον Systemd

Το σύστημα init στο Linux είναι ένα κρίσιμο μέρος της διαδικασίας εκκίνησης. Είναι η πρώτη διαδικασία με PID 1 που ξεκινά όταν το σύστημα εκκινείται. Στη συνέχεια ξεκινά τις διεργασίες που υπάρχουν στο αρχείο inittab. Το System V γνωρίζει επίσης ένα SysV και το systemd είναι δημοφιλή συστήματα Linux init.



ο SysV είναι ένα παλαιότερο σύστημα init και ήταν μέρος παλαιότερων διανομών Unix και Linux. Διαχειρίζεται τις υπηρεσίες του συστήματος χρησιμοποιώντας τα σενάρια που βρίσκονται στο /etc/init.d. Ορισμένες διανομές Linux που εξακολουθούν να χρησιμοποιούν το SysV είναι το Slackware, το Gentoo και το antiX Linux.



Αφ 'ετέρου, systemd κυκλοφόρησε το 2010 και υιοθετήθηκε γρήγορα από πολλές διανομές Linux. Το σύστημα systemd init διαχειρίζεται τις υπηρεσίες μέσω αρχείων .service. Είναι πλέον μέρος όλων των σύγχρονων διανομών Linux, συμπεριλαμβανομένων των Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu και διανομών που βασίζονται σε αυτά τα λειτουργικά συστήματα.





Το systemd είναι πολύ πιο αποδοτικό σε σύγκριση με το SysV. Παρέχει ταχύτερο χρόνο εκκίνησης, αποτελεσματική διαχείριση υπηρεσιών και χειρισμό εξαρτήσεων.

Και τα δύο συστήματα init παρέχουν δύο βοηθητικά προγράμματα γραμμής εντολών για διαχείριση υπηρεσιών.



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

εντολή υπηρεσίας

ο υπηρεσία Η εντολή είναι ένα περιτύλιγμα σεναρίων που εκτελεί σενάρια που βρίσκονται στο /etc/init.d Ευρετήριο. Αναπτύχθηκε για τη διαχείριση της υπηρεσίας του SysV ή Σύστημα V σύστημα έναρξης. Οι διανομές Linux που χρησιμοποιούν το SysV ως αρχικό σύστημα χρησιμοποιούν το υπηρεσία εντολή για διαχείριση υπηρεσιών.

Η γενική σύνταξη για τη χρήση της εντολής υπηρεσίας δίνεται παρακάτω.

υπηρεσία [ Όνομα Υπηρεσίας ] [ δράση ]

Για να λάβετε την κατάσταση των υπηρεσιών που ελέγχονται από το System V, χρησιμοποιήστε την εντολή service με το –κατάσταση-όλα επιλογή.

υπηρεσία --κατάσταση-όλα

ο + υποδεικνύει ότι η υπηρεσία εκτελείται και το δείχνει ότι η υπηρεσία είναι ανενεργή.

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

υπηρεσία [ Όνομα Υπηρεσίας ] κατάσταση

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

υπηρεσία [ Όνομα Υπηρεσίας ] αρχή

υπηρεσία [ Όνομα Υπηρεσίας ] να σταματήσει

υπηρεσία [ Όνομα Υπηρεσίας ] επανεκκίνηση

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

Εντολή systemctl

Χρησιμοποιώντας την εντολή systemctl, μπορείτε να ελέγξετε τις υπηρεσίες στο /lib/systemd/system και /etc/systemd/system καταλόγους. Είναι ένα συστατικό του systemd? ένα σύστημα init που βρίσκεται στην πλειονότητα των σύγχρονων διανομών Linux.

Το systemctl έχει σχεδιαστεί για να παρέχει περισσότερο έλεγχο στη διαχείριση υπηρεσιών συστήματος. Η γενική σύνταξη για τη χρήση της εντολής systemctl δίνεται παρακάτω:

systemctl [ επιλογή ] [ Όνομα Υπηρεσίας ]

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

systemctl λίστα-μονάδες --τύπος =υπηρεσία --όλα

Για μια συγκεκριμένη υπηρεσία χρήση:

κατάσταση systemctl [ Όνομα Υπηρεσίας ]

Οι εντολές για τη βασική διαχείριση της υπηρεσίας χρησιμοποιώντας το systemctl δίνονται παρακάτω:

systemctl επιτρέπω [ Όνομα Υπηρεσίας ]

systemctl εκκίνηση [ Όνομα Υπηρεσίας ]

systemctl σταματήσει [ Όνομα Υπηρεσίας ]

systemctl απενεργοποιήστε [ Όνομα Υπηρεσίας ]

systemctl επανεκκίνηση [ Όνομα Υπηρεσίας ]

Η εντολή systemctl υπερβαίνει τον έλεγχο των υπηρεσιών. Ο παρακάτω πίνακας περιέχει μερικές προηγμένες εντολές systemctl.

λίστα-μονοπάτια Για να παραθέσετε τη διαδρομή όλων των υπηρεσιών στη μνήμη
είναι ενεργό [όνομα_υπηρεσίας] Για να ελέγξετε εάν η υπηρεσία ή η μονάδα λειτουργεί ή όχι
λίστα-εξαρτήσεις [όνομα_υπηρεσίας] Για να εκτυπώσετε τη λίστα των εξαρτήσεων της καθορισμένης υπηρεσίας
επαναφορά-αποτυχία Για να επαναφέρετε τις υπηρεσίες που απέτυχαν να φορτωθούν λόγω κάποιας ανωμαλίας
μάσκα [όνομα_υπηρεσίας] Για να απενεργοποιήσετε την υπηρεσία και να την κάνει να μην μπορεί να ξεκινήσει
get-default Για να εκτυπώσετε το προεπιλεγμένο επίπεδο εκτέλεσης ή στόχο
ορισμός προεπιλογής [στόχος] Για να ορίσετε το προεπιλεγμένο επίπεδο εκτέλεσης ή στόχο
τρέχει το σύστημα Για να ελέγξετε την κατάσταση λειτουργίας του συστήματος
επανεκκίνηση Για επανεκκίνηση του συστήματος
απενεργοποίηση Για να κλείσει το σύστημα

Γιατί υπάρχει ακόμα μια υπηρεσία Command στις Διανομές Linux με το systemd init System

Η εντολή service εξακολουθεί να είναι μέρος πολλών διανομών Linux επειδή είναι ένα σενάριο περιτυλίγματος και αφαιρεί το υποκείμενο σύστημα init, είτε είναι SysV είτε systemctl. Για παράδειγμα, στο Ubuntu, η εντολή service ανακατευθύνεται στο systemctl.

συμπέρασμα

Η υπηρεσία και το systemctl είναι δύο βοηθητικά προγράμματα γραμμής εντολών που ανήκουν στα συστήματα SysV και systemd init, αντίστοιχα. Παρά την αντικατάσταση της εντολής service στις σύγχρονες διανομές Linux, παραμένει βασικό εργαλείο για τη διατήρηση των υπηρεσιών λόγω απλότητας και συμβατότητας. Το systemctl, από την άλλη πλευρά, είναι μέρος όλων των τρεχουσών διανομών Linux και παρέχει προηγμένες επιλογές για τη διαχείριση υπηρεσιών.