ไม่มีความแตกต่าง คำสั่งบนลินุกซ์เขียนโดยตรงไปยังไฟล์ใน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 หรือ Fedora <= 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/