मैं ArchLinux में स्टार्ट-अप पर आदेश चलाकर उपयोग के बारे में कैसे जाना होगा Systemdकी तरह rc.localमें Sysv?
मैं ArchLinux में स्टार्ट-अप पर आदेश चलाकर उपयोग के बारे में कैसे जाना होगा Systemdकी तरह rc.localमें Sysv?
जवाबों:
आदेश पर निर्भर करता है। सबसे सामान्य मामलों के लिए, आपको कमांड की आवश्यकता नहीं है।
यदि आप एक 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 स्क्रिप्ट की तरह ही पैकेज का हिस्सा होनी चाहिए।