Ошибка fwupd-refresh.service
У меня есть VPS, и после проверки
systemctl, я заметил, что мой fwupd-refresh.service не работает.
Можете ли вы объяснить проблему и не могли бы вы помочь ее исправить?
5 ответов
В некоторых случаях эту ошибку можно смело игнорировать. просто выполняет
/usr/bin/fwupdmgr refreshкоманда и обрабатывает статус выхода
2как успех (см. последние 2 строки
fwupd-refresh.service). Но
fwupdmgrтакже может успешно выйти со статусом, который будет ошибочно интерпретирован systemd как ошибка.
systemctl cat fwupd-refresh:# /lib/systemd/system/fwupd-refresh.service [Unit] Description=Refresh fwupd metadata and update motd Documentation=man:fwupdmgr(1) After=network.target [Service] Type=oneshot CacheDirectory=fwupdmgr StandardError=null DynamicUser=yes RestrictAddressFamilies=AF_NETLINK AF_UNIX AF_INET AF_INET6 SystemCallFilter=~@mount ProtectKernelModules=yes ProtectControlGroups=yes RestrictRealtime=yes SuccessExitStatus=2 ExecStart=/usr/bin/fwupdmgr refreshsudo /usr/bin/fwupdmgr refresh:... Successfully downloaded new metadata: 0 local devices supportedecho $?:0man fwupdmgr:EXIT STATUS Commands that successfully execute will return "0", but commands that have no actions but successfully execute will return "2".
В моем случае (Ubuntu Server 20.04 с последними обновлениями)
DynamicUser=noобеспечивает быстрое и грязное решение.
Сначала запустите «systemctl edit fwupd-refresh» и введите:
[Service]
DynamicUser=no
Затем запустите «systemctl restart fwupd-refresh» и наслаждайтесь.
fwupd-refresh.service Загружено: замаскировано
Замаскированная служба отключена и не может быть активирована другим устройством (таймерами, целями, службами...), которое в ней нуждается, или вручную. Это более сильная версия отключения службы.
fwupd-refresh.timer: ...сбой...модуль fwupd-refresh замаскирован.
Чтобы изменить это:
sudo systemctl unmask fwupd-refresh
Тогда это:
sudo systemctl daemon-reload && systemctl start fwupd-refresh.service
systemctl list-units --failed
Если fwupd-refresh указан как неудавшийся, то:
Раскомментировать
#DynamicUser=yesв /lib/systemd/system/fwupd-refresh.service
https://www.freedesktop.org/software/systemd/man/systemd.exec.html#DynamicUser=
Я решил свою проблему с этим https://github.com/fwupd/fwupd/wiki/PluginFlag:legacy-bios
Просто добавьте «биос» в конце этой строкиDisabledPlugins=test;invalid;biosв
/etc/fwupd/daemon.conf
Проблема возникает из-за того, что модуль «fwupd-refresh» возвращает «2» в случае успеха и должен возвращать «1» в случае успеха, чего и ожидает Ubuntu.
Чтобы исправить, отредактируйте файл:/lib/systemd/system/fwupd-refresh.service
И измените эту строку:
SuccessExitStatus=2
Так что читается:
SuccessExitStatus=1
После редактирования файла запустите эту команду, чтобы перезапустить службу:
sudo systemctl daemon-reload && sudo systemctl start fwupd-refresh.service
Сделанный.
Чтобы убедиться, что это сработало, выполните эту команду:
sudo systemctl status fwupd-refresh.service
Приведенная выше команда показывает этот вывод для меня, когда я запускаю ее:
/lib/systemd/system: sudo systemctl status fwupd-refresh.service
fwupd-refresh.service - Refresh fwupd metadata and update motd
Loaded: loaded (/lib/systemd/system/fwupd-refresh.service; static; vendor preset: enabled)
Drop-In: /etc/systemd/system/fwupd-refresh.service.d
└─override.conf
Active: inactive (dead) since Sat 2023-01-28 04:35:26 PST; 8min ago
TriggeredBy: fwupd-refresh.timer
Docs: man:fwupdmgr(1)
Process: 129096 ExecStart=/usr/bin/fwupdmgr refresh (code=exited, status=1/FAILURE)
Main PID: 129096 (code=exited, status=1/FAILURE)
Jan 28 04:35:26 bithi systemd[1]: Starting Refresh fwupd metadata and update motd...
Jan 28 04:35:26 bithi systemd[1]: fwupd-refresh.service: Succeeded.
Jan 28 04:35:26 bithi systemd[1]: Finished Refresh fwupd metadata and update motd.
Несмотря на то, что вы по-прежнему будете видеть строку, выделенную красным цветом «(code=exited, status=1/FAILURE)», вы больше не должны получать всплывающее окно с ошибкой в приложении Ubuntu Software center, жалующееся на невозможность обновления.
Это также решило мою проблему, заключавшуюся в том, что Ubuntu неоднократно пытался обновить «базу Ubuntu» снова и снова, но никогда не завершал обновление должным образом, и благодаря этому я, наконец, смог обновить базу Ubuntu.