systemctl को पूर्ण गाइड: Linux सेवाहरूको अवस्था जाँच र व्यवस्थापन

目次

1. परिचय

Linux प्रयोग गर्दा, “सेवाको अवस्था जाँच्न चाहन्छु” “सञ्चालित प्रक्रियाहरूको सूची हेर्न चाहन्छु” जस्ता अवस्थाहरू धेरै आउँछन्। यस्तो बेला उपयोगी हुन्छ, systemctl कमान्ड। यो कमान्डले, Linux मा प्रारम्भिक प्रणाली तथा सेवा व्यवस्थापक “systemd” सँग मेल खान्छ, र सेवाहरू (युनिटहरू) को अवस्था जाँच, प्रारम्भ, रोक्ने, पुन:प्रारम्भ, र सूची प्रदर्शन जस्ता व्यापक कार्यहरू सम्हाल्छ। खासगरी “systemctl सूची” को दृष्टिकोणबाट हेर्दा, हाल सक्रिय सेवाहरू मात्र होइन, निष्क्रिय सेवाहरू, स्वचालित प्रारम्भ सेट गरिएकाहरू आदि, विभिन्न कोणबाट समग्र संरचना बुझ्न सम्भव छ। यो अध्यायमा, पहिले “systemctl भनेको के हो” जस्ता आधारभूत भागहरूलाई संक्षिप्त रूपमा व्यवस्थित गर्दै, यो लेखमा के सिक्न सकिन्छ भनेर व्याख्या गर्दै जान्छौं।

systemctl भनेको के हो?

systemctl systemd-आधारित Linux वितरणहरूमा, सेवाहरू, लक्ष्यहरू, माउन्ट बिन्दुहरू आदि विभिन्न “युनिटहरू” लाई नियन्त्रण तथा जाँच गर्नका लागि मानक उपकरण हो। उदाहरणका लागि, Apache (httpd) वा SSH जस्ता सेवाहरूलाई प्रारम्भ वा रोक्न, वा तिनीहरूको अवस्थालाई सूची प्रदर्शन गर्न प्रयोग गरिन्छ।

systemd र systemctl को सम्बन्ध

systemd ले Linux को प्रारम्भ प्रक्रिया र सेवा व्यवस्थापनको मुख्य भूमिका सम्हाल्छ, र पुरानो “SysVinit” वा “Upstart” हरूको स्थान लिन्छ। यस systemd सँग अन्तर्क्रिया गर्नका लागि कमान्ड लाइन उपकरण नै systemctl हो। अर्थात्, systemd लाई कमान्डर ठानेर, systemctl ले त्यस कमान्ड दिने “सञ्चालक” को भूमिका निर्वाह गर्छ।

यो लेखमा सिक्न सकिने कुराहरू

यो लेखमा, निम्न जस्ता प्रश्नहरूको उत्तर पाइन्छ:
  • हाल सञ्चालित सेवाहरूको सूची जाँच्न कसरी गर्ने?
  • निष्क्रिय सेवाहरू समावेश गरेर सूची प्रदर्शन गर्न चाहियो भने?
  • सेवा स्वचालित रूपमा प्रारम्भ हुन्छ कि हुँदैन जाँच्न चाहियो भने?
  • सूची परिणामलाई कसरी पढ्ने?
Linux नयाँ प्रयोगकर्ताहरूलाई पनि बुझ्ने गरी, कमान्डका उदाहरणहरू र आउटपुट परिणामहरू हेर्ने तरिका पनि विस्तृत रूपमा व्याख्या गर्दछौं, त्यसैले अन्त्यसम्म साथ दिनुहोस्।

2. systemctl बाट सेवा सूची प्रदर्शित गर्ने विधि

लिनक्सको प्रणाली व्यवस्थापनमा, सेवाहरूको सूची छिट्टै बुझ्नु अत्यन्त महत्वपूर्ण छ।systemctl कमान्ड प्रयोग गरेमा, हाल सक्रिय सेवाहरू मात्र होइन, निष्क्रिय सेवाहरू, स्वचालित सुरुवातको सेटिङ स्थिति आदि पनि सजिलै जाँच गर्न सकिन्छ। यहाँ, मुख्य रूपमा निम्न ३ दृष्टिकोणबाट सूची प्रदर्शनको विधि व्याख्या गर्दैछौं:
  • सक्रिय सेवाहरूको सूची
  • पूर्ण सेवाहरूको सूची (निष्क्रियहरू समावेश)
  • सेवा युनिट फाइलहरूको सूची (सुरुवात सेटिङ समावेश)

