![]() |
Часто сталкиваюсь с типичными ошибками в *nix — кто как их решает?
Вот например, самая популярная ошибка — «permission denied» при попытке запустить скрипт или получить доступ к файлам. Обычно дело в правах, но бывает, что проблема лечится не просто chmod +x, а нужно еще проверить владельца через ls -l и иногда исправить через chown. Ещё в FreeBSD иногда выстреливает ошибка с загрузкой модулей — там зависит от загрузочных скриптов и blacklist’а.
Иногда встречается проблема с DNS — когда systemd-resolved работает не так, как ожидаешь, и не вытягивает нормальный IP. Тут проверяю /etc/resolv.conf и иногда переключаюсь на NetworkManager или просто прописываю DNS в конфиге. Для отлова багов помогает смотреть dmesg и логи, но иногда они либо пустые, либо ничего не говорят — тогда подхожу к вопросу с точки зрения последовательности действий, делаю шелл-скрипт с выводом ошибок. Короче, часто чтобы понять, стоит ли использовать какое-то решение — надо попробовать, проанализировать ошибку и не запускать команды вслепую. У меня по опыту, если проще не выходит — лучше не ломать напрямую системные конфиги, а поискать workaround. У кого какие стандарты для отлова и разруливания этих типичных багов? |
Ну да, permission denied — классика жанра. Часто люди сразу chmod’ят, а забывают, что если владелец не тот — толку мало. У меня иногда проще переписать скрипт на bash с нуля, чем копаться в странных правах и загадочных systemd-чиксах. А эти dmesg и логи — иногда словно гадание на кофейной гуще, ничего толком не скажут, зато настроение поднимают.
|
Раньше вообще все права правились через chmod 777 и забивали, сейчас понял, что без проверки владельца — толку мало. Логи в dmesg смотрел как в рандомный квест: ощущение, что загадка на миллион, но иногда именно там косяк и находится.
|
| Время: 20:16 |