Bug 48008

Summary: sysctl возвращает неверный ответ после записи значения
Product: Sisyphus Reporter: svmoskalen
Component: procpsAssignee: Mikhail Efremov <sem>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: amakeenk, arbars, iv, ldv, mike, sem, svmoskalen
Version: unstable   
Hardware: all   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=47289

Description svmoskalen 2023-10-14 23:39:52 MSK
при запуске с ключом -w sysctl возвращает пустой ответ после записи указанного значения (как будто всегда запускается с ключом -q,как написано в help)
Что наверное привело к огромному числу сбоев в скриптах автоматизации, не говоря 
уже о таком классе ПО как SCM: https://bugzilla.altlinux.org/47289
Comment 1 svmoskalen 2023-10-14 23:43:49 MSK
sysctl --version
sysctl from procps-ng 3.3.17-alt4.g37f1060
Comment 2 Michael Shigorin 2023-10-15 08:22:00 MSK
Сергей, можете уточить, на каких именно версиях sysctl -w var=val вело себя
именно как sysctl -v -w var=val (т.е. выводило var = val в stdout), а не как
sysctl -q var=val (т.е. молча)?

_Возможно_, разработчики текущей ветки procps решили сделать поведение утилиты более юниксовым -- "нечего сказать, ничего и не говори" -- не учтя завязки на текущее поведение в тех скриптах.

В любом случае при наличии документированного поведения -v/-q и отсутствии документированного вывода -w _без_ -v я могу рекомендовать пользоваться именно sysctl -v -w в случаях, когда вывод важен, вне зависимости от дистрибутива и платформы.

Артём, попробуй выяснить, были ли какие-то внятные обсуждения этого изменения
в апстриме procps-ng или это особенность сборки у нас.

Поведение проверил, подтверждаю.
Comment 3 svmoskalen 2023-10-15 18:51:22 MSK
Версию я написал постом ниже(это последняя насколько я понял)
Я то могу использовать с любыми ключами, saltstack-у тоже порекомендуете, у которых все это в коде? (это при том что на других ОС не делают поведение "более юниксовым" и проблем нет)
Comment 4 Alexander Makeenkov 2023-11-07 16:49:57 MSK
Воспроизводится в сизифе на версии procps-4.0.4-alt2.x86_64
Comment 5 Mikhail Efremov 2023-11-09 19:45:55 MSK
У нас sysctl так ведет себя изначально:
https://git.altlinux.org/gears/p/procps.git?p=procps.git;a=commitdiff;h=65fbbb913dd64a364295dfbf0d348191848592e0;hp=c9031b6ba58ae70d7d360e05cf5db88ab74dce5f
Подозреваю, что это поведение перекочевало в procps-ng из оригинального procps.