2.1 हाल सक्रिय सेवाहरूको सूची प्रदर्शित गर्ने

पहिले सबैभन्दा आधारभूत प्रयोगको रूपमा, हाल प्रणालीमा “सुरु भइरहेको” सेवाहरू जाँच्न चाहनुहुन्छ भने, निम्न कमान्ड प्रयोग गर्नुहोस्।
systemctl list-units --type=service
यो कमान्ड कार्यान्वयन गर्दा, हाल सक्रिय (=सञ्चालन भइरहेको) सेवाहरूको सूची प्रदर्शित हुन्छ। आउटपुटमा निम्न जस्ता वस्तुहरू समावेश छन्:
वस्तुको नामअर्थ
UNITसेवाको नाम (उदाहरण: ssh.service)
LOADयुनिट फाइल लोड भएको छ कि छैन
ACTIVEसेवा सक्रिय छ कि छैन (उदाहरण: active, inactive, failed)
SUBअधिक विस्तृत अवस्था (उदाहरण: running, exited, dead)
DESCRIPTIONसेवाको सारांश
यो जानकारी प्रयोग गरेर, उदाहरणका लागि “nginx हाल सञ्चालन भइरहेको छ कि छैन” “के सञ्चालन भइरहेको छ” जस्ता स्थिति बुझ्न सकिन्छ।

2.2 निष्क्रिय सेवाहरू पनि समावेश गरेर सूची प्रदर्शित गर्ने

मानक list-units मा, हाल सक्रिय सेवाहरू मात्र प्रदर्शित हुन्छन् भन्ने कुरामा ध्यान दिनुहोस्। निष्क्रिय सेवाहरू पनि समावेश गरेर जाँच्न चाहनुहुन्छ भने, --all विकल्प थप्नुहोस्।
systemctl list-units --type=service --all
यो विकल्प थपेर, “inactive” अवस्थाका सेवाहरू वा, विगतमा एकपटक पनि सुरु नभएका सेवाहरू पनि समावेश गरेर सूचीकरण गर्न सकिन्छ। थप रूपमा साँघुरो बनाउन चाहनुहुन्छ भने, --state= विकल्प प्रयोग गरेर, विशेष अवस्थाहरू मात्र निकाल्न सकिन्छ।
systemctl list-units --type=service --state=inactive
यसबाट, “रोकिएका सेवाहरू मात्र जाँच्न चाहनुहुन्छ” जस्ता आवश्यकताहरूलाई लचिलो रूपमा सामना गर्न सकिन्छ।

2.3 सेवा युनिट फाइलहरूको सूची जाँच्ने

“हाल कस्तो छ” मात्र होइन, “कुन सेवाहरू सक्रिय छन् र सुरुवातमा स्वचालित रूपमा सञ्चालन हुन्छन्” जाँच्न चाहनुहुन्छ भने, निम्न कमान्ड प्रयोग गर्नुहोस्।
systemctl list-unit-files --type=service
यो कमान्डले, सेवाहरूको युनिट फाइल (सेटिङ जानकारी) सूची प्रदर्शित गर्दछ र, तिनीहरूकोसक्रिय/निष्क्रिय अवस्था (enabled/disabled आदि) जाँच्न सकिन्छ।
STATE को मानअर्थ
enabledसुरुवातमा स्वचालित रूपमा सक्रिय हुन्छ
disabledसुरुवातमा सक्रिय हुँदैन, म्यानुअल रूपमा सुरु गर्न आवश्यक
staticअन्य युनिटहरूमा निर्भर रहन्छ, आफैं सक्रिय/निष्क्रिय सेटिङ गर्न सकिँदैन
maskedस्पष्ट रूपमा निष्क्रिय गरिएको छ, सुरुवात नै गर्न सकिँदैन (संरक्षित)
यो सूची जाँचेर, “कुन सेवाहरू सुरुवातमा उठ्छन्” “गल्तीले मास्क गरेको सेवा छ कि छैन” जस्ता प्रणालीको सम्पूर्ण सुरुवात संरचना दृश्यात्मक रूपमा बुझ्न सकिन्छ।

