स्टार्टअप पर कमांड चलाना


जवाबों:


7

आदेश पर निर्भर करता है। सबसे सामान्य मामलों के लिए, आपको कमांड की आवश्यकता नहीं है।

  • यदि आप एक sysctl (एक फ़ाइल में /proc/sys) को समायोजित करना चाहते हैं , तो उन्हें /etc/sysctl.d/*.conf(आमतौर पर 99-sysctl.confया 99-local.conf; मैनुअल पेज ) में कॉन्फ़िगर किया जा सकता है :

    kernel.sysrq = 1
    kernel.pid_max = 4194304
    
  • यदि यह एक मॉड्यूल पैरामीटर के तहत है /sys/modules, तो इसे तब सेट किया जाना चाहिए जब मॉड्यूल पहले लोड हो, /etc/modprobe.d/*.conf(आम तौर पर modprobe.conf, मैनुअल पेज देखें):

    options kafs rootcell=stacken.kth.se
    
  • यदि आप डिवाइस पैरामीटर में लिखना चाहते हैं /sys, या यदि आप डिवाइस की सेटिंग्स को बदलने के लिए कोई प्रोग्राम चलाना चाहते हैं, तो एक udev नियम लिखें जो डिवाइस को प्लग इन करने और इसे डालने पर ऐसा करेगा /etc/udev/rules.d/*.rules। मैनुअल पेज है udev(7), और आपको udevadm infoसही डिवाइस से मिलान करने की कोशिश करते समय उपयोगी मिलेगा ।

    ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*", \
        RUN+="/usr/bin/ethtool -s %k wol d"
    
    # This rule checks if a device has an attribute in its /sys subdir:
    ACTION=="add", \
        SUBSYSTEM=="scsi_host", \
        TEST=="link_power_management_policy", \
        ATTR{link_power_management_policy}="medium_power"
    
  • यदि आप कहीं और फ़ाइल लिखना चाहते हैं, या फ़ाइल या निर्देशिका बनाना चाहते हैं, तो उपयोग करें /etc/tmpfiles.d( मैनुअल पेज )।

  • यदि आप किसी मॉड्यूल को लोड करना चाहते हैं , तो उसका नाम एक फ़ाइल /etc/modules-load.d/*.conf( मैनुअल पेज ) में डालें ।

  • अंत में, यदि आप एक सामान्य कमांड चलाना चाहते हैं या डेमॉन शुरू करना चाहते हैं, तो एक .serviceयूनिट फ़ाइल ( कई मैनुअल पेजों में से एक ) लिखें । इसे अंदर रखें /etc/systemd/system/*.serviceऔर कई उदाहरणों का उपयोग करें /lib/systemd/system। इसके माध्यम से प्रबंधित किया जाएगा systemctl

    ध्यान देने योग्य कुछ बातें: Type=पैरामीटर को सही ( simpleबनाम forkingबनाम oneshot) सेट करना पड़ता है , और ExecStart=पैरामीटर के लिए एक साधारण कमांड लाइन की आवश्यकता होती है और शेल-जैसे सिंटैक्स (नहीं >, नहीं &&, नहीं $(...)और इतने पर, केवल सरल $ENVVARऔर %x) को स्वीकार नहीं किया जाता है ।

    एक विशिष्ट डिवाइस के उपयोग के बाद सेवाओं को ऑर्डर करना संभव है, (उदाहरण के लिए )।After=name.deviceAfter=sys-subsystem-net-devices-%i.device

दोनों #archlinux और #systemd पर अपने आईआरसी चैनल है freenode नेटवर्क।


यह एक डेमॉन है जिसे मैं चलाना चाहता हूं, मैंने एक सेवा फ़ाइल बनाने का प्रयास किया, लेकिन ऐसा लगता है कि यह लटका हुआ है या कुछ और कभी भी कमांड नहीं चलाएगा लेकिन अगर मैंने इसे मैन्युअल रूप से चलाया तो यह काम किया। विस्तृत प्रतिक्रिया के लिए धन्यवाद।
जॉर्डन डॉयल

@ जोर्डनडॉयल: आपको यह ब्लॉग पोस्ट उपयोगी लग सकता है। में Type=पैरामीटर पर भी ध्यान दें systemd.service(5)। इसके अलावा आर्क के आईआरसी चैनल या मंचों से पूछने की कोशिश करें, क्योंकि सिस्टम यूनिट केवल rc.d स्क्रिप्ट की तरह ही पैकेज का हिस्सा होनी चाहिए।
ग्रैविटी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.