Το systemd είναι ένα σύνολο βασικών δομικών στοιχείων για συστήματα Linux. Παρέχει έναν διαχειριστή συστήματος και υπηρεσιών που εκτελεί και εκκινεί το υπόλοιπο σύστημα ως PID 1.
Το systemd παρέχει επιθετικές δυνατότητες παραλληλοποίησης, χρησιμοποιεί υποδοχές και ενεργοποίηση D-Bus για την εκκίνηση υπηρεσιών, παρέχει εκκίνηση δαιμόνων κατ' απαίτηση, χρησιμοποιεί ομάδες ελέγχου Linux για την παρακολούθηση διεργασιών, διατηρεί προσαρτήσεις και σημεία αυτόματης προσάρτησης και εφαρμόζει καλά σχεδιασμένη λογική ελέγχου υπηρεσιών που βασίζεται στην εξάρτηση από συναλλαγές. Το systemd υποστηρίζει σενάρια έναρξης SysV και LSB και μπορεί να αντικαταστήσει το sysvinit.
Άλλες ενότητες περιλαμβάνουν δαίμονες καταγραφής, βοηθητικά προγράμματα για τον έλεγχο βασικών διαμορφώσεων συστήματος, όπως ονόματα κεντρικών υπολογιστών, ημερομηνίες, τοπικές ρυθμίσεις, διατήρηση λίστας συνδεδεμένων χρηστών και εκτέλεση κοντέινερ και εικονικών μηχανών, λογαριασμούς συστήματος, καταλόγους χρόνου εκτέλεσης και ρυθμίσεις, καθώς και διαχείριση διαμορφώσεων δαιμόνων για απλά δίκτυα, συγχρονισμό χρόνου δικτύου, προώθηση αρχείων καταγραφής και ανάλυση ονομάτων.
Το αρχείο διαμόρφωσης του systemd υπάρχει στους ακόλουθους τρεις φακέλους:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Αναθεώρηση:
Προφίλ μονάδας
Ένα αρχείο μονάδας στο systemd είναι ένα αρχείο που κωδικοποιεί πληροφορίες σχετικά με τις διάφορες μονάδες που μπορεί να διαχειριστεί το systemd, συμπεριλαμβανομένων υπηρεσιών, υποδοχών, συσκευών κ.λπ. Αυτός ο οδηγός εστιάζει στις υπηρεσίες, οπότε το αρχείο μονάδας με το οποίο εργαζόμαστε είναι το αρχείο .service. Το αρχείο διαμόρφωσης της συσκευής varnish.service περιέχει πληροφορίες σχετικά με τον τρόπο με τον οποίο το systemd πρέπει να εκτελεί, να παρακολουθεί και να διαχειρίζεται τον δαίμονα του βερνικιού.
Το μπλοκ [Μονάδα] είναι συνήθως το πρώτο μπλοκ του αρχείου διαμόρφωσης και χρησιμοποιείται για τον καθορισμό των μεταδεδομένων της Μονάδας και του τρόπου με τον οποίο σχετίζονται με άλλες Μονάδες. Τα κύρια πεδία του είναι τα εξής.
- Περιγραφή: Μια σύντομη περιγραφή
- Τεκμηρίωση: Η διεύθυνση του εγγράφου
- Απαιτεί: Άλλες μονάδες από τις οποίες εξαρτάται η τρέχουσα μονάδα και εάν δεν λειτουργούν, η τρέχουσα μονάδα θα αποτύχει να ξεκινήσει
- Θέλει: Άλλες Μονάδες που λειτουργούν με την τρέχουσα Μονάδα, εάν δεν εκτελούνται, η τρέχουσα Μονάδα δεν θα αποτύχει να ξεκινήσει
- BindsTo: Παρόμοια με το Requires, καθορίζει μια μονάδα που προκαλεί τη διακοπή της λειτουργίας της τρέχουσας μονάδας εάν βγει
- Πριν: Εάν πρόκειται να ξεκινήσει και η Μονάδα που καθορίζεται σε αυτό το πεδίο, πρέπει να ξεκινήσει μετά την τρέχουσα Μονάδα
- Μετά: Εάν πρόκειται να ξεκινήσει και η μονάδα που καθορίζεται σε αυτό το πεδίο, πρέπει να ξεκινήσει πριν από την τρέχουσα μονάδα
- Διενέξεις: Η μονάδα που καθορίζεται εδώ δεν μπορεί να εκτελεστεί ταυτόχρονα με την τρέχουσα μονάδα
- Κατάσταση... : Οι προϋποθέσεις που πρέπει να πληρούνται για να λειτουργήσει η τρέχουσα μονάδα, διαφορετικά δεν θα εκτελεστεί
- Ισχυρίζομαι... : Οι συνθήκες που πρέπει να πληρούνται για να εκτελεστεί η τρέχουσα μονάδα, διαφορετικά θα αναφερθεί η αποτυχία εκκίνησης
Το [Install] είναι συνήθως το τελευταίο μπλοκ του αρχείου ρυθμίσεων που καθορίζει τον τρόπο εκκίνησης και εάν θα εκκινήσετε. Τα κύρια πεδία του είναι τα εξής.
- WantedBy: Η τιμή του είναι ένας ή περισσότεροι Στόχοι και όταν η τρέχουσα Μονάδα είναι ενεργή (enable), ο συμβολικός σύνδεσμος τοποθετείται σε έναν υποκατάλογο κάτω από τον κατάλογο /etc/systemd/system με την κατάληξη Target name + .wants
- RequiredBy: Η τιμή του είναι ένας ή περισσότεροι Στόχοι και όταν η τρέχουσα Μονάδα είναι ενεργή, ο συμβολικός σύνδεσμος θα τοποθετηθεί σε έναν υποκατάλογο κάτω από τον κατάλογο /etc/systemd/system με το επίθημα Target name + .required
- Ψευδώνυμο: Το ψευδώνυμο που μπορεί να χρησιμοποιήσει η τρέχουσα μονάδα για να ξεκινήσει
- Επίσης: Όταν ενεργοποιηθεί η τρέχουσα μονάδα, θα ενεργοποιηθούν και άλλες μονάδες ταυτόχρονα
Το μπλοκ [Υπηρεσία] χρησιμοποιείται για τη διαμόρφωση της Υπηρεσίας και μόνο οι μονάδες του τύπου Υπηρεσία έχουν αυτό το μπλοκ. Τα κύρια πεδία του είναι τα εξής.
- Τύπος: Καθορίζει τη συμπεριφορά της διεργασίας κατά την εκκίνηση. Έχει τις ακόλουθες τιμές.
- Type=simple: Η προεπιλεγμένη τιμή, εκτελέστε την εντολή που καθορίζεται από το ExecStart για να ξεκινήσει η κύρια διαδικασία
- type=forking: Η διακλάδωση δημιουργεί μια θυγατρική διεργασία από τη γονική διεργασία, η οποία θα βγει αμέσως μετά τη δημιουργία
- Type=oneshot: Μια εφάπαξ διεργασία, το Systemd θα περιμένει να βγει η τρέχουσα υπηρεσία πριν συνεχίσει την εκτέλεση
- Type=dbus: Η τρέχουσα υπηρεσία ξεκινά μέσω D-Bus
- type=notify: Όταν ξεκινήσει η τρέχουσα υπηρεσία, το Systemd θα ειδοποιηθεί και θα συνεχίσει την εκτέλεση
- type=idle: Η τρέχουσα υπηρεσία θα εκτελεστεί μόνο εάν εκτελεστούν άλλες εργασίες
- ExecStart: Η εντολή για την έναρξη της τρέχουσας υπηρεσίας
- ExecStartPre: Η εντολή που εκτελέστηκε πριν από την έναρξη της τρέχουσας υπηρεσίας
- ExecStartPost: Η εντολή που εκτελείται μετά την εκκίνηση της τρέχουσας υπηρεσίας
- ExecReload: Η εντολή που εκτελείται κατά την επανεκκίνηση της τρέχουσας υπηρεσίας
- ExecStop: Η εντολή που εκτελείται όταν διακόπτεται η τρέχουσα υπηρεσία
- ExecStopPost: Διακοπή της εντολής που εκτελείται όταν εξυπηρετείται
- RestartSec: Ο αριθμός των δευτερολέπτων μεταξύ της αυτόματης επανεκκίνησης της τρέχουσας υπηρεσίας
- Restart: Καθορίζει τις συνθήκες υπό τις οποίες το Systemd θα επανεκκινήσει αυτόματα την τρέχουσα υπηρεσία, με πιθανές τιμές όπως πάντα, on-success, on-failure, on-nonnormal, on-abort, on-watchdog
- TimeoutSec: Καθορίζει τον αριθμό των δευτερολέπτων που περιμένει το Systemd πριν διακόψει την τρέχουσα υπηρεσία
- Περιβάλλον: Καθορίστε τη μεταβλητή περιβάλλοντος
Εργαλείο διαχείρισης Systemctl
Η διαχείριση προγράμματος στο CentOS γίνεται βασικά από το εργαλείο systemctl.
Υπηρεσία εκκίνησης:
systemctl έναρξη όνομα.υπηρεσία
Διακοπή υπηρεσίας:
systemctl stop name.service
Επανεκκινήστε την υπηρεσία:
systemctl επανεκκίνηση όνομα.υπηρεσία
Προβολή κατάστασης:
systemctl status name.service
Επανεκκίνηση υπό όρους:
Εάν η υπηρεσία ξεκίνησε πριν, θα επανεκκινηθεί και εάν η υπηρεσία δεν ξεκινήσει, δεν θα λειτουργήσει
systemctl try-restart name.service
Επαναφόρτωση ή επανεκκίνηση:
Επαναλάβετε πρώτα τη φόρτωση και εάν η επαναφόρτωση δεν είναι επιτυχής, κάντε επανεκκίνηση
systemctl επαναφόρτωση-ή-επανεκκίνηση name.service
Επαναφόρτωση ή επανεκκίνηση υπό όρους:
systemctl επαναφόρτωση-ή-δοκιμή-επανεκκίνηση name.service
Ορίζει εάν η υπηρεσία μπορεί να ρυθμιστεί από το χρήστη για την έναρξη της κατάστασης
systemctl unmask name.service
systemctl mask name.service απαγορεύεται
Δείτε την τρέχουσα κατάσταση ενεργοποίησης της υπηρεσίας:
Η τιμή επιστροφής κατάστασης της εντολής "η υπηρεσία έχει ξεκινήσει" είναι 0 Η τιμή επιστροφής κατάστασης της εντολής που δεν έχει ξεκινήσει δεν είναι 0
systemctl είναι ενεργό όνομα.υπηρεσία
Δείτε όλες τις υπηρεσίες που έχουν ενεργοποιηθεί:
-t Καθορίζει τον τύπο της μονάδας που εμφανίζεται.
--Όλα εμφανίζουν μια πιο λεπτομερή λίστα πληροφοριών.
-ένα ισοδύναμο --όλα
systemctl λίστα-μονάδες
systemctl list-units -t υπηρεσία
systemctl list-units -t service -a
Δείτε όλες τις υπηρεσίες:
systemctl list-units -a
Δείτε όλες τις καταστάσεις υπηρεσιών:
systemctl λίστα-μονάδα-αρχεία
-a 、--all: Δείτε την κατάσταση όλων των υπηρεσιών
-t 、--type: Καθορίζει τον τύπο της μονάδας που θα προβληθεί
loaded: Το αρχείο διαμόρφωσης φορτώθηκε, φορτώθηκε στη μνήμη
active(running): Εκτελέσεις που υποβάλλονται σε συνεχή επεξεργασία μία ή περισσότερες φορές
active(exited): Η εφάπαξ διαμόρφωση ολοκληρώθηκε με επιτυχία
active(waiting): Εκτελείται, αναμονή για ένα συμβάν
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Χρησιμοποιείται για τη λίστα σε ποια επίπεδα λειτουργίας είναι ενεργοποιημένη και απενεργοποιημένη η υπηρεσία
ls /etc/systemd/system/*.wants/sshd.service
systemctl list-unit-files --type target --all
Για να ρυθμίσετε την υπηρεσία ώστε να μην ξεκινά:
systemctl απενεργοποιήστε τη μονάδα ονόματος υπηρεσίας
Ελέγξτε εάν η υπηρεσία έχει εκκινηθεί και ξεκινήσει:
systemctl είναι ενεργοποιημένο όνομα.υπηρεσία
Δείτε τις εξαρτήσεις υπηρεσιών:
systemctl list-dependencies όνομα.υπηρεσία systemctl list-depebdencies
Υπηρεσία βαρέων φορτίων:
systemctl δαίμονας-επαναφόρτωση
Σκοτώστε τη διαδικασία:
systemctl kill όνομα διαδικασίας
Πόροι:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
|