Για να διαγράψετε τα αρχεία υπηρεσίας, είναι σημαντικό να κατανοήσετε το σύνολο των καταλόγων που περιέχουν τα αρχεία υπηρεσίας.
Τα αρχεία υπηρεσίας συνήθως αποθηκεύονται σε πολλούς συγκεκριμένους καταλόγους, ανάλογα με τον σκοπό τους και το ποιος τα εγκατέστησε. Μια λίστα καταλόγων δίνεται παρακάτω.
/lib/systemd/system | Αρχεία σέρβις από τα ληφθέντα πακέτα |
/etc/systemd/system | Αρχεία υπηρεσίας από τον διαχειριστή συστήματος |
~/.config/systemd/users | Αρχεία υπηρεσιών από κανονικούς χρήστες |
Έτσι, εάν γίνει λήψη ενός πακέτου και παρέχει δαίμονα και υπηρεσίες, τότε αυτά τα αρχεία θα αποθηκευτούν στο /lib/systemd/system Ευρετήριο. ο /etc/systemd/system κατάλογος περιέχει αρχεία υπηρεσίας που έχουν δημιουργηθεί από διαχειριστές συστήματος και μόνο οι χρήστες sudo μπορούν να τα τροποποιήσουν. Ενώ ~/.config/systemd/users κατάλογος περιέχει αρχεία υπηρεσίας που έχουν δημιουργηθεί από κανονικούς χρήστες.
Πώς να αποκτήσετε πρόσβαση στο αρχείο υπηρεσίας
Το πρώτο βήμα για τη διαγραφή ενός αρχείου υπηρεσίας είναι να βρείτε την ακριβή διαδρομή του. Για να βρείτε το μονοπάτι, χρησιμοποιήστε το κατάσταση systemctl εντολή με το όνομα της υπηρεσίας.
κατάσταση systemctl [ ΟΝΟΜΑ ΥΠΗΡΕΣΙΑΣ ]Για να βρείτε το όνομα της υπηρεσίας, μπορείτε να παραθέσετε όλες τις υπηρεσίες που εκτελούνται.
systemctl list-unit-αρχεία --τύπος =υπηρεσία --κατάσταση =τρέξιμοΕάν θέλετε να καταχωρίσετε όλες τις υπηρεσίες, χρησιμοποιήστε την εντολή systemctl με -τύπος και -κατάσταση επιλογές.
systemctl list-unit-αρχείαΓια παράδειγμα, για να βρείτε τη διαδρομή μονάδας του υπηρεσία μου.υπηρεσία , θα εκτελέσω την εντολή status.
systemctl status myservice.serviceΗ έξοδος δείχνει τη διαδρομή του αρχείου μονάδας στο Φορτωμένος Ενότητα.
Τώρα που έχουμε αποκτήσει τη διαδρομή της υπηρεσίας, θα προχωρήσουμε στη διαγραφή της στο επόμενο βήμα.
Προειδοποίηση: Πριν διαγράψετε τα αρχεία υπηρεσίας από το σύστημα, είναι σημαντικό να έχετε πλήρη κατανόηση των αρχείων υπηρεσίας συστήματος και τη σημασία τους για το σύστημα. Η διαγραφή ενός σημαντικού αρχείου υπηρεσίας από το σύστημα μπορεί να προκαλέσει μη αναστρέψιμη βλάβη.
Πώς να διαγράψετε το αρχείο υπηρεσίας
Για να διαγράψετε την υπηρεσία στο Linux, το systemctl και rm θα χρησιμοποιηθούν βοηθητικά προγράμματα της γραμμής εντολών. Χρησιμοποιήστε το systemctl για να διακόψετε και να απενεργοποιήσετε την υπηρεσία και, στη συνέχεια, χρησιμοποιήστε το rm για να αφαιρέσετε τα αρχεία υπηρεσίας από τον αντίστοιχο κατάλογο.
Για να διαγράψετε το αρχείο υπηρεσίας, ακολουθήστε τη σειρά εντολών που δίνεται παρακάτω.
sudo systemctl διακοπή SERVICE-NAMEsudo systemctl απενεργοποιήστε το SERVICE-NAME
sudo rm / lib / systemd / Σύστημα / ΟΝΟΜΑ ΥΠΗΡΕΣΙΑΣ #Υπηρεσία από το ληφθέν πακέτο
sudo rm / και τα λοιπά / systemd / Σύστημα / ΟΝΟΜΑ ΥΠΗΡΕΣΙΑΣ #Εξυπηρέτηση από τον διαχειριστή
sudo rm ~ / .config / systemd / χρήστες / ΟΝΟΜΑ ΥΠΗΡΕΣΙΑΣ #Εξυπηρέτηση από τον κανονικό χρήστη
sudo systemctl daemon-reload
sudo systemctl επαναφορά-αποτυχία
Πρώτον, συνιστάται η διακοπή της υπηρεσίας για να διασφαλιστεί ότι δεν εκτελείται κατά την αφαίρεση, αν και η απενεργοποίησή της θα αποτρέψει επίσης την εκ νέου εκκίνησή της. Στη συνέχεια, πρέπει να απενεργοποιηθεί, γεγονός που εμποδίζει την αυτόματη εκκίνηση της υπηρεσίας. Η απενεργοποίηση της υπηρεσίας καταργεί επίσης τους συμβολικούς συνδέσμους που δημιουργούνται στο .θέλει/ ή . απαιτεί/ καταλόγους. Μετά από αυτό, αφαιρέστε τα αρχεία υπηρεσίας χρησιμοποιώντας το rm εντολή από τον αντίστοιχο κατάλογο.
Φορτώστε ξανά τις διαμορφώσεις systemd χρησιμοποιώντας daemon-reload και την εκτέλεση επαναφορά-αποτυχία εντολή. Η εντολή reset-failed επαναφέρει όλες τις υπηρεσίες με αποτυχημένη κατάσταση.
Παράδειγμα
Σε αυτό το παράδειγμα, ας διαγράψουμε μια υπηρεσία που δημιουργήθηκε από έναν διαχειριστή συστήματος. Το όνομα της υπηρεσίας είναι υπηρεσία μου.υπηρεσία και τοποθετείται στο /etc/systemd/system Ευρετήριο.
Ελέγξτε την κατάσταση της υπηρεσίας.
systemctl status myservice.service
Η υπηρεσία λειτουργεί. σημειώστε το μονοπάτι έναντι του Φορτωμένος τμήμα και καθιστώ ανίκανο η υπηρεσία.
sudo systemctl απενεργοποιήστε το myservice.service
Θα αφαιρέσει επίσης τον συμβολικό σύνδεσμο από το /etc/systemd/system Ευρετήριο.
Στη συνέχεια, αφαιρέστε το αρχείο υπηρεσίας χρησιμοποιώντας το rm διαδρομή αρχείου εντολών και υπηρεσίας.
sudo rm / και τα λοιπά / systemd / Σύστημα / υπηρεσία μου.υπηρεσίαΤώρα, φορτώστε ξανά τη διαμόρφωση systemd για να εφαρμόσετε τις αλλαγές.
systemctl daemon-reloadΑυτό είναι! Η υπηρεσία καταργήθηκε και δεν είναι πλέον στο σύστημά σας. Επαληθεύστε το ελέγχοντας την κατάσταση της υπηρεσίας.
συμπέρασμα
Η διαγραφή μιας υπηρεσίας γίνεται υποχρεωτική εάν εκτελείται, ακόμα κι αν δεν είναι πλέον απαραίτητη. Μπορεί να καταναλώσει πόρους του συστήματος εάν αφεθεί χωρίς επίβλεψη. Σε αυτόν τον οδηγό, κάλυψα μια πλήρη μέθοδο διαγραφής μιας υπηρεσίας από το Linux. Πρώτα, προσδιορίστε το όνομα και τη διαδρομή της υπηρεσίας και, στη συνέχεια, απενεργοποιήστε την. Μετά από αυτό, αφαιρέστε το αρχείο υπηρεσίας από τον αντίστοιχο κατάλογο και φορτώστε ξανά τις διαμορφώσεις systemd για να ολοκληρώσετε τη διαδικασία.