इसमें कोई फर्क नही है। sysctl
लिनक्स पर आदेश में फ़ाइलों को सीधे लिखते हैं /proc/sys
। यह sysctl
साबित करने के लिए स्रोत कोड से यह स्निपेट :
/*
* Write a sysctl setting
*/
static int WriteSetting(const char *setting)
{
/* ... */
/* used to open the file */
tmpname = xmalloc(equals - name + 1 + strlen(PROC_PATH));
strcpy(tmpname, PROC_PATH);
strncat(tmpname, name, (int) (equals - name));
tmpname[equals - name + strlen(PROC_PATH)] = 0;
/* change . to / */
slashdot(tmpname + strlen(PROC_PATH), '.', '/');
/* ... */
fp = fopen(tmpname, "w");
/* some error checking ... */
rc = fprintf(fp, "%s\n", value);
/* ... */
}
यदि आप कुछ स्थायी चाहते हैं, तो आपको /etc/sysctl.conf
एक फ़ाइल को संपादित करने या जोड़ने की आवश्यकता है /etc/sysctl.d
(उदाहरण के लिए /etc/sysctl.d/99-disable-ip-forwarding.conf
):
# Disable IP packet forwarding
net.ipv4.ip_forward = 0
वैसे, कुछ वितरण पहले से ही डिफ़ॉल्ट रूप से इसे स्पष्ट रूप से अक्षम करते हैं । उदाहरण के लिए आरएचईएल <= 6 या फेडोरा <= 15 में यह है /etc/sysctl.conf
:
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
Fedora 20 इसे अब और अक्षम नहीं करता है। में सेटिंग अग्रेषित नहीं है /etc/sysctl.conf
, /etc/sysctl.d/
या /usr/lib/sysctl.d/
।