[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/monitor-systemd-services":3,"mdc-kq0cvd-key":1272,"mdc-r24kae-key":1296,"mdc--csucv9-key":1320,"mdc-cj3i2n-key":1373,"mdc-aknckc-key":1410,"mdc--e6x3or-key":1432,"mdc-hx3b1x-key":1473,"mdc-726uh0-key":1498,"mdc--jowoxk-key":1531,"mdc-e9b2s2-key":1562,"related-/guides/linux/systemd-service-recovery,/guides/linux/systemd-timers-basics,/errors/linux/systemd-failed-to-start":1592},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":1206,"code":1206,"createdAt":1207,"description":1208,"difficulty":1209,"draft":1210,"estimatedTime":1211,"extension":1212,"faq":1213,"howToSteps":1226,"howToTotalTime":1245,"image":1206,"keywords":1246,"locale":1254,"meta":1255,"navigation":223,"path":1256,"platform":1257,"related":1258,"section":1262,"seo":1263,"severity":1206,"stem":1264,"summary":1265,"tags":1266,"twitterCreator":1206,"twitterSite":1206,"type":1270,"updatedAt":1207,"__hash__":1271},"content_ru/guides/linux/monitor-systemd-services.md","Мониторинг systemd-сервисов: полное руководство по проверке статуса и логов",[7,8,9,10],"Ubuntu 20.04+","CentOS/RHEL 8+","Debian 11+","Fedora 35+","FixPedia Team",{"type":13,"value":14,"toc":1194},"minimark",[15,20,24,32,36,93,97,103,138,143,180,184,194,327,369,372,376,379,570,581,598,601,605,612,806,815,819,822,865,869,876,1032,1039,1043,1096,1100,1190],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Systemd — это современная система инициализации и менеджер служб в большинстве дистрибутивов Linux. Мониторинг её сервисов критически важен для поддержания стабильности сервера или рабочей станции. Без регулярной проверки вы можете не заметить, как важный фоновый процесс (база данных, веб-сервер, агент бэкапа) остановился из-за ошибки или нехватки ресурсов.",[21,25,26,27,31],{},"Это руководство даёт вам ",[28,29,30],"strong",{},"полный набор инструментов"," для proactive monitoring: от однократной диагностики до настройки автоматических оповещений. Вы научитесь быстро определять, жив ли сервис, где искать логи при падении и как настроить систему на самоуведомление о проблемах.",[16,33,35],{"id":34},"требования-подготовка","Требования / Подготовка",[37,38,39,46,68,78],"ol",{},[40,41,42,45],"li",{},[28,43,44],{},"Доступ к терминалу"," с правами sudo или root для проверки системных служб. Для пользовательских служб (user services) права не требуются.",[40,47,48,51,52,56,57,60,61,60,64,67],{},[28,49,50],{},"Базовое понимание systemd:"," знание, что такое юнит (",[53,54,55],"code",{},".service","), и как управлять службами (",[53,58,59],{},"start",", ",[53,62,63],{},"stop",[53,65,66],{},"enable",").",[40,69,70,73,74,77],{},[28,71,72],{},"Актуальная версия systemd"," (обычно 245+ на современных дистрибутивах). Проверить: ",[53,75,76],{},"systemctl --version",".",[40,79,80,81,84,85,88,89,92],{},"Для шага с ",[53,82,83],{},"OnFailure"," потребуется редактирование конфигурационных файлов в ",[53,86,87],{},"/etc/systemd/system/"," и выполнение ",[53,90,91],{},"systemctl daemon-reload"," после изменений.",[16,94,96],{"id":95},"шаг-1-проверка-базового-статуса-сервиса","Шаг 1: Проверка базового статуса сервиса",[21,98,99,100,77],{},"Самый быстрый способ понять, что происходит с сервисом — команда ",[53,101,102],{},"systemctl status",[104,105,110],"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-bash shiki shiki-themes github-light github-dark","# Замените nginx на имя вашего сервиса\nsudo systemctl status nginx\n","bash","",[53,111,112,121],{"__ignoreMap":109},[113,114,117],"span",{"class":115,"line":116},"line",1,[113,118,120],{"class":119},"sJ8bj","# Замените nginx на имя вашего сервиса\n",[113,122,124,128,132,135],{"class":115,"line":123},2,[113,125,127],{"class":126},"sScJk","sudo",[113,129,131],{"class":130},"sZZnC"," systemctl",[113,133,134],{"class":130}," status",[113,136,137],{"class":130}," nginx\n",[21,139,140],{},[28,141,142],{},"Что смотреть в выводе:",[144,145,146,161,167,173],"ul",{},[40,147,148,151,152,60,155,60,158,67],{},[53,149,150],{},"Active:"," — статус (",[53,153,154],{},"active (running)",[53,156,157],{},"inactive (dead)",[53,159,160],{},"failed",[40,162,163,166],{},[53,164,165],{},"Main PID:"," — ID главного процесса. Если 0, сервис, скорее всего, упал.",[40,168,169,172],{},[53,170,171],{},"CGroup:"," — дерево процессов, принадлежащих сервису.",[40,174,175,176,179],{},"Последние несколько строк журнала — ",[28,177,178],{},"самая ценная информация"," при сбое. Часто там указана прямая причина ошибки (например, \"Permission denied\" или \"Port already in use\").",[16,181,183],{"id":182},"шаг-2-глубокий-анализ-логов-через-journalctl","Шаг 2: Глубокий анализ логов через journalctl",[21,185,186,187,189,190,193],{},"Если ",[53,188,102],{}," не даёт достаточно деталей, используйте ",[53,191,192],{},"journalctl"," — основной инструмент для работы с журналом systemd.",[104,195,197],{"className":106,"code":196,"language":108,"meta":109,"style":109},"# Показать все записи для конкретного сервиса\nsudo journalctl -u nginx.service\n\n# Следить за логами в реальном времени (как tail -f)\nsudo journalctl -u nginx.service -f\n\n# Показать только сообщения об ошибках и критических проблемах\nsudo journalctl -u nginx.service -p err..crit\n\n# Показать логи за последний час\nsudo journalctl -u nginx.service --since \"1 hour ago\"\n\n# Показать логи с момента последней загрузки системы\nsudo journalctl -u nginx.service -b\n",[53,198,199,204,218,225,231,246,251,257,274,279,285,302,307,313],{"__ignoreMap":109},[113,200,201],{"class":115,"line":116},[113,202,203],{"class":119},"# Показать все записи для конкретного сервиса\n",[113,205,206,208,211,215],{"class":115,"line":123},[113,207,127],{"class":126},[113,209,210],{"class":130}," journalctl",[113,212,214],{"class":213},"sj4cs"," -u",[113,216,217],{"class":130}," nginx.service\n",[113,219,221],{"class":115,"line":220},3,[113,222,224],{"emptyLinePlaceholder":223},true,"\n",[113,226,228],{"class":115,"line":227},4,[113,229,230],{"class":119},"# Следить за логами в реальном времени (как tail -f)\n",[113,232,234,236,238,240,243],{"class":115,"line":233},5,[113,235,127],{"class":126},[113,237,210],{"class":130},[113,239,214],{"class":213},[113,241,242],{"class":130}," nginx.service",[113,244,245],{"class":213}," -f\n",[113,247,249],{"class":115,"line":248},6,[113,250,224],{"emptyLinePlaceholder":223},[113,252,254],{"class":115,"line":253},7,[113,255,256],{"class":119},"# Показать только сообщения об ошибках и критических проблемах\n",[113,258,260,262,264,266,268,271],{"class":115,"line":259},8,[113,261,127],{"class":126},[113,263,210],{"class":130},[113,265,214],{"class":213},[113,267,242],{"class":130},[113,269,270],{"class":213}," -p",[113,272,273],{"class":130}," err..crit\n",[113,275,277],{"class":115,"line":276},9,[113,278,224],{"emptyLinePlaceholder":223},[113,280,282],{"class":115,"line":281},10,[113,283,284],{"class":119},"# Показать логи за последний час\n",[113,286,288,290,292,294,296,299],{"class":115,"line":287},11,[113,289,127],{"class":126},[113,291,210],{"class":130},[113,293,214],{"class":213},[113,295,242],{"class":130},[113,297,298],{"class":213}," --since",[113,300,301],{"class":130}," \"1 hour ago\"\n",[113,303,305],{"class":115,"line":304},12,[113,306,224],{"emptyLinePlaceholder":223},[113,308,310],{"class":115,"line":309},13,[113,311,312],{"class":119},"# Показать логи с момента последней загрузки системы\n",[113,314,316,318,320,322,324],{"class":115,"line":315},14,[113,317,127],{"class":126},[113,319,210],{"class":130},[113,321,214],{"class":213},[113,323,242],{"class":130},[113,325,326],{"class":213}," -b\n",[21,328,329,332,333,336,337,340,341,344,345,348,349,352,353,356,357,360,361,364,365,368],{},[28,330,331],{},"Фильтрация по приоритету:"," Уровни: ",[53,334,335],{},"emerg"," (0), ",[53,338,339],{},"alert"," (1), ",[53,342,343],{},"crit"," (2), ",[53,346,347],{},"err"," (3), ",[53,350,351],{},"warning"," (4), ",[53,354,355],{},"notice"," (5), ",[53,358,359],{},"info"," (6), ",[53,362,363],{},"debug"," (7). ",[53,366,367],{},"-p err..crit"," покажет всё от ошибок и выше.",[370,371],"in-article-ad",{},[16,373,375],{"id":374},"шаг-3-мониторинг-нескольких-сервисов-одновременно","Шаг 3: Мониторинг нескольких сервисов одновременно",[21,377,378],{},"Для быстрого обзора состояния нескольких ключевых служб создайте простой скрипт.",[104,380,382],{"className":106,"code":381,"language":108,"meta":109,"style":109},"#!/bin/bash\n# Файл: monitor_critical.sh\nSERVICES=(\"nginx\" \"postgresql\" \"redis-server\" \"ssh\")\necho \"=== Проверка статуса критичных сервисов $(date) ===\"\nfor svc in \"${SERVICES[@]}\"; do\n    if systemctl is-active --quiet \"$svc\"; then\n        echo \"✅ $svc: active\"\n    else\n        echo \"❌ $svc: INACTIVE or FAILED\"\n        # Показать последние логи для упавшего сервиса\n        echo \"   Последние записи в journalctl:\"\n        sudo journalctl -u \"$svc\" -n 5 --no-pager\n    fi\ndone\n",[53,383,384,389,394,422,436,467,494,507,512,524,529,536,560,565],{"__ignoreMap":109},[113,385,386],{"class":115,"line":116},[113,387,388],{"class":119},"#!/bin/bash\n",[113,390,391],{"class":115,"line":123},[113,392,393],{"class":119},"# Файл: monitor_critical.sh\n",[113,395,396,400,404,407,410,413,416,419],{"class":115,"line":220},[113,397,399],{"class":398},"sVt8B","SERVICES",[113,401,403],{"class":402},"szBVR","=",[113,405,406],{"class":398},"(",[113,408,409],{"class":130},"\"nginx\"",[113,411,412],{"class":130}," \"postgresql\"",[113,414,415],{"class":130}," \"redis-server\"",[113,417,418],{"class":130}," \"ssh\"",[113,420,421],{"class":398},")\n",[113,423,424,427,430,433],{"class":115,"line":227},[113,425,426],{"class":213},"echo",[113,428,429],{"class":130}," \"=== Проверка статуса критичных сервисов $(",[113,431,432],{"class":126},"date",[113,434,435],{"class":130},") ===\"\n",[113,437,438,441,444,447,450,452,455,458,461,464],{"class":115,"line":233},[113,439,440],{"class":402},"for",[113,442,443],{"class":398}," svc ",[113,445,446],{"class":402},"in",[113,448,449],{"class":130}," \"${",[113,451,399],{"class":398},[113,453,454],{"class":130},"[",[113,456,457],{"class":402},"@",[113,459,460],{"class":130},"]}\"",[113,462,463],{"class":398},"; ",[113,465,466],{"class":402},"do\n",[113,468,469,472,474,477,480,483,486,489,491],{"class":115,"line":248},[113,470,471],{"class":402},"    if",[113,473,131],{"class":126},[113,475,476],{"class":130}," is-active",[113,478,479],{"class":213}," --quiet",[113,481,482],{"class":130}," \"",[113,484,485],{"class":398},"$svc",[113,487,488],{"class":130},"\"",[113,490,463],{"class":398},[113,492,493],{"class":402},"then\n",[113,495,496,499,502,504],{"class":115,"line":253},[113,497,498],{"class":213},"        echo",[113,500,501],{"class":130}," \"✅ ",[113,503,485],{"class":398},[113,505,506],{"class":130},": active\"\n",[113,508,509],{"class":115,"line":259},[113,510,511],{"class":402},"    else\n",[113,513,514,516,519,521],{"class":115,"line":276},[113,515,498],{"class":213},[113,517,518],{"class":130}," \"❌ ",[113,520,485],{"class":398},[113,522,523],{"class":130},": INACTIVE or FAILED\"\n",[113,525,526],{"class":115,"line":281},[113,527,528],{"class":119},"        # Показать последние логи для упавшего сервиса\n",[113,530,531,533],{"class":115,"line":287},[113,532,498],{"class":213},[113,534,535],{"class":130}," \"   Последние записи в journalctl:\"\n",[113,537,538,541,543,545,547,549,551,554,557],{"class":115,"line":304},[113,539,540],{"class":126},"        sudo",[113,542,210],{"class":130},[113,544,214],{"class":213},[113,546,482],{"class":130},[113,548,485],{"class":398},[113,550,488],{"class":130},[113,552,553],{"class":213}," -n",[113,555,556],{"class":213}," 5",[113,558,559],{"class":213}," --no-pager\n",[113,561,562],{"class":115,"line":309},[113,563,564],{"class":402},"    fi\n",[113,566,567],{"class":115,"line":315},[113,568,569],{"class":402},"done\n",[21,571,572,573,576,577,580],{},"Сделайте скрипт исполняемым (",[53,574,575],{},"chmod +x monitor_critical.sh",") и запускайте его периодически через ",[53,578,579],{},"watch",":",[104,582,584],{"className":106,"code":583,"language":108,"meta":109,"style":109},"watch -n 30 ./monitor_critical.sh\n",[53,585,586],{"__ignoreMap":109},[113,587,588,590,592,595],{"class":115,"line":116},[113,589,579],{"class":126},[113,591,553],{"class":213},[113,593,594],{"class":213}," 30",[113,596,597],{"class":130}," ./monitor_critical.sh\n",[21,599,600],{},"Это обновляет вывод каждые 30 секунд.",[16,602,604],{"id":603},"шаг-4-настройка-автоматических-оповещений-через-systemd","Шаг 4: Настройка автоматических оповещений через systemd",[21,606,607,608,611],{},"Для критичных сервисов можно настроить реакцию systemd на сбой с помощью директивы ",[53,609,610],{},"OnFailure=",". Это более надёжно, чем внешние скрипты-полинги.",[37,613,614,675,763,800],{},[40,615,616,619,620,623,624],{},[28,617,618],{},"Создайте службу-нотификатор"," (например, ",[53,621,622],{},"send-failure-alert.service","):",[104,625,629],{"className":626,"code":627,"language":628,"meta":109,"style":109},"language-ini shiki shiki-themes github-light github-dark","# /etc/systemd/system/send-failure-alert.service\n[Unit]\nDescription=Send alert on service failure\n# Передаём имя упавшего сервиса через эквивалент %i\n# %i будет заменён на имя юнита, который вызвал OnFailure\n\n[Service]\nType=oneshot\nExecStart=/usr/local/bin/alert-script.sh %i\n","ini",[53,630,631,636,641,646,651,656,660,665,670],{"__ignoreMap":109},[113,632,633],{"class":115,"line":116},[113,634,635],{},"# /etc/systemd/system/send-failure-alert.service\n",[113,637,638],{"class":115,"line":123},[113,639,640],{},"[Unit]\n",[113,642,643],{"class":115,"line":220},[113,644,645],{},"Description=Send alert on service failure\n",[113,647,648],{"class":115,"line":227},[113,649,650],{},"# Передаём имя упавшего сервиса через эквивалент %i\n",[113,652,653],{"class":115,"line":233},[113,654,655],{},"# %i будет заменён на имя юнита, который вызвал OnFailure\n",[113,657,658],{"class":115,"line":248},[113,659,224],{"emptyLinePlaceholder":223},[113,661,662],{"class":115,"line":253},[113,663,664],{},"[Service]\n",[113,666,667],{"class":115,"line":259},[113,668,669],{},"Type=oneshot\n",[113,671,672],{"class":115,"line":276},[113,673,674],{},"ExecStart=/usr/local/bin/alert-script.sh %i\n",[40,676,677,680,681],{},[28,678,679],{},"Создайте простой скрипт-нотификатор"," (настройте под вашу систему: email, slack, telegram):",[104,682,684],{"className":106,"code":683,"language":108,"meta":109,"style":109},"#!/bin/bash\n# /usr/local/bin/alert-script.sh\nFAILED_SERVICE=$1\nHOSTNAME=$(hostname)\necho \"Сбой сервиса $FAILED_SERVICE на хосте $HOSTNAME\" | \\\n    mail -s \"ALERT: systemd failure on $HOSTNAME\" admin@example.com\n",[53,685,686,690,695,706,721,745],{"__ignoreMap":109},[113,687,688],{"class":115,"line":116},[113,689,388],{"class":119},[113,691,692],{"class":115,"line":123},[113,693,694],{"class":119},"# /usr/local/bin/alert-script.sh\n",[113,696,697,700,702],{"class":115,"line":220},[113,698,699],{"class":398},"FAILED_SERVICE",[113,701,403],{"class":402},[113,703,705],{"class":704},"s4XuR","$1\n",[113,707,708,711,713,716,719],{"class":115,"line":227},[113,709,710],{"class":398},"HOSTNAME",[113,712,403],{"class":402},[113,714,715],{"class":398},"$(",[113,717,718],{"class":126},"hostname",[113,720,421],{"class":398},[113,722,723,725,728,731,734,737,739,742],{"class":115,"line":233},[113,724,426],{"class":213},[113,726,727],{"class":130}," \"Сбой сервиса ",[113,729,730],{"class":398},"$FAILED_SERVICE",[113,732,733],{"class":130}," на хосте ",[113,735,736],{"class":398},"$HOSTNAME",[113,738,488],{"class":130},[113,740,741],{"class":402}," |",[113,743,744],{"class":213}," \\\n",[113,746,747,750,753,756,758,760],{"class":115,"line":248},[113,748,749],{"class":126},"    mail",[113,751,752],{"class":213}," -s",[113,754,755],{"class":130}," \"ALERT: systemd failure on ",[113,757,736],{"class":398},[113,759,488],{"class":130},[113,761,762],{"class":130}," admin@example.com\n",[40,764,765,580,771],{},[28,766,767,768,770],{},"Добавьте ",[53,769,83],{}," в конфиг вашего сервиса",[104,772,774],{"className":626,"code":773,"language":628,"meta":109,"style":109},"# /etc/systemd/system/your-critical.service\n[Unit]\nDescription=My Critical App\nOnFailure=send-failure-alert.service\n...\n",[53,775,776,781,785,790,795],{"__ignoreMap":109},[113,777,778],{"class":115,"line":116},[113,779,780],{},"# /etc/systemd/system/your-critical.service\n",[113,782,783],{"class":115,"line":123},[113,784,640],{},[113,786,787],{"class":115,"line":220},[113,788,789],{},"Description=My Critical App\n",[113,791,792],{"class":115,"line":227},[113,793,794],{},"OnFailure=send-failure-alert.service\n",[113,796,797],{"class":115,"line":233},[113,798,799],{},"...\n",[40,801,802,803,77],{},"Перезагрузите демон systemd: ",[53,804,805],{},"sudo systemctl daemon-reload",[21,807,808,809,812,813,77],{},"Теперь при аварийном завершении ",[53,810,811],{},"your-critical.service"," будет запущен ",[53,814,622],{},[16,816,818],{"id":817},"шаг-5-визуализация-и-внешние-инструменты","Шаг 5: Визуализация и внешние инструменты",[21,820,821],{},"Для долгосрочного мониторинга и исторических графиков подключите систему к сборщику метрик.",[144,823,824,837,855],{},[40,825,826,829,830,833,834,67],{},[28,827,828],{},"Netdata:"," Установите ",[53,831,832],{},"netdata",", и он автоматически обнаружит и начнёт отображать статус systemd-сервисов в веб-интерфейсе (",[53,835,836],{},"http://server:19999",[40,838,839,842,843,846,847,850,851,854],{},[28,840,841],{},"Prometheus + node_exporter:"," Коллектор ",[53,844,845],{},"node_exporter"," имеет текстовыйcollector ",[53,848,849],{},"systemd",", который экспортирует метрики ",[53,852,853],{},"systemd_unit_state"," (1 для active, 0 для неактивного). Настройте алерты в Prometheus Alertmanager.",[40,856,857,860,861,864],{},[28,858,859],{},"График загрузки:"," ",[53,862,863],{},"systemd-analyze plot > boot.svg"," создаст SVG-файл с графиком времени загрузки каждого юнита. Полезно для поиска \"тяжёлых\" сервисов.",[16,866,868],{"id":867},"шаг-6-автоматизация-ежедневных-отчётов","Шаг 6: Автоматизация ежедневных отчётов",[21,870,871,872,875],{},"Настройте ",[53,873,874],{},"cron","-задачу для ежедневного отчёта об упавших сервисах.",[104,877,879],{"className":106,"code":878,"language":108,"meta":109,"style":109},"# Откройте crontab для редактирования\nsudo crontab -e\n\n# Добавьте строку (отправлять отчёт в 8:00 утра)\n0 8 * * * /usr/bin/systemctl list-units --type=service --state=failed --no-legend | \\\n    awk '{print $1}' | \\\n    while read unit; do\n        echo \"=== $unit ===\"\n        sudo journalctl -u \"$unit\" -n 10 --no-pager\n        echo \"\"\n    done | \\\n    mail -s \"Daily Systemd Failure Report for $(hostname)\" admin@example.com\n",[53,880,881,886,896,900,905,939,951,966,979,1000,1007,1016],{"__ignoreMap":109},[113,882,883],{"class":115,"line":116},[113,884,885],{"class":119},"# Откройте crontab для редактирования\n",[113,887,888,890,893],{"class":115,"line":123},[113,889,127],{"class":126},[113,891,892],{"class":130}," crontab",[113,894,895],{"class":213}," -e\n",[113,897,898],{"class":115,"line":220},[113,899,224],{"emptyLinePlaceholder":223},[113,901,902],{"class":115,"line":227},[113,903,904],{"class":119},"# Добавьте строку (отправлять отчёт в 8:00 утра)\n",[113,906,907,910,913,916,918,920,923,926,929,932,935,937],{"class":115,"line":233},[113,908,909],{"class":126},"0",[113,911,912],{"class":213}," 8",[113,914,915],{"class":213}," *",[113,917,915],{"class":213},[113,919,915],{"class":213},[113,921,922],{"class":130}," /usr/bin/systemctl",[113,924,925],{"class":130}," list-units",[113,927,928],{"class":213}," --type=service",[113,930,931],{"class":213}," --state=failed",[113,933,934],{"class":213}," --no-legend",[113,936,741],{"class":402},[113,938,744],{"class":213},[113,940,941,944,947,949],{"class":115,"line":248},[113,942,943],{"class":126},"    awk",[113,945,946],{"class":130}," '{print $1}'",[113,948,741],{"class":402},[113,950,744],{"class":213},[113,952,953,956,959,962,964],{"class":115,"line":253},[113,954,955],{"class":402},"    while",[113,957,958],{"class":130}," read",[113,960,961],{"class":130}," unit",[113,963,463],{"class":398},[113,965,466],{"class":402},[113,967,968,970,973,976],{"class":115,"line":259},[113,969,498],{"class":213},[113,971,972],{"class":130}," \"=== ",[113,974,975],{"class":398},"$unit",[113,977,978],{"class":130}," ===\"\n",[113,980,981,983,985,987,989,991,993,995,998],{"class":115,"line":276},[113,982,540],{"class":126},[113,984,210],{"class":130},[113,986,214],{"class":213},[113,988,482],{"class":130},[113,990,975],{"class":398},[113,992,488],{"class":130},[113,994,553],{"class":213},[113,996,997],{"class":213}," 10",[113,999,559],{"class":213},[113,1001,1002,1004],{"class":115,"line":281},[113,1003,498],{"class":213},[113,1005,1006],{"class":130}," \"\"\n",[113,1008,1009,1012,1014],{"class":115,"line":287},[113,1010,1011],{"class":402},"    done",[113,1013,741],{"class":402},[113,1015,744],{"class":213},[113,1017,1018,1020,1022,1025,1027,1030],{"class":115,"line":304},[113,1019,749],{"class":126},[113,1021,752],{"class":213},[113,1023,1024],{"class":130}," \"Daily Systemd Failure Report for $(",[113,1026,718],{"class":126},[113,1028,1029],{"class":130},")\"",[113,1031,762],{"class":130},[21,1033,1034,1035,1038],{},"Если список упавших служб пуст, команда ",[53,1036,1037],{},"list-units"," ничего не выведет, и письмо не отправится (проверьте логи cron, если письмо приходит пустым).",[16,1040,1042],{"id":1041},"проверка-результата","Проверка результата",[37,1044,1045,1080,1090],{},[40,1046,1047,1050,1051,1054,1055],{},[28,1048,1049],{},"Тест на сбой:"," Намеренно остановите тестовый сервис (",[53,1052,1053],{},"sudo systemctl stop nginx","). Убедитесь, что:\n",[144,1056,1057,1068,1074],{},[40,1058,1059,1062,1063,1065,1066,77],{},[53,1060,1061],{},"systemctl status nginx"," показывает ",[53,1064,157],{}," или ",[53,1067,160],{},[40,1069,1070,1073],{},[53,1071,1072],{},"journalctl -u nginx.service -f"," показывает записи о остановке.",[40,1075,1076,1077,1079],{},"Если настраивали ",[53,1078,83],{},", ваш скрипт-нотификатор должен сработать.",[40,1081,1082,1085,1086,1089],{},[28,1083,1084],{},"Проверка скрипта мониторинга:"," Запустите ",[53,1087,1088],{},"./monitor_critical.sh"," и убедитесь, что он корректно определяет статусы и выводит логи для неактивных сервисов.",[40,1091,1092,1095],{},[28,1093,1094],{},"Проверка cron-задачи:"," Можно запустить команду из crontab вручную и проверить, приходит ли письмо.",[16,1097,1099],{"id":1098},"возможные-проблемы","Возможные проблемы",[144,1101,1102,1124,1148,1166],{},[40,1103,1104,1109,1110,1113,1114,1117,1118,1120,1121,77],{},[28,1105,1106],{},[53,1107,1108],{},"Failed to connect to bus: No such file or directory"," при запуске ",[53,1111,1112],{},"systemctl"," без sudo от обычного пользователя. ",[28,1115,1116],{},"Решение:"," Используйте ",[53,1119,127],{}," или настройте права через PolicyKit (продвинутая тема). Для пользовательских служб используйте ",[53,1122,1123],{},"systemctl --user status",[40,1125,1126,1131,1132,1134,1135,1137,1138,1065,1141,1144,1145,67],{},[28,1127,1128],{},[53,1129,1130],{},"Journal has been rotated since unit was started"," или отсутствие логов в ",[53,1133,192],{},". ",[28,1136,1116],{}," Логи могли быть очищены или перемещены. Проверьте место на диске в ",[53,1139,1140],{},"/var/log/journal/",[53,1142,1143],{},"/run/log/journal/",". Убедитесь, что systemd-journald работает (",[53,1146,1147],{},"systemctl status systemd-journald",[40,1149,1150,860,1156,1158,1159,1162,1163,77],{},[28,1151,1152,1153,1155],{},"Сервис падает сразу после запуска, но ",[53,1154,102],{}," не показывает явной ошибки.",[28,1157,1116],{}," Смотрите логи с самого начала загрузки юнита: ",[53,1160,1161],{},"sudo journalctl -u \u003Cсервис> -b -e"," (последние записи текущей загрузки) или ",[53,1164,1165],{},"sudo journalctl -u \u003Cсервис> --since \"5 minutes ago\"",[40,1167,1168,860,1174,1176,1177,1179,1180,1183,1184,1186,1187,77],{},[28,1169,1170,1171,1173],{},"Оповещение через ",[53,1172,83],{}," не срабатывает.",[28,1175,1116],{}," Убедитесь, что ",[53,1178,622],{}," существует, включён (",[53,1181,1182],{},"systemctl enable send-failure-alert.service",") и что в конфиге основного сервиса правильно указано имя службы-нотификатора. Проверьте логи самого ",[53,1185,622],{}," через ",[53,1188,1189],{},"journalctl -u send-failure-alert.service",[1191,1192,1193],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":109,"searchDepth":123,"depth":123,"links":1195},[1196,1197,1198,1199,1200,1201,1202,1203,1204,1205],{"id":18,"depth":123,"text":19},{"id":34,"depth":123,"text":35},{"id":95,"depth":123,"text":96},{"id":182,"depth":123,"text":183},{"id":374,"depth":123,"text":375},{"id":603,"depth":123,"text":604},{"id":817,"depth":123,"text":818},{"id":867,"depth":123,"text":868},{"id":1041,"depth":123,"text":1042},{"id":1098,"depth":123,"text":1099},null,"2026-04-08 13:40:59","Узнайте, как эффективно отслеживать работу служб systemd: от базовых команд systemctl и journalctl до настройки оповещений. Пошаговая инструкция для администраторов Linux.","medium",false,"15-30 мин","md",[1214,1217,1220,1223],{"question":1215,"answer":1216},"В чём разница между `systemctl status` и `journalctl` для диагностики?","`systemctl status` показывает текущее состояние юнита (запущен, остановлен, ошибка) и последние логи из журнала. `journalctl` даёт полный доступ ко всем логам systemd с возможностью фильтрации по времени, службе и приоритету. Первое — для быстрой проверки, второе — для глубокого анализа.",{"question":1218,"answer":1219},"Как настроить автоматическое оповещение при падении критического сервиса?","Используйте `OnFailure=` в юните сервиса, чтобы запустить скрипт-нотификатор при аварийном завершении. Альтернативно — настройте внешний мониторинг (например, через monit или systemd watchdog), который будет периодически проверять `systemctl is-active` и отправлять уведомления.",{"question":1221,"answer":1222},"Почему `journalctl` не показывает логи моего сервиса, хотя он работает?","Сервис может перенаправлять вывод в свой собственный файл лога (через `StandardOutput=append:/var/log/myservice.log`). Проверьте конфигурационный файл юнита (`/etc/systemd/system/`) на наличие директив `StandardOutput` или `StandardError`. Также убедитесь, что у вашего пользователя есть права на чтение журнала (обычно требуется группа `adm` или `systemd-journal`).",{"question":1224,"answer":1225},"Как мониторить службы без root-прав?","Для `systemctl status` нужны права на чтение состояния юнитов — их может иметь группа `systemd-journal` или `wheel`. Для `journalctl` — права на чтение журнала. Попросите администратора добавить вашу учётную запись в соответствующую группу. Без прав можно мониторить только те сервисы, которые запущены от вашего пользователя (user services).",[1227,1230,1233,1236,1239,1242],{"name":1228,"text":1229},"Проверка базового статуса сервиса","Используйте `systemctl status \u003Cимя_сервиса>` для получения информации о состоянии, PID, времени запуска и последних логах сервиса. Пример: `systemctl status nginx`.",{"name":1231,"text":1232},"Анализ логов через journalctl","Изучите полные логи сервиса командой `journalctl -u \u003Cимя_сервиса>`. Добавьте флаги: `-f` для слежения в реальном времени, `--since` для фильтрации по времени, `-p err` для показа только ошибок.",{"name":1234,"text":1235},"Мониторинг нескольких сервисов одновременно","Создайте простой bash-скрипт, который циклически проверяет `systemctl is-active --quiet \u003Cсервис>` для критичных служб и выводит статус. Запустите его через `watch -n 5 ./monitor.sh` для обновления каждые 5 секунд.",{"name":1237,"text":1238},"Настройка оповещений через systemd","В файле юнита сервиса (`/etc/systemd/system/\u003Cсервис>.service`) добавьте строку `OnFailure=notify-failure.service`. Создайте отдельный юнит `notify-failure.service`, который будет запускать скрипт отправки email/telegram-сообщения при сбое основного сервиса.",{"name":1240,"text":1241},"Визуализация с помощью third-party инструментов","Для графического мониторинга установите и настройте `systemd-analyze plot > boot.svg` для анализа времени загрузки, или используйте `netdata` / `prometheus node_exporter` с модулем systemd для веб-дашбордов.",{"name":1243,"text":1244},"Автоматизация проверки и создания отчётов","Настройте `cron`-задачу, которая раз в день запускает `systemctl list-units --type=service --state=failed` и отправляет результат на почту, если есть упавшие сервисы. Пример задачи: `0 8 * * * /usr/bin/systemctl list-units --type=service --state=failed | mail -s \"Daily Systemd Report\" admin@example.com`.","PT20M",[1247,1248,1249,1250,1251,1252,1253],"мониторинг systemd сервисов","проверить статус службы systemd","journalctl примеры использования","systemctl status объяснение","как посмотреть логи systemd","systemd service not running","отслеживание работы сервисов linux","ru_RU",{},"/guides/linux/monitor-systemd-services","linux",[1259,1260,1261],"/guides/linux/systemd-service-recovery","/guides/linux/systemd-timers-basics","/errors/linux/systemd-failed-to-start","Гайды Linux",{"title":5,"description":1208},"guides/linux/monitor-systemd-services","Это руководство научит вас comprehensively monitor systemd services: проверять их статус, анализировать логи в реальном времени и настраивать базовые оповещения. Вы сможете быстро диагностировать сбои и обеспечивать стабильность системы.",[849,1267,1257,1268,192,1269],"мониторинг","services","администрирование","guide","jKHXQJnn9vsoH1Q98kUg02xdeNT-agst-Els3u6ewm8",{"data":1273,"body":1274},{},{"type":1275,"children":1276},"root",[1277],{"type":1278,"tag":21,"props":1279,"children":1280},"element",{},[1281,1287,1289,1294],{"type":1278,"tag":53,"props":1282,"children":1284},{"className":1283},[],[1285],{"type":1286,"value":102},"text",{"type":1286,"value":1288}," показывает текущее состояние юнита (запущен, остановлен, ошибка) и последние логи из журнала. ",{"type":1278,"tag":53,"props":1290,"children":1292},{"className":1291},[],[1293],{"type":1286,"value":192},{"type":1286,"value":1295}," даёт полный доступ ко всем логам systemd с возможностью фильтрации по времени, службе и приоритету. Первое — для быстрой проверки, второе — для глубокого анализа.",{"data":1297,"body":1298},{},{"type":1275,"children":1299},[1300],{"type":1278,"tag":21,"props":1301,"children":1302},{},[1303,1305,1310,1312,1318],{"type":1286,"value":1304},"Используйте ",{"type":1278,"tag":53,"props":1306,"children":1308},{"className":1307},[],[1309],{"type":1286,"value":610},{"type":1286,"value":1311}," в юните сервиса, чтобы запустить скрипт-нотификатор при аварийном завершении. Альтернативно — настройте внешний мониторинг (например, через monit или systemd watchdog), который будет периодически проверять ",{"type":1278,"tag":53,"props":1313,"children":1315},{"className":1314},[],[1316],{"type":1286,"value":1317},"systemctl is-active",{"type":1286,"value":1319}," и отправлять уведомления.",{"data":1321,"body":1322},{},{"type":1275,"children":1323},[1324],{"type":1278,"tag":21,"props":1325,"children":1326},{},[1327,1329,1335,1337,1342,1344,1350,1351,1357,1359,1365,1366,1372],{"type":1286,"value":1328},"Сервис может перенаправлять вывод в свой собственный файл лога (через ",{"type":1278,"tag":53,"props":1330,"children":1332},{"className":1331},[],[1333],{"type":1286,"value":1334},"StandardOutput=append:/var/log/myservice.log",{"type":1286,"value":1336},"). Проверьте конфигурационный файл юнита (",{"type":1278,"tag":53,"props":1338,"children":1340},{"className":1339},[],[1341],{"type":1286,"value":87},{"type":1286,"value":1343},") на наличие директив ",{"type":1278,"tag":53,"props":1345,"children":1347},{"className":1346},[],[1348],{"type":1286,"value":1349},"StandardOutput",{"type":1286,"value":1065},{"type":1278,"tag":53,"props":1352,"children":1354},{"className":1353},[],[1355],{"type":1286,"value":1356},"StandardError",{"type":1286,"value":1358},". Также убедитесь, что у вашего пользователя есть права на чтение журнала (обычно требуется группа ",{"type":1278,"tag":53,"props":1360,"children":1362},{"className":1361},[],[1363],{"type":1286,"value":1364},"adm",{"type":1286,"value":1065},{"type":1278,"tag":53,"props":1367,"children":1369},{"className":1368},[],[1370],{"type":1286,"value":1371},"systemd-journal",{"type":1286,"value":67},{"data":1374,"body":1375},{},{"type":1275,"children":1376},[1377],{"type":1278,"tag":21,"props":1378,"children":1379},{},[1380,1382,1387,1389,1394,1395,1401,1403,1408],{"type":1286,"value":1381},"Для ",{"type":1278,"tag":53,"props":1383,"children":1385},{"className":1384},[],[1386],{"type":1286,"value":102},{"type":1286,"value":1388}," нужны права на чтение состояния юнитов — их может иметь группа ",{"type":1278,"tag":53,"props":1390,"children":1392},{"className":1391},[],[1393],{"type":1286,"value":1371},{"type":1286,"value":1065},{"type":1278,"tag":53,"props":1396,"children":1398},{"className":1397},[],[1399],{"type":1286,"value":1400},"wheel",{"type":1286,"value":1402},". Для ",{"type":1278,"tag":53,"props":1404,"children":1406},{"className":1405},[],[1407],{"type":1286,"value":192},{"type":1286,"value":1409}," — права на чтение журнала. Попросите администратора добавить вашу учётную запись в соответствующую группу. Без прав можно мониторить только те сервисы, которые запущены от вашего пользователя (user services).",{"data":1411,"body":1412},{},{"type":1275,"children":1413},[1414],{"type":1278,"tag":21,"props":1415,"children":1416},{},[1417,1418,1424,1426,1431],{"type":1286,"value":1304},{"type":1278,"tag":53,"props":1419,"children":1421},{"className":1420},[],[1422],{"type":1286,"value":1423},"systemctl status \u003Cимя_сервиса>",{"type":1286,"value":1425}," для получения информации о состоянии, PID, времени запуска и последних логах сервиса. Пример: ",{"type":1278,"tag":53,"props":1427,"children":1429},{"className":1428},[],[1430],{"type":1286,"value":1061},{"type":1286,"value":77},{"data":1433,"body":1434},{},{"type":1275,"children":1435},[1436],{"type":1278,"tag":21,"props":1437,"children":1438},{},[1439,1441,1447,1449,1455,1457,1463,1465,1471],{"type":1286,"value":1440},"Изучите полные логи сервиса командой ",{"type":1278,"tag":53,"props":1442,"children":1444},{"className":1443},[],[1445],{"type":1286,"value":1446},"journalctl -u \u003Cимя_сервиса>",{"type":1286,"value":1448},". Добавьте флаги: ",{"type":1278,"tag":53,"props":1450,"children":1452},{"className":1451},[],[1453],{"type":1286,"value":1454},"-f",{"type":1286,"value":1456}," для слежения в реальном времени, ",{"type":1278,"tag":53,"props":1458,"children":1460},{"className":1459},[],[1461],{"type":1286,"value":1462},"--since",{"type":1286,"value":1464}," для фильтрации по времени, ",{"type":1278,"tag":53,"props":1466,"children":1468},{"className":1467},[],[1469],{"type":1286,"value":1470},"-p err",{"type":1286,"value":1472}," для показа только ошибок.",{"data":1474,"body":1475},{},{"type":1275,"children":1476},[1477],{"type":1278,"tag":21,"props":1478,"children":1479},{},[1480,1482,1488,1490,1496],{"type":1286,"value":1481},"Создайте простой bash-скрипт, который циклически проверяет ",{"type":1278,"tag":53,"props":1483,"children":1485},{"className":1484},[],[1486],{"type":1286,"value":1487},"systemctl is-active --quiet \u003Cсервис>",{"type":1286,"value":1489}," для критичных служб и выводит статус. Запустите его через ",{"type":1278,"tag":53,"props":1491,"children":1493},{"className":1492},[],[1494],{"type":1286,"value":1495},"watch -n 5 ./monitor.sh",{"type":1286,"value":1497}," для обновления каждые 5 секунд.",{"data":1499,"body":1500},{},{"type":1275,"children":1501},[1502],{"type":1278,"tag":21,"props":1503,"children":1504},{},[1505,1507,1513,1515,1521,1523,1529],{"type":1286,"value":1506},"В файле юнита сервиса (",{"type":1278,"tag":53,"props":1508,"children":1510},{"className":1509},[],[1511],{"type":1286,"value":1512},"/etc/systemd/system/\u003Cсервис>.service",{"type":1286,"value":1514},") добавьте строку ",{"type":1278,"tag":53,"props":1516,"children":1518},{"className":1517},[],[1519],{"type":1286,"value":1520},"OnFailure=notify-failure.service",{"type":1286,"value":1522},". Создайте отдельный юнит ",{"type":1278,"tag":53,"props":1524,"children":1526},{"className":1525},[],[1527],{"type":1286,"value":1528},"notify-failure.service",{"type":1286,"value":1530},", который будет запускать скрипт отправки email/telegram-сообщения при сбое основного сервиса.",{"data":1532,"body":1533},{},{"type":1275,"children":1534},[1535],{"type":1278,"tag":21,"props":1536,"children":1537},{},[1538,1540,1545,1547,1552,1554,1560],{"type":1286,"value":1539},"Для графического мониторинга установите и настройте ",{"type":1278,"tag":53,"props":1541,"children":1543},{"className":1542},[],[1544],{"type":1286,"value":863},{"type":1286,"value":1546}," для анализа времени загрузки, или используйте ",{"type":1278,"tag":53,"props":1548,"children":1550},{"className":1549},[],[1551],{"type":1286,"value":832},{"type":1286,"value":1553}," / ",{"type":1278,"tag":53,"props":1555,"children":1557},{"className":1556},[],[1558],{"type":1286,"value":1559},"prometheus node_exporter",{"type":1286,"value":1561}," с модулем systemd для веб-дашбордов.",{"data":1563,"body":1564},{},{"type":1275,"children":1565},[1566],{"type":1278,"tag":21,"props":1567,"children":1568},{},[1569,1570,1575,1577,1583,1585,1591],{"type":1286,"value":871},{"type":1278,"tag":53,"props":1571,"children":1573},{"className":1572},[],[1574],{"type":1286,"value":874},{"type":1286,"value":1576},"-задачу, которая раз в день запускает ",{"type":1278,"tag":53,"props":1578,"children":1580},{"className":1579},[],[1581],{"type":1286,"value":1582},"systemctl list-units --type=service --state=failed",{"type":1286,"value":1584}," и отправляет результат на почту, если есть упавшие сервисы. Пример задачи: ",{"type":1278,"tag":53,"props":1586,"children":1588},{"className":1587},[],[1589],{"type":1286,"value":1590},"0 8 * * * /usr/bin/systemctl list-units --type=service --state=failed | mail -s \"Daily Systemd Report\" admin@example.com",{"type":1286,"value":77},[1593],{"id":1594,"title":1595,"appliesTo":1596,"author":11,"body":1599,"canonical":1206,"code":2469,"createdAt":2470,"description":2471,"difficulty":1209,"draft":1210,"estimatedTime":2472,"extension":1212,"faq":2473,"howToSteps":2486,"howToTotalTime":1245,"image":1206,"keywords":2505,"locale":1254,"meta":2514,"navigation":223,"path":1261,"platform":1257,"related":2515,"section":2519,"seo":2520,"severity":2521,"stem":2522,"summary":2523,"tags":2524,"twitterCreator":1206,"twitterSite":1206,"type":2528,"updatedAt":2470,"__hash__":2529},"content_ru/errors/linux/systemd-failed-to-start.md","systemd-failed-to-start: причины и методы исправления ошибки запуска",[1597,7,9,1598,10],"systemd 245+","CentOS 8+",{"type":13,"value":1600,"toc":2453},[1601,1608,1618,1625,1640,1644,1647,1724,1728,1735,1738,1814,1831,1835,1838,1961,1965,2069,2073,2076,2165,2169,2235,2237,2241,2244,2369,2373,2376,2450],[16,1602,1604,1605],{"id":1603},"что-означает-ошибка-systemd-failed-to-start","Что означает ошибка ",[53,1606,1607],{},"systemd-failed-to-start",[21,1609,1610,1611,1614,1615,1617],{},"Ошибка ",[28,1612,1613],{},"Failed to start"," — это общий статус, который systemd присваивает службе (юниту), когда процесс её запуска завершился с ненулевым кодом возврата, превысил заданный таймаут или столкнулся с критической проблемой при инициализации. В выводе команды ",[53,1616,102],{}," она выглядит как:",[104,1619,1623],{"className":1620,"code":1622,"language":1286},[1621],"language-text","● some-service.service - Some Service Description\n   Loaded: loaded (/etc/systemd/system/some-service.service; enabled; vendor preset: enabled)\n   Active: **failed** (Result: exit-code) since Thu 2026-02-15 10:30:00 MSK; 1min 30s ago\n  Process: 1234 ExecStart=/usr/bin/some-service (code=exited, status=1/FAILURE)\n",[53,1624,1622],{"__ignoreMap":109},[21,1626,1627,1628,1631,1632,1635,1636,1639],{},"Ключевые флаги: ",[53,1629,1630],{},"Active: failed"," и ",[53,1633,1634],{},"Result: exit-code"," (или ",[53,1637,1638],{},"timeout","). Эта ошибка блокирует работу сервиса и может помешать загрузке системы, если юнит критичен.",[16,1641,1643],{"id":1642},"причины-возникновения","Причины возникновения",[21,1645,1646],{},"Причины носят конкретный технический характер:",[37,1648,1649,1673,1686,1692,1705,1714],{},[40,1650,1651,1654,1655,1657,1658,1661,1662,60,1665,1668,1669,1672],{},[28,1652,1653],{},"Некорректный конфигурационный файл юнита"," (",[53,1656,55],{},"). Ошибки в секциях ",[53,1659,1660],{},"[Service]"," (неверный путь в ",[53,1663,1664],{},"ExecStart",[53,1666,1667],{},"ExecStartPre","), ",[53,1670,1671],{},"[Install]"," или синтаксис.",[40,1674,1675,1678,1679,1682,1683,67],{},[28,1676,1677],{},"Недостаток прав доступа",". Служба пытается прочитать/записать в каталог, к которому у неё нет прав (например, ",[53,1680,1681],{},"/var/log/app/","), или запускается от неправильного пользователя (",[53,1684,1685],{},"User=",[40,1687,1688,1691],{},[28,1689,1690],{},"Конфликт ресурсов",". Порт уже занят другим процессом, недостаточно памяти (OOM Killer), не хватает дескрипторов файлов.",[40,1693,1694,1697,1698,1065,1701,1704],{},[28,1695,1696],{},"Зависимости не выполнены",". Указанные в ",[53,1699,1700],{},"Requires=",[53,1702,1703],{},"After="," службы не запустились или завершились с ошибкой.",[40,1706,1707,1710,1711,1713],{},[28,1708,1709],{},"Повреждение бинарного файла или зависимостей приложения",". Файл, указанный в ",[53,1712,1664],{},", отсутствует, неисправен или не может загрузить нужные библиотеки.",[40,1715,1716,1719,1720,1723],{},[28,1717,1718],{},"Превышение таймаута",". Приложение долго не отвечает на запросы инициализации, и systemd убивает его по истечении ",[53,1721,1722],{},"TimeoutStartSec="," (по умолчанию 90 сек).",[16,1725,1727],{"id":1726},"способы-решения","Способы решения",[1729,1730,1732,1733],"h3",{"id":1731},"способ-1-анализ-логов-службы-через-journalctl","Способ 1: Анализ логов службы через ",[53,1734,192],{},[21,1736,1737],{},"Это первый и самый важный шаг. Логи systemd содержат детальный вывод программы.",[37,1739,1740,1746,1771,1789],{},[40,1741,1742,1743,67],{},"Узнайте точное имя службы (например, ",[53,1744,1745],{},"nginx.service",[40,1747,1748,1749,1752,1753],{},"Выполните команду для просмотра логов ",[28,1750,1751],{},"за текущую загрузку",":\n",[104,1754,1756],{"className":106,"code":1755,"language":108,"meta":109,"style":109},"journalctl -u nginx.service -b --no-pager\n",[53,1757,1758],{"__ignoreMap":109},[113,1759,1760,1762,1764,1766,1769],{"class":115,"line":116},[113,1761,192],{"class":126},[113,1763,214],{"class":213},[113,1765,242],{"class":130},[113,1767,1768],{"class":213}," -b",[113,1770,559],{"class":213},[40,1772,1773,1774,60,1777,60,1780,60,1783,60,1786,77],{},"Внимательно изучите последние 20-30 строк. Ищите слова ",[28,1775,1776],{},"Failed",[28,1778,1779],{},"Error",[28,1781,1782],{},"(code=exited, status=...)",[28,1784,1785],{},"Permission denied",[28,1787,1788],{},"No such file or directory",[40,1790,1791,1792],{},"Если лог обширный, фильтруйте по уровню ошибки:\n",[104,1793,1795],{"className":106,"code":1794,"language":108,"meta":109,"style":109},"journalctl -u nginx.service -b -p err --no-pager\n",[53,1796,1797],{"__ignoreMap":109},[113,1798,1799,1801,1803,1805,1807,1809,1812],{"class":115,"line":116},[113,1800,192],{"class":126},[113,1802,214],{"class":213},[113,1804,242],{"class":130},[113,1806,1768],{"class":213},[113,1808,270],{"class":213},[113,1810,1811],{"class":130}," err",[113,1813,559],{"class":213},[1815,1816,1817],"blockquote",{},[21,1818,1819,1820,1823,1824,1827,1828,1830],{},"💡 ",[28,1821,1822],{},"Совет",": Добавьте флаг ",[53,1825,1826],{},"-e"," для открытия лога сразу в конце, или ",[53,1829,1454],{}," для отслеживания в реальном времени при перезапуске службы.",[1729,1832,1834],{"id":1833},"способ-2-проверка-и-исправление-конфигурационного-файла","Способ 2: Проверка и исправление конфигурационного файла",[21,1836,1837],{},"Ошибки в юнит-файле — частая причина.",[37,1839,1840,1869,1891,1944],{},[40,1841,1842,1843],{},"Найдите файл службы:\n",[104,1844,1846],{"className":106,"code":1845,"language":108,"meta":109,"style":109},"systemctl status nginx.service | grep Loaded\n# Вывод: Loaded: loaded (/etc/systemd/system/nginx.service; enabled; ...)\n",[53,1847,1848,1864],{"__ignoreMap":109},[113,1849,1850,1852,1854,1856,1858,1861],{"class":115,"line":116},[113,1851,1112],{"class":126},[113,1853,134],{"class":130},[113,1855,242],{"class":130},[113,1857,741],{"class":402},[113,1859,1860],{"class":126}," grep",[113,1862,1863],{"class":130}," Loaded\n",[113,1865,1866],{"class":115,"line":123},[113,1867,1868],{"class":119},"# Вывод: Loaded: loaded (/etc/systemd/system/nginx.service; enabled; ...)\n",[40,1870,1871,1872,1890],{},"Проверьте синтаксис:\n",[104,1873,1875],{"className":106,"code":1874,"language":108,"meta":109,"style":109},"sudo systemd-analyze verify /etc/systemd/system/nginx.service\n",[53,1876,1877],{"__ignoreMap":109},[113,1878,1879,1881,1884,1887],{"class":115,"line":116},[113,1880,127],{"class":126},[113,1882,1883],{"class":130}," systemd-analyze",[113,1885,1886],{"class":130}," verify",[113,1888,1889],{"class":130}," /etc/systemd/system/nginx.service\n","\nКоманда покажет строку с ошибкой, если она есть (например, \"Invalid command 'Execstar', not part of a unit configuration\").",[40,1892,1893,1894,1897,1898],{},"Откройте файл в редакторе (",[53,1895,1896],{},"sudo nano /etc/systemd/system/nginx.service",") и проверьте:\n",[144,1899,1900,1915,1925,1937],{},[40,1901,1902,1903,60,1905,1907,1908,1065,1911,1914],{},"Пути в ",[53,1904,1664],{},[53,1906,1667],{},": существуют ли они? (",[53,1909,1910],{},"which some-binary",[53,1912,1913],{},"ls -la /path/to/file",")",[40,1916,1917,1918,1921,1922,67],{},"Права на исполняемый файл (",[53,1919,1920],{},"ls -l /usr/bin/some-binary"," — должен быть ",[53,1923,1924],{},"-rwxr-xr-x",[40,1926,1927,1928,1930,1931,1631,1933,1936],{},"Секцию ",[53,1929,1660],{},": правильно ли указаны ",[53,1932,1685],{},[53,1934,1935],{},"Group=","? Существует ли такой пользователь/группа?",[40,1938,1939,1940,1943],{},"Директиву ",[53,1941,1942],{},"WorkingDirectory=",": существует ли каталог?",[40,1945,1946,1947],{},"После исправлений выполните:\n",[104,1948,1950],{"className":106,"code":1949,"language":108,"meta":109,"style":109},"sudo systemctl daemon-reload\n",[53,1951,1952],{"__ignoreMap":109},[113,1953,1954,1956,1958],{"class":115,"line":116},[113,1955,127],{"class":126},[113,1957,131],{"class":130},[113,1959,1960],{"class":130}," daemon-reload\n",[1729,1962,1964],{"id":1963},"способ-3-проверка-зависимостей-и-конфликтов-портовресурсов","Способ 3: Проверка зависимостей и конфликтов портов/ресурсов",[37,1966,1967,1999,2024],{},[40,1968,1969,1972,1973,1998],{},[28,1970,1971],{},"Проверьте, не занят ли порт"," (если служба сетевая):\n",[104,1974,1976],{"className":106,"code":1975,"language":108,"meta":109,"style":109},"sudo ss -tulpn | grep :80  # Замените 80 на порт вашей службы\n",[53,1977,1978],{"__ignoreMap":109},[113,1979,1980,1982,1985,1988,1990,1992,1995],{"class":115,"line":116},[113,1981,127],{"class":126},[113,1983,1984],{"class":130}," ss",[113,1986,1987],{"class":213}," -tulpn",[113,1989,741],{"class":402},[113,1991,1860],{"class":126},[113,1993,1994],{"class":130}," :80",[113,1996,1997],{"class":119},"  # Замените 80 на порт вашей службы\n","\nЕсли порт занят другим процессом, найдите и остановите его или измените порт в конфиге службы.",[40,2000,2001,1752,2004,2021,2022,77],{},[28,2002,2003],{},"Проверьте, все ли требуемые службы работают",[104,2005,2007],{"className":106,"code":2006,"language":108,"meta":109,"style":109},"systemctl list-dependencies nginx.service --reverse\n",[53,2008,2009],{"__ignoreMap":109},[113,2010,2011,2013,2016,2018],{"class":115,"line":116},[113,2012,1112],{"class":126},[113,2014,2015],{"class":130}," list-dependencies",[113,2017,242],{"class":130},[113,2019,2020],{"class":213}," --reverse\n","\nЭто покажет, какие службы зависят от nginx. Убедитесь, что они в состоянии ",[53,2023,154],{},[40,2025,2026,1752,2029,2068],{},[28,2027,2028],{},"Проверьте наличие свободных ресурсов",[104,2030,2032],{"className":106,"code":2031,"language":108,"meta":109,"style":109},"free -h        # Память\ndf -h /var     # Дисковое пространство (особенно для логов)\nulimit -n      # Лимит дескрипторов файлов (может быть мал)\n",[53,2033,2034,2045,2058],{"__ignoreMap":109},[113,2035,2036,2039,2042],{"class":115,"line":116},[113,2037,2038],{"class":126},"free",[113,2040,2041],{"class":213}," -h",[113,2043,2044],{"class":119},"        # Память\n",[113,2046,2047,2050,2052,2055],{"class":115,"line":123},[113,2048,2049],{"class":126},"df",[113,2051,2041],{"class":213},[113,2053,2054],{"class":130}," /var",[113,2056,2057],{"class":119},"     # Дисковое пространство (особенно для логов)\n",[113,2059,2060,2063,2065],{"class":115,"line":220},[113,2061,2062],{"class":213},"ulimit",[113,2064,553],{"class":213},[113,2066,2067],{"class":119},"      # Лимит дескрипторов файлов (может быть мал)\n","\nНедостаток любого ресурса может привести к падению службы при старте.",[1729,2070,2072],{"id":2071},"способ-4-восстановление-из-пакета-или-ручная-переустановка","Способ 4: Восстановление из пакета или ручная переустановка",[21,2074,2075],{},"Если служба установлена из пакетного менеджера (apt, dnf, yum), её конфигурация могла быть повреждена.",[37,2077,2078,2124,2146],{},[40,2079,2080,1752,2083,2116,2117,2120,2121,77],{},[28,2081,2082],{},"Debian/Ubuntu",[104,2084,2086],{"className":106,"code":2085,"language":108,"meta":109,"style":109},"sudo apt update\nsudo apt install --reinstall nginx  # Замените nginx на имя пакета\n",[53,2087,2088,2098],{"__ignoreMap":109},[113,2089,2090,2092,2095],{"class":115,"line":116},[113,2091,127],{"class":126},[113,2093,2094],{"class":130}," apt",[113,2096,2097],{"class":130}," update\n",[113,2099,2100,2102,2104,2107,2110,2113],{"class":115,"line":123},[113,2101,127],{"class":126},[113,2103,2094],{"class":130},[113,2105,2106],{"class":130}," install",[113,2108,2109],{"class":213}," --reinstall",[113,2111,2112],{"class":130}," nginx",[113,2114,2115],{"class":119},"  # Замените nginx на имя пакета\n","\nЭто восстановит файлы из ",[53,2118,2119],{},"/usr/share/doc/nginx/examples/"," или оригинальные конфиги в ",[53,2122,2123],{},"/etc/",[40,2125,2126,1752,2129],{},[28,2127,2128],{},"RHEL/CentOS/Fedora",[104,2130,2132],{"className":106,"code":2131,"language":108,"meta":109,"style":109},"sudo dnf reinstall nginx\n",[53,2133,2134],{"__ignoreMap":109},[113,2135,2136,2138,2141,2144],{"class":115,"line":116},[113,2137,127],{"class":126},[113,2139,2140],{"class":130}," dnf",[113,2142,2143],{"class":130}," reinstall",[113,2145,137],{"class":130},[40,2147,2148,2149,2152,2153,2156,2157,2160,2161,2164],{},"После переустановки ",[28,2150,2151],{},"не перезаписывайте"," свои кастомные настройки в ",[53,2154,2155],{},"/etc/nginx/nginx.conf"," (если они были), если пакетный менеджер спросит. Сравните старый и новый файлы конфигурации юнита (",[53,2158,2159],{},"/lib/systemd/system/nginx.service"," vs ",[53,2162,2163],{},"/etc/systemd/system/nginx.service","). Часто правильнее скопировать свои правки в новый оригинальный файл, а не использовать старый повреждённый.",[16,2166,2168],{"id":2167},"профилактика","Профилактика",[144,2170,2171,2181,2198,2209,2225],{},[40,2172,2173,2176,2177,2180],{},[28,2174,2175],{},"Всегда проверяйте синтаксис"," конфигурационных файлов службы и самого приложения (например, ",[53,2178,2179],{},"nginx -t",") перед перезагрузкой systemd.",[40,2182,2183,2187,2188,2192,2193,1065,2195,77],{},[28,2184,1304,2185],{},[53,2186,91],{}," после ",[2189,2190,2191],"em",{},"любого"," изменения файла юнита в ",[53,2194,87],{},[53,2196,2197],{},"/lib/systemd/system/",[40,2199,2200,1654,2203,60,2205,2208],{},[28,2201,2202],{},"Настраивайте разумные таймауты",[53,2204,1722],{},[53,2206,2207],{},"TimeoutStopSec=",") для долгих служб, чтобы избежать ложных срабатываний.",[40,2210,2211,2214,2215,60,2218,60,2221,2224],{},[28,2212,2213],{},"Следите за правами"," на каталоги, с которыми работает служба (",[53,2216,2217],{},"/var/log/",[53,2219,2220],{},"/var/lib/",[53,2222,2223],{},"/run/","). Рекомендуется создавать отдельного пользователя/группу для каждой службы.",[40,2226,2227,2230,2231,2234],{},[28,2228,2229],{},"Периодически проверяйте логи"," на предмет предупреждений (",[53,2232,2233],{},"journalctl -u \u003Cслужба>.service -p warning",") до того, как они превратятся в ошибки.",[370,2236],{},[1729,2238,2240],{"id":2239},"способ-n-откат-к-предыдущей-рабочей-конфигурации-если-используется-git","Способ N: Откат к предыдущей рабочей конфигурации (если используется Git)",[21,2242,2243],{},"Если конфигурационные файлы службы находятся под контролем версий (что хорошая практика):",[37,2245,2246,2279,2313,2366],{},[40,2247,2248,2249],{},"Определите, когда служба последний раз работала:\n",[104,2250,2252],{"className":106,"code":2251,"language":108,"meta":109,"style":109},"sudo journalctl -u nginx.service -b --no-pager | grep -i \"started\\|failed\"\n",[53,2253,2254],{"__ignoreMap":109},[113,2255,2256,2258,2260,2262,2264,2266,2269,2271,2273,2276],{"class":115,"line":116},[113,2257,127],{"class":126},[113,2259,210],{"class":130},[113,2261,214],{"class":213},[113,2263,242],{"class":130},[113,2265,1768],{"class":213},[113,2267,2268],{"class":213}," --no-pager",[113,2270,741],{"class":402},[113,2272,1860],{"class":126},[113,2274,2275],{"class":213}," -i",[113,2277,2278],{"class":130}," \"started\\|failed\"\n",[40,2280,2281,2282],{},"Найдите коммит, после которого начались сбои:\n",[104,2283,2285],{"className":106,"code":2284,"language":108,"meta":109,"style":109},"cd /etc/systemd/system/\ngit log --oneline -p -- nginx.service\n",[53,2286,2287,2295],{"__ignoreMap":109},[113,2288,2289,2292],{"class":115,"line":116},[113,2290,2291],{"class":213},"cd",[113,2293,2294],{"class":130}," /etc/systemd/system/\n",[113,2296,2297,2300,2303,2306,2308,2311],{"class":115,"line":123},[113,2298,2299],{"class":126},"git",[113,2301,2302],{"class":130}," log",[113,2304,2305],{"class":213}," --oneline",[113,2307,270],{"class":213},[113,2309,2310],{"class":213}," --",[113,2312,217],{"class":130},[40,2314,2315,2316],{},"Временно верните предыдущую версию файла:\n",[104,2317,2319],{"className":106,"code":2318,"language":108,"meta":109,"style":109},"sudo git checkout \u003Cхэш_коммита> -- nginx.service\nsudo systemctl daemon-reload\nsudo systemctl restart nginx.service\n",[53,2320,2321,2347,2355],{"__ignoreMap":109},[113,2322,2323,2325,2328,2331,2334,2337,2340,2343,2345],{"class":115,"line":116},[113,2324,127],{"class":126},[113,2326,2327],{"class":130}," git",[113,2329,2330],{"class":130}," checkout",[113,2332,2333],{"class":402}," \u003C",[113,2335,2336],{"class":130},"хэш_коммит",[113,2338,2339],{"class":398},"а",[113,2341,2342],{"class":402},">",[113,2344,2310],{"class":213},[113,2346,217],{"class":130},[113,2348,2349,2351,2353],{"class":115,"line":123},[113,2350,127],{"class":126},[113,2352,131],{"class":130},[113,2354,1960],{"class":130},[113,2356,2357,2359,2361,2364],{"class":115,"line":220},[113,2358,127],{"class":126},[113,2360,131],{"class":130},[113,2362,2363],{"class":130}," restart",[113,2365,217],{"class":130},[40,2367,2368],{},"Если это помогло, проанализируйте, какие именно изменения сломали службу, и внесите их более аккуратно.",[1729,2370,2372],{"id":2371},"способ-n1-запуск-службы-вручную-для-отладки","Способ N+1: Запуск службы вручную для отладки",[21,2374,2375],{},"Иногда systemd \"затыкает\" вывод ошибки. Запустите исполняемый файл напрямую от того же пользователя, под которым работает служба.",[37,2377,2378,2384],{},[40,2379,2380,2381,2383],{},"Узнайте пользователя из юнит-файла (",[53,2382,1685],{},") или из лога.",[40,2385,2386,2387,2442,2443,1065,2446,2449],{},"Выполните:\n",[104,2388,2390],{"className":106,"code":2389,"language":108,"meta":109,"style":109},"sudo -u \u003Cпользователь> /usr/bin/some-service --verbose\n# или, если служба запускает скрипт:\nsudo -u \u003Cпользователь> /bin/bash -x /path/to/startup-script.sh\n",[53,2391,2392,2414,2419],{"__ignoreMap":109},[113,2393,2394,2396,2398,2400,2403,2406,2408,2411],{"class":115,"line":116},[113,2395,127],{"class":126},[113,2397,214],{"class":213},[113,2399,2333],{"class":402},[113,2401,2402],{"class":130},"пользовател",[113,2404,2405],{"class":398},"ь",[113,2407,2342],{"class":402},[113,2409,2410],{"class":130}," /usr/bin/some-service",[113,2412,2413],{"class":213}," --verbose\n",[113,2415,2416],{"class":115,"line":123},[113,2417,2418],{"class":119},"# или, если служба запускает скрипт:\n",[113,2420,2421,2423,2425,2427,2429,2431,2433,2436,2439],{"class":115,"line":220},[113,2422,127],{"class":126},[113,2424,214],{"class":213},[113,2426,2333],{"class":402},[113,2428,2402],{"class":130},[113,2430,2405],{"class":398},[113,2432,2342],{"class":402},[113,2434,2435],{"class":130}," /bin/bash",[113,2437,2438],{"class":213}," -x",[113,2440,2441],{"class":130}," /path/to/startup-script.sh\n","\nФлаги ",[53,2444,2445],{},"--verbose",[53,2447,2448],{},"-x"," (для bash) дадут подробный вывод. Часто ошибка становится очевидной при прямом запуске.",[1191,2451,2452],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":109,"searchDepth":123,"depth":123,"links":2454},[2455,2457,2458,2465],{"id":1603,"depth":123,"text":2456},"Что означает ошибка systemd-failed-to-start",{"id":1642,"depth":123,"text":1643},{"id":1726,"depth":123,"text":1727,"children":2459},[2460,2462,2463,2464],{"id":1731,"depth":220,"text":2461},"Способ 1: Анализ логов службы через journalctl",{"id":1833,"depth":220,"text":1834},{"id":1963,"depth":220,"text":1964},{"id":2071,"depth":220,"text":2072},{"id":2167,"depth":123,"text":2168,"children":2466},[2467,2468],{"id":2239,"depth":220,"text":2240},{"id":2371,"depth":220,"text":2372},"systemd-failed","2026-02-15 16:38:58","Ошибка Failed to start в systemd мешает работе сервисов. Узнайте, как быстро диагностировать проблему через journalctl и исправить её проверенными способами. Пошаговая инструкция.","15-30 минут",[2474,2477,2480,2483],{"question":2475,"answer":2476},"Что означает ошибка 'Failed to start' в выводе systemctl?","Эта ошибка означает, что systemd не смог успешно запустить указанную службу (юнит). Причина может быть в самой службе, её конфигурации, зависимостях или конфликте ресурсов.",{"question":2478,"answer":2479},"Где искать подробную информацию о причине сбоя systemd?","Используйте команду `journalctl -u \u003Cимя_службы>.service --no-pager -b`, чтобы увидеть логи конкретной службы за текущую загрузку. Ключевые слова 'Failed', 'Error', 'exit code' укажут на проблему.",{"question":2481,"answer":2482},"Может ли ошибка 'Failed to start' быть вызвана недостатком прав?","Да, часто. Если служба запускается от неправильного пользователя (например, root, а должна от nginx) или в конфиге указан недоступный путь, systemd не сможет её запустить.",{"question":2484,"answer":2485},"Как временно обойти проблему, чтобы система загрузилась?","Можно отключить problematic юнит на загрузку командой `sudo systemctl disable \u003Cслужба>.service` или запустить систему в режиме восстановления, чтобы исправить конфигурацию.",[2487,2490,2493,2496,2499,2502],{"name":2488,"text":2489},"Проверьте точное состояние службы и код ошибки","Выполните `systemctl status \u003Cслужба>.service`. В разделе 'Active:' и последних строках лога будет указан код ошибки (например, 'exit-code' или 'timeout'). Запишите его.",{"name":2491,"text":2492},"Изучите полные логи службы через journalctl","Используйте `journalctl -u \u003Cслужба>.service -b --no-pager`. Прокрутите лог до конца и найдите строки с 'Failed', 'error', 'Permission denied', 'No such file'. Это ключ к причине.",{"name":2494,"text":2495},"Проверьте конфигурационный файл юнита на синтаксис","Выполните `systemd-analyze verify /etc/systemd/system/\u003Cслужба>.service` (или путь к вашему файлу). Команда проверит синтаксис и укажет на ошибки в секциях [Service], [Install].",{"name":2497,"text":2498},"Восстановите или переустановите проблемный пакет (если применимо)","Если служба относится к пакету (например, nginx, postgresql), попробуйте `sudo apt reinstall \u003Cпакет>` (Debian/Ubuntu) или `sudo dnf reinstall \u003Cпакет>` (RHEL/Fedora). Это восстановит оригинальные файлы конфигурации.",{"name":2500,"text":2501},"Вручную исправьте найденную проблему","В зависимости от логов: исправьте путь в `ExecStart`, права на файлы (`chmod`, `chown`), разрешите конфликт портов, добавьте недостающие зависимости (`Requires=`, `After=`) в конфиг юнита.",{"name":2503,"text":2504},"Перезапустите и включите службу","После исправлений выполните `sudo systemctl daemon-reload`, затем `sudo systemctl restart \u003Cслужба>.service` и `sudo systemctl enable \u003Cслужба>.service`. Проверьте статус снова.",[2506,2507,2508,2509,2510,2511,2512,2513],"systemd failed to start","ошибка systemd юнит не запустился","failed to start служба systemd","как исправить systemd ошибка запуска","journalctl ошибка юнита","systemctl status failed","systemd dependency failed","восстановление systemd службы",{},[2516,2517,2518],"/errors/linux/systemd-unit-not-found","/errors/linux/systemd-circular-dependency","/guides/linux/systemd-service-creation","Ошибки Linux",{"title":1595,"description":2471},"high","errors/linux/systemd-failed-to-start","Статья подробно разбирает ошибку 'Failed to start' в systemd, её основные причины и 4 проверенных способа решения. Вы научитесь анализировать логи и восстанавливать работу служб.",[2525,849,1112,1269,192,2526,2527],"ошибки linux","service","boot","error","eIns-0UfD2cGVn2HufRiXZrk1AiyCuiXxeXglmXIzm0"]