Πώς να χρησιμοποιήσετε το Systemd για τη λίστα υπηρεσιών

Οι κύριες διανομές Linux χρησιμοποιούν όλες το Systemd, ένα αρχικό σύστημα που λειτουργεί με βάση την ενεργοποίηση και απενεργοποίηση αρχείων «υπηρεσίας». Εάν προσπαθείτε να καταχωρίσετε αυτά τα αρχεία υπηρεσίας αλλά δεν ξέρετε πώς να το κάνετε, θα χρειαστεί να χρησιμοποιήσετε την εντολή systemctl.
Σε αυτόν τον οδηγό, θα εξετάσουμε τους διάφορους τρόπους με τους οποίους μπορείτε να παραθέσετε τα αρχεία υπηρεσίας Systemd στο Linux. Για να ξεκινήσετε, βεβαιωθείτε ότι χρησιμοποιείτε λειτουργικό σύστημα Linux με το Systemd. Στη συνέχεια, ανοίξτε ένα παράθυρο τερματικού και ακολουθήστε το.
Πίνακας περιεχομένων
Χρησιμοποιήστε το Systemd για τη λίστα ενεργών υπηρεσιών
Εάν χρησιμοποιείτε πολύ το Systemd, κάποια στιγμή, μπορεί να θέλετε να μάθετε ποιες υπηρεσίες είναι ενεργές κατά την εκκίνηση του συστήματος Linux. Η καταχώριση ενεργών υπηρεσιών είναι πολύ εύκολη και μπορείτε να το κάνετε με την εντολή systemctl –type=service systemctl –type=service –state=running.
Αυτή η εντολή, όταν εκτελεστεί, θα εμφανίσει έναν πίνακα με όλες τις υπηρεσίες, εάν είναι ενεργές, καθώς και μια σύντομη περιγραφή. Για να εκτελέσετε αυτό το πρόγραμμα, ανοίξτε ένα παράθυρο τερματικού. Μόλις ανοίξει το παράθυρο του τερματικού, εκτελέστε την παρακάτω εντολή.
systemctl --type=service --state=running
Εάν προσπαθείτε να φιλτράρετε όλες τις ενεργές υπηρεσίες για μια συγκεκριμένη υπηρεσία, η αναζήτηση σε αυτόν τον μεγάλο πίνακα μπορεί να είναι αρκετά κουραστική. Ευτυχώς, η εντολή systemctl μπορεί να συνδυαστεί με την εντολή grep ως μηχανισμός φιλτραρίσματος.
Για παράδειγμα, για να ελέγξετε εάν το “snapd.service” εκτελείται και έχει φορτωθεί, μπορείτε να εκτελέσετε systemctl –type=service –state=running | grep ‘snapd’ και η έξοδος θα εμφανίζει μόνο την υπηρεσία Snapd, αντί για ολόκληρο τον πίνακα.
systemctl --type=service --state=running | grep 'snapd'
Εάν θέλετε να αποθηκεύσετε την έξοδο του πίνακα σε ένα αρχείο κειμένου για αργότερα, χρησιμοποιήστε την ακόλουθη εντολή.
systemctl --type=service --state=runningrunning > ~/active-services.txt
Για να προβάλετε το αρχείο κειμένου ανά πάσα στιγμή, εκτελέστε την παρακάτω εντολή cat.
cat ~/active-services.txt
Χρησιμοποιήστε το Systemd για να παραθέσετε τις ανενεργές υπηρεσίες
Η καταχώριση ενεργών υπηρεσιών Systemd είναι χρήσιμη, αλλά τι γίνεται με τις ανενεργές; Ναι, είναι δυνατόν να απαριθμηθούν και αυτά. Να πώς. Αρχικά, ανοίξτε ένα παράθυρο τερματικού.
Μόλις ανοίξει το παράθυρο του τερματικού και είναι έτοιμο για χρήση, εκτελέστε την εντολή systemctl –type=service αλλά στην υποδοχή –state=, τοποθετήστε το “inactive” αντί “running”. Κάνοντας αυτό, μπορείτε να δείτε ποιες υπηρεσίες Systemd είναι ανενεργές στο σύστημά σας Linux.
systemctl --type=service --state=inactive
Όπως και με τις ενεργές υπηρεσίες, το Systemd θα δημιουργήσει έναν ωραίο, προσεγμένο πίνακα και θα σας δείξει ποιες υπηρεσίες Systemd είναι ανενεργές, νεκρές και δεν χρησιμοποιούνται. Εάν θέλετε να φιλτράρετε αυτόν τον πίνακα για να βρείτε εάν μια συγκεκριμένη υπηρεσία είναι νεκρή, μπορείτε να τη συνδυάσετε με την εντολή grep.
Για παράδειγμα, για να προσδιορίσετε εάν το αρχείο “updatedb.service” είναι ανενεργό, μπορείτε να συνδυάσετε systemctl –type=service –state=inactive με την παρακάτω εντολή grep για να το αναζητήσετε στον πίνακα.
systemctl --type=service --state=inactive | grep 'updatedb.service'
Εάν πρέπει να αποθηκεύσετε όλα τα ανενεργά αρχεία υπηρεσίας Systemd σε ένα αρχείο κειμένου για ανάγνωση αργότερα, χρησιμοποιήστε την ακόλουθη εντολή.
systemctl --type=service --state=inactive > ~/inactive-services.txt
Για να διαβάσετε αυτό το αρχείο κειμένου απευθείας από το παράθυρο του τερματικού, χρησιμοποιήστε την εντολή cat.
cat ~/inactive-services.txt
Χρησιμοποιήστε το Systemd για να παραθέσετε όλες τις εγκατεστημένες υπηρεσίες
Εάν πρέπει να δείτε όλες τις εγκατεστημένες υπηρεσίες Systemd, είτε είναι ενεργές είτε όχι, θα χρειαστεί να χρησιμοποιήσετε την εντολή systemctl list-unit-files –type=service και να εξαιρέσετε τον διακόπτη γραμμής εντολών –state. Εξαιρώντας το –state, το Systemd θα είναι σε θέση να καταγράφει κάθε αρχείο υπηρεσίας στον υπολογιστή σας εύκολα.
systemctl list-unit-files --type=service
Μόλις εκτελεστεί η παραπάνω εντολή, το Systemd θα εκτυπώσει έναν πίνακα με κάθε αρχείο υπηρεσίας στο σύστημα. Από εδώ, μπορείτε να ταξινομήσετε τον πίνακα για να βρείτε το αρχείο υπηρεσίας που χρειάζεστε.
Εάν δεν μπορείτε να βρείτε ένα συγκεκριμένο αρχείο υπηρεσίας, μπορείτε να συνδυάσετε την εντολή systemctl list-unit-files –type=service με την εντολή grep για να χρησιμοποιήσετε ένα φίλτρο. Χρησιμοποιώντας την παρακάτω εντολή, φιλτράρετε τον πίνακα για να βρείτε το αρχείο υπηρεσίας που χρειάζεστε.
systemctl list-unit-files --type=service | grep 'my-service'
Θέλετε να εξαγάγετε όλες τις υπηρεσίες Systemd σε ένα αρχείο κειμένου για να τις διαβάσετε αργότερα; Εκτελέστε την παρακάτω εντολή.
systemctl list-unit-files --type=service > ~/service-files.txt
Μπορείτε να προβάλετε το αρχείο κειμένου ανά πάσα στιγμή με την παρακάτω εντολή cat.
cat ~/service-files.txt
Χρησιμοποιήστε το Systemd για να εμφανίσετε την κατάσταση της μεμονωμένης υπηρεσίας
Αν και είναι χρήσιμο να γνωρίζουμε πώς να αναφέρουμε όλες τις υπηρεσίες Systemd, αυτές που είναι ενεργές και ανενεργές, είναι επίσης χρήσιμο να γνωρίζουμε πώς να αναφέρουμε την κατάσταση των υπηρεσιών ξεχωριστά. Δείτε πώς να το κάνετε.
Αρχικά, ανοίξτε ένα παράθυρο τερματικού. Μόλις ανοίξει το παράθυρο του τερματικού, χρησιμοποιήστε την εντολή systemctl status σε μια συγκεκριμένη υπηρεσία. Για παράδειγμα, για να βρείτε την κατάσταση του “NetworkManager.service”, εκτελείται η ακόλουθη εντολή.
systemctl status NetworkManager
Εάν θέλετε να εξαγάγετε την έξοδο της εντολής κατάστασης σε ένα αρχείο κειμένου για μελλοντική ανάγνωση, μπορείτε να εισαγάγετε την παρακάτω εντολή.
systemctl status MyService > ~/MyService-status.txt
Για να προβάλετε αυτό το αρχείο, εκτελέστε την ακόλουθη εντολή cat.
cat ~/MyService-status.txt