सवाल Systemd सेवाओं को कैसे हटाएं


अगर मैं एक नई सेवा स्थापित करता हूं तो फैसला करें कि मैं अब उस एप्लिकेशन को नहीं चाहता हूं और इसे हटा दूंगा, सेवा अभी भी आउटपुट में सूचीबद्ध है systemctl जैसा त्रुटि

यह कहां से आ रहा है और मैं उन्हें पूरी तरह से कैसे हटा सकता हूं?


110
2017-12-01 02:23


मूल




जवाब:


सेवा विस्मरण के लिए मेरा नुस्खा (सावधान रहें rm बयान!)

systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] symlinks that might be related
systemctl daemon-reload
systemctl reset-failed

यह संभव है कि systemd सेवा /etc/init.d में पुरानी स्टाइल स्क्रिप्ट को 'लपेटें', ताकि आप इसे भी साफ़ कर सकें, लेकिन वह है नहीं जहां systemd सेवाएं रहते हैं।


183
2017-07-06 16:46



ध्यान रखें कि ऐसे कई स्थान हैं जहां Systemd इकाई फ़ाइलों को संग्रहीत किया जाता है, विशेष रूप से /usr/lib/systemd/system और भी /etc/systemd/system/। संदर्भ के लिए देखें: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/... - Mark Edington
मुझे भी हटाना पड़ा /etc/init.d/[servicename] दौड़ने से पहले systemctl reset-failed - Andrea Romagnoli
ठीक है, मैं इकाई फ़ाइलों को हटाने से पहले अक्षम करना भूल गया। बीटीडब्लू, सभी इकाई फ़ाइलों को हटाने के लिए, मैं आउटपुट का निरीक्षण करता हूं systemctl cat [servicename]। - Amir
यह /etc/init.d/ में एक "लपेटा" पुरानी स्टाइल स्क्रिप्ट हो सकती है, लेकिन यदि आप इसे नहीं हटाते हैं तो आप इसे अपने हटाने से छोड़ी गई सेवाओं के तहत अभी भी दिखाएंगे। मैं आपको बता सकता हूं कि मेरे लिए मामला था। आप इसे अपने उत्तर में आसानी से जोड़ने के लिए जोड़ सकते हैं लेकिन उम्मीद है कि अगले व्यक्ति को इसकी आवश्यकता होगी टिप्पणियों को देखेंगे। - Marlon
यह काम करता है, धन्यवाद, लेकिन मुझे यकीन नहीं है कि मुझे इस कचरे को मैन्युअल रूप से साफ करने के लिए क्यों बनाया गया है। - Rolf


लगता है जैसे आपने इसे अनइंस्टॉल किया, लेकिन systemd हुक को नहीं हटाया:

# systemctl disable [servicename]


23
2017-12-01 05:39





आप शायद खोज रहे हैं reset-failed:

$ sudo systemctl reset-failed
$

व्यवस्थित मैन पेज से:

reset-failed [PATTERN...]

निर्दिष्ट इकाइयों की "विफल" स्थिति को रीसेट करें, या यदि कोई इकाई नाम नहीं है              पारित किया गया है, सभी इकाइयों की स्थिति को रीसेट करें। जब एक इकाई कुछ में विफल रहता है              रास्ता (यानी गैर-शून्य त्रुटि कोड से समाप्त होने वाली प्रक्रिया समाप्त हो रही है              असामान्य रूप से या समय समाप्त), यह स्वचालित रूप से "विफल" में प्रवेश करेगा              राज्य और इसके निकास कोड और स्थिति आत्मनिरीक्षण के लिए दर्ज की गई है              व्यवस्थापक जब तक सेवा को पुनरारंभ नहीं किया जाता है या इसके साथ रीसेट नहीं किया जाता है              आदेश।


17
2018-04-13 09:41



सवाल यह नहीं है कि सवाल बिल्कुल पूछ रहा है। पृथ्वी पर क्यों 17 बार उखाड़ फेंक दिया गया है? - psusi


में जोड़ना @ मार्क-lakataजवाब और ध्यान के लिए आवश्यक ध्यान में ध्यान में रखते हुए rm आदेश। [chkconfig] प्रक्रिया को सरल बना सकते हैं! (chkconfig के बारे में पढ़ने के लिए यहां क्लिक करें)

आदेशों की सूची दोबारा पुन: पुन: पुन: पुन:

  1. systemctl stop [servicename]
  2. chkconfig [servicename] off
  3. systemctl daemon-reload
  4. systemctl reset-failed

ध्यान दें: पहला आदेश वैकल्पिक है कि आप मौजूदा सत्र में सेवा को चालू रखना चाहते हैं या नहीं (जैसा कि इस प्रश्न के लिए कमांड का उपयोग किया जाना चाहिए)।

दूसरा आदेश सेवा को अक्षम करने और हटाने (सिम्लिंक के बाद) दोनों का ख्याल रखता है।


4
2017-07-29 12:48



chkconfig SysVinit सेवाओं को सक्षम / अक्षम करने के लिए मूल आदेश था। सिस्टम का उपयोग कर systemd, यह पिछड़ा संगतता आदेश के रूप में उपस्थित हो सकता है; लेकिन मूल systemctl आदेश उतना आसान है: systemctl disable [servicename] - telcoM
ठीक है, लेकिन इस आदेश का उपयोग करने के लिए मेरा कारण है, तो आपको स्पष्ट रूप से आरएम कमांड चलाने की आवश्यकता नहीं है - garlicFrancium


Systemd से एक सेवा को हटा रहा है:

यूनिट को निकालने के लिए सिस्टम को निकालने के लिए सिस्टमड यूनिट (सेवाओं को परिभाषित करने के लिए फ़ाइल) का उपयोग करता है ... यहां यूनिट स्थानों की एक सूची है:

/etc/systemd/system/ (and sub directories)
~/.config/systemd/user/ (and sub directories)
/usr/lib/systemd/ (and sub directories)
/etc/init.d/ (Converted old service system)

सिस्टम रीफ्रेश करें:

systemctl daemon-reload
systemctl reset-failed

भूत सेवाएं (नहीं मिली):

सिस्टमडी कई कारणों से यूनिट हटा दिए जाने पर भी भूत (नहीं मिला) सेवाओं को सूचीबद्ध कर सकता है

  1. यूनिट अभी भी systemd निर्देशिका में से एक पर मौजूद है
  2. इकाई बाहर नहीं निकलती है लेकिन एक फ़ाइल लिंक अभी भी systemd निर्देशिका में से एक पर मौजूद है
  3. सेवा अन्य इकाइयों में उपयोग की जाती है *

(*) यदि किसी अन्य इकाई में एक सेवा का उल्लेख किया गया है लेकिन सिस्टम में मौजूद नहीं है, तब भी उस सेवा को उस राज्य के साथ सूचीबद्ध किया जाएगा जो यूनिट फ़ाइल नहीं है, भले ही पाया गया हो ... आप खोज सकते हैं कि कौन सी यूनिट उस सेवा का उपयोग टेक्स्ट खोज के साथ कर रही है और उन इकाइयों को संपादित करें (यदि आप बाद में उस सेवा को स्थापित करने की योजना बनाते हैं तो अनुशंसित नहीं)


0
2017-11-07 15:31