Unix Way

Всё, что не по теме форума -- сюда
Ответить
igorog
Сообщения: 23
Зарегистрирован: 13.08.2022

#

Философия UNIX — это набор культурных норм и философских подходов к разработке программного обеспечения, основанных на опыте ведущих разработчиков операционной системы

Хочу поднять немного спорный, но всеобъемлющий вопрос про, собственно "Философию Unix". Чтобы оживить хоть немного форум, и порассуждать о вечном, БЕЗ ХОЛИВАРА, и провокаций (прошу).
Сподвигло меня это написать два диаметрально противоположных подхода к настройке системы из вот этого топика.
igor, например яркий представитель классического подхода, что глобальные настройки д.б. ГЛОБАЛЬНЫМИ (и девственными). А например Morisson готов и параметры ядра поменять и отключать "ключевые" системные сервисы. (ИМХО. мне ближе подход igorа, потому что я новичёк в Лине и .... боюсь, но совет Morissonа настолько радикален, что совершенно не оставляет шансов watchdog "сторожевой собаке" на задержку.

ЗЫ: Друзья, прошу выссказываться спокойно, и без экспрессии, какой подход вы чаще используете (интересен процент забивших на этот "вэй", например безопасность )) ).
Мы просто рассуждаем.

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

igorog: igor, например яркий представитель классического подхода, что глобальные настройки д.б. ГЛОБАЛЬНЫМИ (и девственными). А например Morisson готов и параметры ядра поменять и отключать "ключевые" системные сервисы. (ИМХО. мне ближе подход igorа, потому что я новичёк в Лине и .... боюсь, но совет Morissonа настолько радикален, что совершенно не оставляет шансов watchdog "сторожевой собаке" на задержку.
По феншею, конечно, не стоит лезть в системные настройки, если это возможно.
Вот только не всегда это возможно ... но если уж возникла такая необходимость, то нужно хорошо понимать, что делаешь и для чего это делаешь ... и, конечно же, обязательно сделать копию файла, который меняешь. Плюс к этому, уметь и иметь возможность вернуть все на место, например, в случае получения не работоспособной системы.

В части watchdog - не все так просто с ним, это очень сложный механизм ... и не зная все его тонкости, лучше его не трогать ... а сначала хорошо его изучить и поэкспериментировать ... а может он очень многое ...
Не плохая статья о watchdog https://russianblogs.com/article/59941185002/ - заодно станет понятно, что лучше, без изучения, этот watchdog не трогать.

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

ООооо)
Vasek, привет)
https://wiki.archlinux.org/title/improv ... #Watchdogs
Многим пользователям нужна эта функция из-за критически важной роли их системы (например, серверы) или из-за отсутствия сброса питания (например встроенные устройства). Таким образом, эта функция необходима для хорошей работы в некоторых ситуациях. С другой стороны, обычные пользователи (т.е. настольные компьютеры и ноутбуки) не нуждаются в этой функции и могут отключить ее.
https://docs.kernel.org/watchdog/watchd ... eters.html
Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

из вот этого топика.
Там произошла путаницавероятно, но может и я не прав. У меня подобное было и перезагрузке/выключению мешает именно watchdog. Аппаратный watchdog не для нормального закрытия программ при выключении, он не про это.
В gnome, к примеру, при открытом qbittorrent нельзя выключить или усыпить комп. Программа через dbus блокирует данные действия. watchdog аппаратный при сбое тупо перезагрузит устройство.
А unix-философия дает мне полное право распоряжаться своим устройством и полный доступ ко всем его функциям. Почему это не использовать?)
igorog
Сообщения: 23
Зарегистрирован: 13.08.2022

#

Morisson: А unix-философия дает мне полное право распоряжаться своим устройством и полный доступ ко всем его функциям. Почему это не использовать?)
Вы правы. Да, я уже и сам понял, что глупость написал, и тема изначально мёртворождённая. Правда в том, что никс-системы, в силу изначальной своей открытости позволяют каждому пользователю настроить/изменить систему ровно настолько, насколько именно ЕМУ это необходимо.
Я достаточно недавно плотно пересел на Арч, и постепенно его изучая всё больше восхищаюсь его возможностями и, как по-мне ИДЕАЛЬНОЙ архитектурой.
Короче Unix-Way теперь для меня FOREVER! ))

ЗЫ: И ещё раз очень приятно видеть вас, старожилов тут (vasek, Morisson и всех остальных с прошлого форума!)
jim945
Сообщения: 18
Зарегистрирован: 01.09.2022

#

igorog: igor, например яркий представитель классического подхода, что глобальные настройки д.б. ГЛОБАЛЬНЫМИ (и девственными).
Он предлагает "сделать это точечно", изменив "глобальные" настройки.
Этот slim.service перезапишется же при обновлении пакета?

Второе его предложение, на мой взгляд самое правильное - "решить вопрос зависания".

