जहाँ तक मुझे पता है, systemd इससे विशेष रूप से अच्छी तरह से नहीं निपटेगा। जैसा कि मैंने इसे समझा, आप के व्यवहार को ओवरराइड करना चाहते हैं sshd.service
, है ना?
सौभाग्य से आपके लिए, सिस्टमड को इस तरह की चीज़ के लिए डिज़ाइन किया गया है। बस अपनी सेवा की परिभाषा को रखें /etc/systemd/system/ssh.service
, systemctl daemon-reload
इकाई फ़ाइलों को पुनः लोड करने के लिए निष्पादित करें, और सिस्टमड सिस्टम के बजाय स्वचालित रूप से उस कॉन्फ़िगरेशन का उपयोग करेगा ssh.service
।
systemctl enable mysshd.service
काम करना चाहते हैं , भी? कोई दिक्कत नहीं है। [Install]
अपनी इकाई फ़ाइल के अनुभाग में, एक पंक्ति जोड़ें जो कहती है Alias=mysshd.service
। तब systemctl reenable ssh.service
सिस्टम सिम्बलिंक को ठीक करने के लिए निष्पादित करें, और आप सुनहरे हैं।
अब, आपने यह विवरण नहीं दिया mysshd.service
है कि क्या करना चाहिए। अगर यह सामान्य से पूरी तरह से अलग है ssh.service
, महान! उपरोक्त विधि का प्रयोग करें। हालाँकि, यदि आप केवल एक छोटी सी चीज को बदलना चाहते हैं, तो आप गलत दृष्टिकोण का उपयोग कर रहे हैं। systemd आपको यूनिट फाइलों के "स्निपेट्स" बनाने की अनुमति देता है जो सामान्य यूनिट फाइलों के शीर्ष पर लागू होंगे। यह आपको पैकेज प्रबंधक से अपडेट प्राप्त करने के लिए बाकी यूनिट की अनुमति देते समय व्यक्तिगत निर्देशों को जोड़ने या ओवरराइड करने देता है। ऐसा करने के लिए, बस बनाएं /etc/systemd/system/ssh.d/my-custom-config.conf
(आप my-custom-config.conf
जो चाहें बदल सकते हैं, और आपके पास कई ओवरराइड फ़ाइलें भी हो सकती हैं)। उस फ़ाइल में, जो भी निर्देश आप बदलना चाहते हैं या सामान्य रूप से जोड़ दें ssh.service
। तुम भी Alias=
निर्देश जोड़ सकते हैं , ताकि systemctl start mysshd.service
काम करता है! बस अमल करना याद रखेंsystemctl daemon-reload
के बाद आप कर रहे हैं (और, अगर आप का इस्तेमाल किया Alias=
, systemctl reenable ssh.service
)।
एक तरफ के रूप में, कभी नहीं, कभी में systemd इकाई फ़ाइलों को बदलें /usr/lib/systemd
। कभी! फ़ाइलसिस्टम पदानुक्रम मानक की आवश्यकता होती है जिसे /usr
केवल-पढ़ने के लिए माना जाता है। व्यवहार में, इसका मतलब है कि पैकेज प्रबंधक संभालता है /usr
(को छोड़कर /usr/local
), और आप स्पर्श नहीं करते हैं कि पैकेज प्रबंधक क्या संभालता है - विशेष रूप से क्योंकि आप जो भी बदलते हैं वह संभवतः ओवरराइट हो जाएगा। इसके बजाय, अपना सामान कहीं और रखें /etc
।