3. systemctl प्रयोग गरेर सेवाहरू व्यवस्थापनका आधारभूत सञ्चालनहरू

systemctl कमान्डले सेवाको अवस्था जाँच्ने मात्र होइन, सुरु गर्ने, रोक्ने, पुनःसुरु गर्ने, सुरु हुँदा सक्रिय वा निष्क्रिय सेटिङ आदि धेरै व्यवस्थापन सञ्चालनहरूलाई समर्थन गर्दछ। यहाँ, लिनक्स प्रणालीको सञ्चालनमा बारम्बार प्रयोग हुने आधारभूत सञ्चालन विधिहरू प्रस्तुत गर्दछौं। दैनिक सर्वर व्यवस्थापन वा समस्या समाधानमा, यी सञ्चालनहरूलाई स्वतन्त्र रूपमा प्रयोग गर्न सक्नु महत्वपूर्ण छ।

३.१ सेवालाई सुरु गर्ने

कुनै विशेष सेवालाई म्यानुअल रूपमा सुरु गर्न, निम्नानुसार start सबकमान्ड प्रयोग गर्नुहोस्।
sudo systemctl start सेवाको नाम
उदाहरणका लागि, Apache (httpd) लाई सुरु गर्न चाहनुहुन्छ भने:
sudo systemctl start httpd.service
यो कमान्डले तुरुन्तै सेवालाई सुरु गर्दछ तर, पुनःसुरु पछि पनि कायम राख्न चाहनुहुन्छ भने, पछि उल्लेखित enable लाई संयोजनमा प्रयोग गर्न आवश्यक छ।

३.२ सेवालाई रोक्ने

सेवालाई रोक्न, निम्न कमान्ड प्रयोग गर्नुहोस्।
sudo systemctl stop सेवाको नाम
उदाहरण:
sudo systemctl stop sshd.service
रोकिएको सेवाले अर्को स्पष्ट रूपमा start नहुँदासम्म सञ्चालन हुँदैन।

३.३ सेवालाई पुनःसुरु गर्ने

सेटिङ परिवर्तन पछि सेवालाई पुनःसुरु गर्न चाहनुहुन्छ भने, निम्न कमान्ड सुविधाजनक छ।
sudo systemctl restart सेवाको नाम
उदाहरण:
sudo systemctl restart nginx.service
पुनःसुरुले वर्तमान अवस्थाबाट असम्बन्धित रूपमा, एकपटक रोक्ने → फेरि सुरु गर्ने कार्य गर्दछ।

३.४ सेवाको अवस्था जाँच्ने

सेवाको विस्तृत अवस्था जाँच्न, status सबकमान्ड प्रयोग गर्नुहोस्।
systemctl status सेवाको नाम
उदाहरण:
systemctl status mysql.service
यो कमान्डले वर्तमान सक्रिय अवस्था, प्रक्रिया आईडी (PID), लगको सारांश आदि देखाउँछ, समस्या निवारणमा विशेष रूपमा उपयोगी हुन्छ।

३.५ सेवाको स्वचालित सुरु लाई सक्रिय गर्ने

सेवालाई पुनःसुरु हुँदा पनि स्वचालित रूपमा सक्रिय गर्न चाहनुहुन्छ भने, enable सबकमान्ड प्रयोग गर्नुहोस्।
sudo systemctl enable सेवाको नाम
उदाहरण:
sudo systemctl enable docker.service
यो सेटिङबाट, अर्को प्रणाली सुरु हुँदा सेवालाई पनि स्वचालित रूपमा सुरु गर्दछ।

३.६ सेवाको स्वचालित सुरु लाई निष्क्रिय गर्ने

स्वचालित सुरुलाई हटाउन चाहनुहुन्छ भने, disable कमान्ड प्रयोग गर्नुहोस्।
sudo systemctl disable सेवाको नाम
उदाहरण:
sudo systemctl disable cups.service
यसबाट, सुरु हुँदा सेवालाई सुरु नगर्ने हुन्छ।

३.७ स्वचालित सुरु को सेटिङ अवस्था जाँच्ने

हाल सो सेवालाई सक्रिय (enabled) हो वा निष्क्रिय (disabled) हो भनेर जाँच्न, निम्नानुसार is-enabled प्रयोग गर्नुहोस्।
systemctl is-enabled सेवाको नाम
आउटपुट उदाहरण:
enabled
यो परिणामबाट, सेवाको सुरु नीतिलाई छिटो बुझ्न सकिन्छ।

