systemctl, अनमास्क कैसे करें


27
root@gcomputer:~# systemctl status x11-common
● x11-common.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

मैंने कोशिश की systemctl unmask x11-commonऔर systemctl unmask x11-common.serviceलेकिन कुछ भी नहीं बदला।

मैं इसे कैसे अनमस्क करूं?

जवाबों:


35

आपके द्वारा उपयोग किए जा रहे आदेश दोनों सही हैंमैनुअल भी देखें ।

ऐसा लगता है कि unmaskकमांड तब विफल होता है जब सिस्टम में सिम्क्लिन के अलावा कोई मौजूदा यूनिट फाइल नहीं होती है /dev/null। यदि आप maskएक सेवा है, तो है कि एक नए सिमलिंक के लिए बनाता /dev/nullमें /etc/systemd/systemजहां बूट पर लोड करने के लिए इकाई फ़ाइलों के लिए systemd दिखता है। इस स्थिति में, कोई वास्तविक इकाई फ़ाइल नहीं है।

दूसरों को इसी तरह के मुद्दे लगते हैं

x11-common.serviceमेरे सिस्टम पर भी मास्क लगाया गया था। आप इसे इस तरह से ठीक कर सकते हैं:

पहले जाँच लें कि इकाई फ़ाइल किस के लिए एक सिमलिंक है /dev/null

file /lib/systemd/system/x11-common.service

इसे वापस करना चाहिए:

/lib/systemd/system/x11-common.service: symbolic link to /dev/null

किस स्थिति में, इसे हटाएं

sudo rm /lib/systemd/system/x11-common.service

चूंकि आपने एक यूनिट फ़ाइल बदल दी है, इसलिए आपको इसे चलाने की आवश्यकता है:

sudo systemctl daemon-reload

अब स्थिति जांचें:

systemctl status x11-common

यदि यह लोड और रनिंग नहीं कहता है (यदि सर्कल अभी भी लाल है), तो पैकेज को फिर से स्थापित करें:

sudo apt-get install --reinstall x11-common

और डेमॉन को फिर से लोड करें

sudo systemctl daemon-reload

और एक बार और स्थिति की जाँच करें

systemctl status x11-common

अब यह हरा है और चल रहा है :) सेवा में कोई सिस्टमड यूनिट फ़ाइल नहीं है, लेकिन सिस्टमड /etc/init.dइसके बजाय स्क्रिप्ट के लिए खुशी से उपयोग करता है ।


ठीक है, अनुवर्ती सवाल: यदि यह आपके सिस्टम पर भी मुखौटा था, तो यह सेवा किस लिए है? ऐसा लगता है कि यह वास्तव में जरूरत नहीं है अगर यह हम दोनों के लिए नकाबपोश है।
अल्बर्ट

@Albert [यहां देखें।] ( askubuntu.com/questions/712276/… ) लगता है कि सर्विस सिस्टम बिना यूनिट फ़ाइल के काम करता है (इसमें फ़ाइल /etc/init/... आप एक नया प्रश्न पूछना चाहते हैं। मैंने क्या कोई स्पष्ट अंतर नहीं किया, केवल लोडेड नकाबपोश मृत (लाल) के बजाय लोड, सक्षम, बंद (यह स्टार्टअप पर सक्रिय है) (हरा) के रूप में सेवा दिखाता है। मुझे अपने लॉग्स पढ़ने चाहिए ...
ज़ाना

अगर systemd के लिए कोई अपडेट आता है, तो यूनिट फ़ाइल को फिर से इंस्टॉल किया जाता है, इसलिए यह वास्तव में एक संरचनात्मक समाधान नहीं है
hbogert

@hbogert क्या होता है, भले ही सिम्कलिन के अलावा कोई इकाई फ़ाइल नहीं थी /dev/null? हालांकि आप मेरे जवाब के बारे में सही हैं। मैं इस समाधान एक के लिए एक समाधान कहेंगे ... व्यवहार भ्रमित ... systemd की
Zanna

क्या आप इस मामले में सटीक फ़ाइलों के संदर्भ में अपना पहला वाक्य बता सकते हैं (क्योंकि मैं वास्तव में आपके वर्णन के परिदृश्य को नहीं समझता हूं)?
hbogert

2

यह आपकी सेवा के लिए एक खाली ओवरराइड फ़ाइल हो सकती है, जैसे:

● redis-server.service - उन्नत की-वैल्यू स्टोर .service.d slimit.conf

जांचें कि क्या limit.conf एक खाली फाइल है। यदि यह है, तो कृपया इसे हटा दें। फिर सेवा को अनमास्क किया जाना चाहिए।


0

नीचे दिए गए चरणों का पालन करें:

  1. systemctl edit systemd-hostnamed

    नीचे दी गई 2 पंक्तियों को जोड़ें, फिर संपादक से बाहर निकलें (संकेत दिए जाने पर सहेजना न भूलें):

    [Service]
    PrivateNetwork=no
    
  2. यह निर्देशिका में उपरोक्त 2 पंक्तियों के साथ एक ओवरराइड.कॉन्फ़ फ़ाइल बनाएगा:

    /etc/systemd/system/systemd-hostnamed.service.d/
    
  3. अद्यतन प्रणाली:

    systemctl daemon-reload
    
  4. फिर सेवा को फिर से शुरू करें:

    systemctl restart systemd-hostnamed
    

अब आपको hostnamectlइसे लटकाए बिना चलाने में सक्षम होना चाहिए ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.