Morisson кстати предлагает менее внести изменения в конфигурационные файлы, которые для этого и предназначены. Что выглядит, с другой стороны не так глобально.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Morisson: в параметры ядра
nmi_watchdog=0 nowatchdog
и в блэклист модуль сторожевой собаки. У меня это sp5100_tco на AMD, на интеле это был iTCO_wdt.
И все-таки не все так просто с этим watchdog, многое зависит от железа.
Например, для меня эти параметры вообще ничего не значат - watchdog и без них не работает.
Проверяем (загрузился без этих параметров) ...
ls /dev/watch*
ls: невозможно получить доступ к '/dev/watch*': Нет такого файла или каталога
lsmod | egrep 'softdog|_wdt'
… пусто …
То есть скорее всего, что watchdog не работает - проверим это ...
Провоцируем срабатывание watchdog
su
cat >> /dev/watchdog
жмем 3 раза Enter … и ждем порядка 2 минут … watchdog не срабатывает … отменям (Ctrl+c)

Продолжим эксперимент
Загрузим модуль softdog (можно и iTCO_wdt, хотя и не обязательно) … (еще работает su)

Добавление - забыл написать, что перед загрузкой модуля нужно удалить файл /dev/watchdog
rm /dev/watchdog

modprobe softdog
(должны появится устройства …, проверим)
ls /dev/watch*
/dev/watchdog  /dev/watchdog0
Снова провоцируем срабатывание watchdog
cat >> /dev/watchdog
жмем 3 раза Enter … и ждем не менее минуты - через 60 секунд запустится reboot ...

PS 1 - это все привел к тому, что сначала желательно проверить, что за железо и есть ли смысл применять конкретные параметры.
PS 2 - кстати, можно изменить и значение времени перед reboot watchdog, например, вместо 60 прописать 10 ...
Последний раз редактировалось vasek 02.09.2022 06:31, всего редактировалось 1 раз.

Ошибки не исчезают с опытом - они просто умнеют

igorog
Сообщения: 23
Зарегистрирован: 13.08.2022

#

vasek: Например, для меня эти параметры вообще ничего не значат - watchdog и без них не работает.
Разгорелось любопытство, и проверил у себя:

ls /dev/watch*
/dev/watchdog  /dev/watchdog0
lsmod | egrep 'softdog|_wdt'
iTCO_wdt               16384  0
intel_pmc_bxt          16384  1 iTCO_wdt
iTCO_vendor_support    16384  1 iTCO_wdt
su
cat >> /dev/watchdog
Три раза 'Enter'
30 сек (я так настроил) и перезагрузка
Вывод: у меня Собака работает в штатном режиме. Спасибо, как всегда vasek за углубленный разбор ситуации!
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Сделал правку
Добавление - забыл написать, что перед загрузкой модуля нужно удалить файл /dev/watchdog
rm /dev/watchdog

Файл /dev/watchdog был создан в результате выполнения cat >> /dev/watchdog, а система для чистоты эксперимента должна быть дейвственной ...

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

cat /proc/sys/kernel/watchdog

или
sudo wdctl
В вики так проверяют
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Просто привел эксперимент для лучшего понимания, для наглядности - повторюсь, не все так просто и лично для меня понятнее, когда все это пощупаешь ручками и плюс чтение DOC.

Делать нечего, продолжим ликбез … смотрим
cat /proc/sys/kernel/watchdog
1
cat /proc/sys/kernel/soft_watchdog
1
cat /proc/sys/kernel/nmi_watchdog
1
… и ничего не понятно для начинающего ...
В части wdctl - утилита, это, конечно, хорошо, но она не дает всю информацию … и лучше смотреть в ручную, из самой директории, откуда утилита читает эту информации.
Согласно DOC все сторожевые устройства экспортируют свои настройки в /sys/class/watchdog/*
У меня по дефолту там пусто
ls /sys/class/watchdog
… пусто …
поэтому и нет устройств /dev/watchdog*
Но если загрузить модуль softdog, то буду иметь
ls /sys/class/watchdog
watchdog0
Смотрим что там имеется
ls /sys/class/watchdog/watchdog0
bootstatus  identity     min_timeout  power  status     timeout
dev         max_timeout  nowayout     state  subsystem  uevent
… в этих файлах вся информация, например, узнаем
cat /sys/class/watchdog/watchdog0/identity
Software Watchdog
cat /sys/class/watchdog/watchdog0/timeout
60
cat /sys/class/watchdog/watchdog0/state
inactive
… и так далее …
И сравним с простым выводом утилиты wdctl
wdctl /dev/watchdog0
Устр-во: /dev/watchdog0
Identity: Software Watchdog [версия 0]
Таймаут: 60 секунд

И когда пощупали ручками и плюс почитали, то станет намного понятнее

Добавление - также еще имеются настройки параметров для watchdog в system.conf
grep -i watch /etc/systemd/system.conf
#RuntimeWatchdogSec=off
#RuntimeWatchdogPreSec=off
#RuntimeWatchdogPreGovernor=
#RebootWatchdogSec=10min
#KExecWatchdogSec=off
#WatchdogDevice=
но не рекомендую их использовать без ознакомления.

Ошибки не исчезают с опытом - они просто умнеют

Ответить