4. systemctl का उपयोगी विकल्पहरू र व्यावहारिक तकनीकहरू

systemctl कमान्डले सेवाहरूको सुरुवात वा बन्द गर्ने जस्ता आधारभूत सञ्चालनहरू मात्र होइन, थप उन्नत र उपयोगी व्यवस्थापन कार्यहरू पनि समर्थन गर्दछ। यहाँ, केही व्यावहारिक कार्यहरू र जान्नु उपयोगी विकल्पहरूबारे परिचय गराउँछौं। यी तकनीकहरूलाई प्रयोग गरेर, लिनक्सको सेवा व्यवस्थापनलाई थप कुशल बनाउन सकिन्छ।

4.1 सेवाहरूको निर्भरता सम्बन्धहरूलाई सूचीबद्ध रूपमा देखाउने

लिनक्समा, कुनै सेवा अन्य युनिटहरू (सेवा, माउन्ट, लक्ष्य आदि) मा निर्भर हुने अवस्थाहरू सामान्य छन्। ती निर्भरता सम्बन्धहरू जाँच्नको लागि, निम्नानुसार list-dependencies प्रयोग गर्नुहोस्।
systemctl list-dependencies सेवा नाम
उदाहरण:
systemctl list-dependencies nginx.service
यो कमान्डले निर्दिष्ट सेवासँग सम्बन्धित युनिटहरूलाई पदानुक्रम संरचनामा देखाउँछ। सुरुवात क्रमको जाँच वा कुनै युनिटले अप्रत्यक्ष रूपमा कुन सेवाहरूमा प्रभाव पार्छ भन्ने विश्लेषण गर्नमा उपयोगी हुन्छ।

4.2 युनिट फाइलको सामग्री देखाउने

सेवाको विस्तृत सेटिङ जाँच्न चाहनुहुन्छ भने, प्रत्यक्ष युनिट फाइल (.service फाइल) को सामग्री जाँच्न सकिन्छ।
systemctl cat सेवा नाम
उदाहरण:
systemctl cat ssh.service
यो कमान्डले वास्तवमा लोड भएको युनिट फाइलको पथ र सामग्री देखाउँछ। यो कस्टमाइज गरिएको छ कि छैन, कस्ता सेटिङहरू गरिएका छन् भन्ने छिटो जाँच्न सकिन्छ।

4.3 युनिट फाइललाई पुनःलोड गर्ने

युनिट फाइलमा म्यानुअल रूपमा परिवर्तन गरेपछि, systemctl मा त्यसलाई प्रतिबिम्बित गर्नको लागि, daemon-reload कार्यान्वयन गर्नुहोस्।
sudo systemctl daemon-reexec
वा, थप सामान्य रूपमा:
sudo systemctl daemon-reload
यो सञ्चालनबाट, systemd ले युनिट फाइललाई पुनःपढ्छ र पछि सञ्चालनहरूमा प्रतिबिम्बित हुन्छ। सेटिङ फाइल परिवर्तन गरे पनि प्रतिबिम्बित नभएको महसुस भएमा, पहिले यो कमान्ड प्रयास गर्नु राम्रो हुन्छ।

4.4 युनिटको कार्यान्वयन लग जाँच्ने (सुचिपूर्ति)

यद्यपि, systemctl आफैं होइन, तर सम्बन्धित सेवाको लग जाँच्नको लागि journalctl कमान्ड उपयोगी हुन्छ।
journalctl -u सेवा नाम
उदाहरण:
journalctl -u docker.service
सेवा सुरुवात समयको त्रुटि वा पुनर्सुरुवातको इतिहास जाँच्न सकिन्छ, त्यसैले समस्या निवारणको पहिलो चरणको रूपमा सधैं सम्झनुपर्ने कमान्ड हो।

5. सामान्य समस्याहरू र तिनका समाधान विधिहरू

systemctl प्रयोग गरेर सेवाहरू व्यवस्थापन गर्दा, अपेक्षित रूपमा काम नगर्ने वा त्रुटि सन्देश देखाउने जस्ता अवस्थाहरू आउन सक्छन्। यो अध्यायमा, सामान्य समस्याहरू र तिनका समाधान विधिहरू सरल रूपमा व्याख्या गरिन्छ। 「सेवा सुरु हुँदैन」「स्थिति जाँच गर्दा कारण थाहा हुँदैन」 जस्ता अवस्थामा घबराहट नगरी सम्बोधन गर्न सकून् भनेर, न्यूनतम बुँदाहरू प्रस्तुत गरिन्छ।

