এখানে কোন পার্থক্য নেই. 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
যাইহোক, কিছু বিতরণ ইতিমধ্যে এটি ডিফল্টরূপে স্পষ্টভাবে অক্ষম করে। উদাহরণস্বরূপ RHEL <= 6 বা ফেডোরা <= 15 এ এতে রয়েছে /etc/sysctl.conf
:
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
ফেডোরা 20 এটি স্পষ্টভাবে অক্ষম করে না। এখানে ফরওয়ার্ডিং সেটিং নেই /etc/sysctl.conf
, /etc/sysctl.d/
বা /usr/lib/sysctl.d/
।