sysctl — програма
для
налаштовування
параметрів
ядра під
час роботи.
sysctl
[
параметри]
[
змінна[
=значення]]
[...]
sysctl -p [
файл
або
формальний
вираз] [...]
sysctl
використовується
для
внесення
зміни до
параметрів
ядра під
час роботи.
Доступними
для зміни
параметрами
є
параметри
зі списку у
/proc/sys/. Для
підтримки
роботи
sysctl у Linux
потрібна procfs.
sysctl можна
скористатися
для
читання і
запису
даних sysctl.
- змінна
- Назва
ключа для
читання
даних.
Приклад: kernel.ostype.
Замість
роздільника
«.» можна
використовувати
роздільник
«/».
-
змінна=значення
- Для
встановлення
значення
ключа
скористайтеся
записом у
форматі
змінна=
значення,
де змінна
є назвою
ключа, а
значення
— значення,
яке слід
встановити.
Якщо у
значенні
містяться
лапки або
символи,
які
обробляються
командною
оболонкою,
ви можете
взяти
значення у
подвійні
лапки.
-
-n, --values
- Цим
параметром
можна
скористатися
для
вимикання
виведення
назви
ключа під
час
виведення
значень.
-
-e, --ignore
- Цим
параметром
можна
скористатися
для
вмикання
режиму
ігнорування
помилок,
пов’язаних
із
невідомими
ключами.
-
-N, --names
- Цим
параметром
можна
скористатися
для
виведення
лише назв.
Корисно у
оболонках,
де
передбачено
програмоване
доповнення
команд.
-
-q, --quiet
- Цим
параметром
можна
скористатися
для
усування з
виведених
даних
значень,
встановлених
у stdout.
-
-w, --write
- Скористайтеся
цим
параметром,
якщо усі
аргументи
визначають
ключ,
значення
якого слід
встановити.
-
-p[ФАЙЛ],
--load[= ФАЙЛ]
- Завантажити
параметри
sysctl із
вказаного
файла або
із /etc/sysctl.conf, якщо
файл не
вказано.
Якщо
вказати
замість
назви
файла -,
дані буде
прочитано
із
стандартного
джерела
вхідних
даних.
Використання
цього
параметра
означає, що
аргументами
sysctl є файли,
які буде
прочитано
у порядку,
у якому їх
було
вказано.
Аргумент
файла може
бути
вказано у
форматі
формального
виразу.
-
-a, --all
- Вивести
всі
доступні
значення.
- --deprecated
- Включити
застарілі
параметри
до списку
значень
--all.
-
-b, --binary
- Вивести
значення
без
додавання
символу
розриву
рядка.
- --system
- Завантажити
параметри
з усіх
загальносистемних
файлів
налаштувань.
Див. розділ
ПРІОРИТЕТНІСТЬ
ФАЙЛІВ
СИСТЕМИ
нижче.
-
-r, --pattern
взірець
- Застосувати
лише
параметри,
які
відповідають
взірцю. У
взірці
використовується
розширений
синтаксис
формальних
виразів.
- -A
- Інший
варіант -a
- -d
- Інший
варіант -h
- -f
- Інший
варіант -p
- -X
- Інший
варіант -a
- -o
- Не
виконувати
дій.
Використовується
для
забезпечення
сумісності
із BSD.
- -x
- Не
виконувати
дій.
Використовується
для
забезпечення
сумісності
із BSD.
-
-h, --help
- Вивести
текст
довідки і
завершити
роботу.
-
-V, --version
- Вивести
дані щодо
версії і
завершити
роботу.
При
використанні
параметра
--system sysctl
прочитає
файли з
каталогів
у
вказаному
списку у
вказаному
порядку,
згори вниз.
Після
завантаження
файла із
вказаною
назвою усі
інші файли
із такою
самою
назвою, які
зберігаються
у інших
каталогах,
буде
проігноровано.
/etc/sysctl.d/*.conf
/run/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf
Усі файли
налаштувань
буде
упорядковано
за абеткою
у назвах,
незалежно
від
каталогу, у
якому вони
зберігаються.
Файли
налаштувань
можна
замінити
або
повністю
(створенням
нового
файла
налаштувань
із тією
самою
назвою у
каталозі
із вищою
пріоритетністю),
або
частково
(за
допомогою
файла
налаштувань,
який йде
далі за
порядком).
/sbin/sysctl -a
/sbin/sysctl -n kernel.hostname
/sbin/sysctl -w kernel.domainname="example.com"
/sbin/sysctl -p/etc/sysctl.conf
/sbin/sysctl -a --pattern forward
/sbin/sysctl -a --pattern forward$
/sbin/sysctl -a --pattern 'net.ipv4.conf.(eth|wlan)0.arp'
/sbin/sysctl --pattern 'net.ipv6' --system
Параметри
base_reachable_time та
retrans_time
вважаються
застарілими.
Програма
sysctl
не
дозволяє
змінювати
значення
цих
параметрів.
Користувачі,
які
вважають
за
потрібне
використовувати
застарілі
інтерфейси
ядра, мають
змінювати
значення у
файловій
системі /proc у
інший
спосіб.
Приклад:
echo 256 > /proc/sys/net/ipv6/neigh/eth0/base_reachable_time
/proc/sys
/etc/sysctl.d/*.conf
/run/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf
sysctl.conf(5) regex(7)
George Staikos
Про вади,
будь ласка,
повідомляйте
на адресу
[email protected]