५.१ सेवाहरू सुरु नहुने अवस्थामा जाँचका बुँदाहरू

सेवा सुरु गर्न खोज्दा, निम्न जस्ता त्रुटिहरू देखिन सक्छन्:
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
यस्तो अवस्थामा, निम्न क्रममा जाँच गर्दा कारण सजिलै पहिचान गर्न सकिन्छ:
  1. स्थिति जाँच
   systemctl status サービス名
  1. त्रुटि लगको जाँच
   journalctl -xe
  1. युनिट फाइलको पुनः लोड युनिट फाइल परिवर्तन गरेपछि, निम्नानुसार पुनः लोड गर्नुहोस्।
   sudo systemctl daemon-reload
  1. पोर्ट द्वन्द्वको जाँच पहिले नै अर्को प्रक्रियाले त्यही पोर्ट प्रयोग नगरेको जाँच गर्न सकिन्छ।
   sudo netstat -tulnp | grep ポート番号

५.२ status कमान्डमा त्रुटि सन्देशहरू पढ्ने तरिका

systemctl status कार्यान्वयन गर्दा, सेवाको अवस्था मात्र होइन, अन्तिममा उत्पादित लग सन्देशहरू पनि देखाइन्छ। उदाहरणका लागि:
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Fri 2025-04-18 12:00:00 JST; 5s ago
  Process: 12345 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
यसरी, «Active: failed» «status=1/FAILURE» जस्ता उल्लेखहरूबाट, सेवाले असफल भएको र कुन प्रक्रियाले त्रुटि फर्काएको एक नजरमा थाहा हुन्छ। यसैगरी, Loaded लाइनबाट युनिट फाइलको पथ पनि जाँच गर्न सकिन्छ, त्यसैले फाइल सम्पादनको लक्ष्य पनि तुरुन्तै पहिचान गर्न सकिन्छ।

५.३ सेवाहरू आफैं रोक्ने अवस्था

सेवा एकपटक सुरु भए पनि, चाँडै नै बन्द हुने अवस्थामा, मुख्य रूपमा निम्न कारणहरू हुन सक्छन्:
  • कन्फिगरेसन फाइलको गल्ती
  • पोर्टको द्वन्द्व
  • आवश्यक फाइल वा डाइरेक्टरीको अभाव
  • कार्यान्वयन अनुमतिका कमी
यस्ता केसहरूमा, निम्न जस्ता सम्बोधनहरू प्रभावकारी हुन्छन्:
  • कन्फिगरेसन फाइल पुनः जाँच गर्नुहोस्, nginx -t वा apachectl configtest जस्ता उपकरणहरूबाट प्रमाणीकरण गर्नुहोस्
  • journalctl -u サービス名 बाट विस्तृत लगहरू ट्र्याक गर्नुहोस्
  • आवश्यक डाइरेक्टरीहरू (उदाहरण: /var/run/xxx) विद्यमान छन् कि जाँच गर्नुहोस्, छैनन् भने सिर्जना गर्नुहोस्

५.४ masked अवस्थामा सुरु नहुने अवस्था

systemctl start कार्यान्वयन गर्दा, निम्न जस्ता त्रुटिहरू देखिने अवस्था:
Failed to start example.service: Unit example.service is masked.
यो, सेवा masked अवस्थामा (पूर्ण रूपमा अक्षम अवस्था) छ र सुरु हुन रोक्ने भएकोले हो। यसलाई हटाउन, निम्नानुसार unmask कार्यान्वयन गर्नुहोस्।
sudo systemctl unmask サービス名
त्यसपछि, start बाट सुरु गर्न सकिन्छ।

6. सारांश

Linux मा सेवाहरूको व्यवस्थापन दैनिक प्रणाली सञ्चालनको लागि अपरिहार्य कार्यहरू मध्ये एक हो। यसको केन्द्रीय भूमिका systemctl कमान्डले निर्वाह गर्दछ, जसले “सूची प्रदर्शन” वा “सेवाहरूको सञ्चालन” मार्फत प्रणालीको समग्र अवस्थालाई बुझ्न र नियन्त्रण गर्न सक्छ। यो लेखमा, “systemctl सूची” लाई कुञ्जी शब्द बनाएर, निम्न बुँदाहरूलाई विस्तृत रूपमा व्याख्या गरिएको छ:

