Вопрос или проблема
У меня этот сервис находится в состоянии неудачи на нескольких серверах ubuntu 20 и 22, что раздражает, потому что это вызывает предупреждения в моей системе мониторинга.
Я не могу запустить сервис, это journalctl -xe
, когда я пытаюсь его запустить:
Jun 26 15:03:39 w03 systemd[1]: Запуск обновления метаданных fwupd и обновления motd...
-- Тема: Задача на запуск юнита fwupd-refresh.service начала выполнение
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Задача на запуск юнита fwupd-refresh.service начала выполнение.
--
-- Идентификатор задачи 11102154.
Jun 26 15:03:39 w03 systemd[1]: fwupd-refresh.service: Основной процесс завершился, код=выход, статус=1/ОШИБКА
-- Тема: Процесс юнита завершился
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Процесс ExecStart=, принадлежащий юниту fwupd-refresh.service, завершился.
--
-- Код выхода процесса 'выход' и его статус выхода 1.
Jun 26 15:03:39 w03 systemd[1]: fwupd-refresh.service: Не удалось завершить с результатом 'exit-code'.
-- Тема: Юнит завершился с ошибкой
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Юнит fwupd-refresh.service перешел в состояние 'неудача' с результатом 'exit-code'.
Jun 26 15:03:39 w03 systemd[1]: Не удалось запустить обновление метаданных fwupd и обновление motd.
-- Тема: Задача на запуск юнита fwupd-refresh.service завершилась с ошибкой
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Задача на запуск юнита fwupd-refresh.service завершилась с ошибкой.
Это service fwupd-refresh status
:
● fwupd-refresh.service - Обновление метаданных fwupd и обновление motd
Загружен: загружен (/lib/systemd/system/fwupd-refresh.service; статический; предустановленный производителем: отключен)
Активен: неудача (Результат: exit-code) с воскресенья 2022-06-26 15:03:39 UTC; 1мин 47с назад
TriggeredBy: ● fwupd-refresh.timer
Документы: man:fwupdmgr(1)
Процесс: 287257 ExecStart=/usr/bin/fwupdmgr refresh (код=выход, статус=1/ОШИБКА)
Основной PID: 287257 (код=выход, статус=1/ОШИБКА)
Jun 26 15:03:39 w03 systemd[1]: Запуск обновления метаданных fwupd и обновления motd...
Jun 26 15:03:39 w03 systemd[1]: fwupd-refresh.service: Основной процесс завершился, код=выход, статус=1/ОШИБКА
Jun 26 15:03:39 w03 systemd[1]: fwupd-refresh.service: Не удалось завершить с результатом 'exit-code'.
Jun 26 15:03:39 w03 systemd[1]: Не удалось запустить обновление метаданных fwupd и обновление motd.
Я не знаю, где найти дополнительные логи, чтобы понять проблему, какие идеи?
Отредактируйте файл по адресу
/lib/systemd/system/fwupd-refresh.service
Добавьте User=root, и это решит проблему с неудачей сервиса.
Затем:
systemctl daemon-reload; service fwupd-refresh restart; service fwupd-refresh status
Это пример файла сервиса.
[Unit]
Описание=Обновление метаданных fwupd и обновление motd
Документация=man:fwupdmgr(1)
После=network.target
[Service]
Тип=oneshot
Пользователь=root
КэшДиректория=fwupdmgr
СтандартнаяОшибка=null
ДинамическийПользователь=yes
ОграниченныеСемействаАдресов=AF_NETLINK AF_UNIX AF_INET AF_INET6
ФильтрСистемныхВызовов=~@mount
ЗащитаЯдерныхМодулей=yes
ЗащитаКонтрольныхГрупп=yes
ОграничениеРеальногоВремени=yes
УспешныйКодВыхода=2
ExecStart=/usr/bin/fwupdmgr refresh
Спасибо, это мне помогло. Сначала я исправил это в файле с неправильным именем, начиная с “fw…” Сервиса также не перезагрузилось, после чего я проверил имя файла, ввел “User=root” в правильный файл, и все заработало.
Ответ или решение
Невозможность запустить службу fwupd-refresh
Если вы столкнулись с проблемой запуска службы fwupd-refresh
на серверах Ubuntu 20 и 22, это может вызвать значительные неудобства, особенно если ваш мониторинг сигнализирует о сбоях. В данной статье мы рассмотрим основные причины, по которым служба может не запускаться, а также пошаговые решения этой проблемы.
1. Анализ логов
При попытке запуска службы вы можете столкнуться с сообщениями, указывающими на неудачу. Как показано в выводе journalctl -xe
, основное сообщение выглядит следующим образом:
fwupd-refresh.service: Main process exited, code=exited, status=1/FAILURE
Это указывает на то, что основной процесс службы завершил свою работу с кодом ошибки 1, что говорит о неудаче.
2. Проверка статуса службы
С помощью команды service fwupd-refresh status
вы также можете увидеть статус службы:
Active: failed (Result: exit-code)
Это подтверждает, что служба не работает, и необходимо разобраться в причинах.
3. Причины сбоя
Одной из распространенных причин, по которой служба не запускается, является отсутствие необходимых прав для выполнения команды, определенной в ExecStart
. В случае службы fwupd-refresh
, команда запускает:
/usr/bin/fwupdmgr refresh
Если эта команда требует привилегий пользователя root, но в конфигурации службы не указано, что она должна выполняться от имени root, это может вызвать сбой.
4. Решение проблемы
Для решения проблемы вам необходимо внести изменения в файл конфигурации службы. Найдите и отредактируйте файл /lib/systemd/system/fwupd-refresh.service
. Следуйте этим шагам:
-
Откройте файл для редактирования:
sudo nano /lib/systemd/system/fwupd-refresh.service
-
В секцию
[Service]
добавьте строку:User=root
Это позволит службе
fwupd-refresh
выполняться с необходимыми правами. -
После внесения изменений сохраните файл и закройте редактор.
-
Обновите конфигурацию системного демона:
sudo systemctl daemon-reload
-
Попробуйте перезапустить службу:
sudo service fwupd-refresh restart
-
Проверьте статус службы вновь, чтобы удостовериться, что она работает корректно:
sudo service fwupd-refresh status
5. Заключение
После выполнения этих действий служба fwupd-refresh
должна успешно стартовать и завершать работу без ошибок. Если проблема сохраняется, убедитесь, что вы редактируете правильный файл службы и действуете от имени пользователя с необходимыми правами. Также наличие обновлений для fwupd
может быть полезным — выполните команду для установки обновлений, если это еще не было сделано.
Эти шаги помогут устранить проблему с запуском и позволят вашему мониторингу не сигнализировать о сбоях в работе службы, что повысит общую стабильность вашей системы.