sysctl

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
sysctl
Тип Системна утиліта
Операційна система Unix-like (Linux, BSD)
Мова програмування C

Sysctl - це утиліта для деяких Unix-подібних операційних систем, яка зчитує і змінює атрибути ядра операційної системи, такі як номер версії, максимальні параметри ресурсів, пам'яті, файлових систем, поведінку ядра, параметри мережевих протоколі, налаштування безпеки та інше. Також її функціонал доступний як системний виклик[5] для програм. Linux додатково надає доступ до атрибутів sysctl як віртуальну файлову систему /proc/sys/ .

BSD[ред. | ред. код]

У BSD параметри, якими управляє, є об’єктами в MIB (англ. management information base), та описують обмеження які можна налаштувати. Наприклад розмір сегмента спільної пам’яті, максимальну кількість процесів, кількість потоків які операційна система використовуватиме для використання NFS, зміну поведінки при переадресації IP пакетів при роботі в мережі. [6]

Linux[ред. | ред. код]

В Linux інтерфейс доступу до атрибутів доступний як віртуальна файлова система каталозі /proc/sys/ (не плутати з /sys)/ Для перевірки значення деякого атрибута потрібно відкрити файл у віртуальній файловій системі, прочитати його вміст та закрити файл. Системний виклик sysctl існує в Linux, але він застарів і в glibc не має функції що її обгортає; зазвичай він недоступний через те, що багато дистрибутивів налаштовують ядро без CONFIG_SYSCTL_SYSCALL; тому не рекомендується до вживання.

Налаштування які надає sysctl погруповані по розділам [7]:

Приклади[ред. | ред. код]

робота з утилітою[ред. | ред. код]

робота з файловою системою[ред. | ред. код]

/etc/sysctl.conf[ред. | ред. код]

  1. http://bxr.su/o/sys/kern/kern_sysctl.c#sys_sysctl
  2. http://bxr.su/o/sbin/sysctl/
  3. http://mdoc.su/n/sysctl.7
  4. sysctl - get or set kernel state
  5. https://man.freebsd.org/cgi/man.cgi?query=sysctl&sektion=3&apropos=0&manpath=FreeBSD+14.0-RELEASE+and+Ports
  6. http://bxr.su/NetBSD/share/man/man7/sysctl.7
  7. https://www.kernel.org/doc/Documentation/sysctl/00-INDEX