systemctl कमान्डले गर्न सकिने कुराहरू (पुनरावलोकन)

  • सेवा सूचीको जाँच
  • हाल सक्रिय सेवाहरूको प्रदर्शन (list-units --type=service)
  • निष्क्रिय सेवाहरू समावेश सूची (--all वा --state= विकल्पहरू)
  • सेवा युनिट फाइलहरूको सूची र सुरुवात सेटिङ (list-unit-files)
  • सेवा सञ्चालनको आधारभूत
  • सुरुवात–रोकावट–पुनर्सुरुवात–अवस्था जाँच (start / stop / restart / status)
  • स्वचालित सुरुवातको सेटिङ (enable / disable / is-enabled)
  • प्रयोगात्मक सञ्चालन र समस्या समाधान
  • निर्भरता जाँच, युनिट फाइलहरूको प्रदर्शन, सेटिङको पुन:लोड
  • त्रुटि समयमा लग जाँच र अवस्था जाँचद्वारा कारण अनुसन्धान

सेवा व्यवस्थापनको उत्कृष्ट अभ्यास

  • सञ्चालन गर्नुअघि अवस्था जाँच गर्नुहोस् (सधैं status हेर्नुहोस्)
  • स्वचालित सुरुवातको उपस्थिति बुझ्नुहोस् (is-enabled ले जाँच गर्नुहोस्)
  • सेटिङ परिवर्तन पछि सधैं daemon-reload कार्यान्वयन गर्नुहोस्
  • समस्या समयमा journalctl ले लग जाँच गर्नुहोस्
Linux को सञ्चालनमा, यस्ता आधारभूत जाँच कार्यहरूको संचयले स्थिर सेवा प्रदान वा समस्या सम्बोधनको गतिमा वृद्धि गर्दछ।

थप सिकाइ तर्फ

यदि यो लेख पढेर “थप गहिरिएर सिक्न चाहन्छु” महसुस गर्नुभयो भने, निम्न जस्ता विषयहरूमा पनि अघि बढ्नु राम्रो हुनेछ:
  • systemd को लक्ष्यहरू (runlevel सँगको भिन्नता)
  • टाइमर (systemd-timer) द्वारा नियमित कार्यान्वयनको सेटिङ
  • कस्टम युनिट फाइलहरूको निर्माण र स्थान विधि

7. Frequently Asked Questions (FAQ)

Here, we have compiled questions and answers frequently received from readers regarding the systemctl command and service lists. Even those accustomed to basic operations should refer to this for confirmation.

Q1. What is the difference between the systemctl and service commands?

A1. systemctl is a systemd-based service management command and is adopted as the standard in many modern Linux distributions (Ubuntu, CentOS, Fedora, etc.). On the other hand, service is a command used in the legacy SysVinit system. It may remain for compatibility reasons, but in systemd environments, using systemctl is recommended.

Q2. What is the difference between list-units and list-unit-files?

A2.
  • list-units displays currently loaded units (= units that are running or have been used in the past).
  • list-unit-files lists all unit files and their enablement status (enabled / disabled, etc.). In other words, it’s like distinguishing between “what is running now” and “how it is configured”.

Q3. Can services in static state be started?

A3. Yes, services in static state can also be started manually with start. However, they cannot be automatically executed at startup by using enable. This is because static services are designed to start depending on other units.

Q4. I can’t start a masked service. What should I do?

A4. The masked state is a “completely disabled” state where starting is blocked. First, unmask it with the following command:
sudo systemctl unmask service-name
After that, you can start it with start.

Q5. Is there a way to list service statuses in the GUI?

A5. Depending on the distribution, tools like gnome-system-monitor, KSysGuard, or Cockpit allow checking service statuses from the GUI. However, for advanced operations like enabling/disabling services, using systemctl is the most reliable.

Q6. I want to create my own unit file, but where should I place it?

A6. Generally, place it in /etc/systemd/system/. After editing, be sure to execute the following:
sudo systemctl daemon-reload
After that, you can manage it as usual with start or enable.