dbus не может быть запущен вручную?

Вопрос или проблема

Когда я проверяю статус ssh:

sudo systemctl status sshd

вернуло:

● ssh.service - OpenBSD Secure Shell server
   Loaded: загружено (/lib/systemd/system/ssh.service; включено; предустановлено: включено)
   Active: активно (работает) с Чт 2022-01-06 10:00:46 UTC; 16 ч. назад
  Process: 14197 ExecStartPre=/usr/sbin/sshd -t (код=завершено, статус=0/УСПЕХ)
 Main PID: 14198 (sshd)
    Tasks: 21 (лимит: 6143)
   CGroup: /system.slice/ssh.service
           ├─ 7177 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux
           ├─10683 dbus-daemon --system
           ├─10743 /lib/systemd/systemd-logind
           ├─11794 dbus-daemon --system
           ├─11812 dbus-daemon --system
           ├─14198 /usr/sbin/sshd -D
           ├─15483 sshd: boe [priv]
           ├─15712 sshd: boe@pts/0
           ├─15713 /bin/bash -l
           ├─15729 sudo systemctl status sshd
           ├─15730 systemctl status sshd
           └─15731 pager

7 янв 02:05:38 boe sshd[15294]: Получено отключение от 10.13.61.106 порт 63245:11: отключено пользователем
7 янв 02:05:38 boe sshd[15294]: Отключено от пользователя boe 10.13.61.106 порт 63245
7 янв 02:28:05 boe sshd[15483]: Принят пароль для boe от 10.13.61.106 порт 63906 ssh2
7 янв 02:28:05 boe sshd[15483]: pam_unix(sshd:session): сеанс открыт для пользователя boe (uid=0)
7 янв 02:28:05 boe sshd[15483]: pam_systemd(sshd:session): Не удалось подключиться к системной шине: Подключение отказано
7 янв 02:28:05 boe sshd[15483]: pam_limits(sshd:session): неизвестный лимит 'noproc'
7 янв 02:28:05 boe sshd[15483]: pam_limits(sshd:session): неизвестный лимит 'noproc'
7 янв 02:28:43 boe sudo[15729]: pam_unix(sudo:auth): ошибка аутентификации; logname=boe uid=1000 euid=0 tty=/dev/pts/0 rus
7 янв 02:28:48 boe sudo[15729]:      boe : TTY=pts/0 ; PWD=/home/boe ; USER=root ; COMMAND=/bin/systemctl status sshd
7 янв 02:28:48 boe sudo[15729]: pam_unix(sudo:session): сеанс открыт для пользователя root пользователем boe(uid=0)

в нем содержится

Не удалось подключиться к системной шине: Подключение отказано

затем я проверяю dbus:

sudo systemctl status dbus

● dbus.service - D-Bus System Message Bus
   Loaded: загружено (/lib/systemd/system/dbus.service; статично; предустановлено: включено)
   Active: не активно (мертво)
     Docs: man:dbus-daemon(1)

Почему он не запустился автоматически? Я пытался запустить его

sudo systemctl start dbus.service

Не удалось запустить dbus.service: Операция отклонена, единица dbus.service может быть запрошена только по зависимости (она настроена, чтобы отклонять ручной запуск/остановку).
Смотрите системные журналы и 'systemctl status dbus.service' для деталей.

Что идет не так?

У меня была довольно похожая проблема в Mint, я тоже не смог запустить dbus вручную. Я не решил эту проблему, потому что понял, что вызывает невозможность автоматического запуска dbus. Так что, если у кого-то есть похожая проблема:

С помощью systemctl --failed мы можем наблюдать, какие (другие) службы не удалось запустить. Решение этих проблем решило проблему с dbus для меня.

Ответ или решение

Когда вы сталкиваетесь с проблемой, что служба D-Bus не может быть запущена вручную, как в вашем примере, важно глубже разобраться в контексте причины происходящего. Рассмотрим вашу ситуацию и предложим шаги для ее разрешения.

Проблема

Вы отметили, что в процессе проверки статуса службы D-Bus (dbus.service) с помощью команды sudo systemctl status dbus вы увидели, что служба inactive (мертва). Попытка запустить ее вручную приводит к сообщению о том, что "операция отклонена, unit dbus.service может быть запрашиваемым только зависимостью".

Причины

  1. Проблема с зависимостями: D-Bus настроен так, что его можно запускать только как зависимость других служб, таких как systemd или ssh. Это делается для обеспечения корректного взаимодействия между процессами, которые зависят от системы сообщений D-Bus.

  2. Неактивные зависимости: Если другие службы, которые должны запускать D-Bus, не работают должным образом, это также может привести к тому, что D-Bus не сможет запуститься автоматически.

  3. Ошибка "Failed to connect to system bus": Это сообщение происходит, когда службы, такие как sshd, пытаются получить доступ к D-Bus, но сам D-Bus не работает. Это может быть вызвано неправильным конфигурационным файлом или тем, что другие службы не смогли запуститься.

Решение проблемы

  1. Проверка зависимостей: Используйте команду systemctl --failed, чтобы увидеть, есть ли другие службы, которые не смогли запуститься. Попробуйте устранить возникшие ошибки у этих служб, так как их работа может быть связана с запуском D-Bus.

  2. Логи системных служб: Убедитесь, что вы проверяете логи системных служб на наличие сообщений об ошибках. Для этого используйте команду journalctl -xe. Возможно, там будут указаны конкретные причины неудачи.

  3. IPv6: Если в вашей системе используются настройки IPv6, убедитесь, что они правильные. Иногда неправильная конфигурация сети может мешать запуску D-Bus.

  4. Переустановка D-Bus: Если ни одно из вышеуказанных решений не помогает, возможно, потребуется переустановить D-Bus, что можно сделать с помощью команды:

    sudo apt-get purge dbus
    sudo apt-get install dbus
  5. Перезагрузка системы: Если вы внесли изменения в конфигурацию или установили/удалили службы, перезагрузите систему, чтобы все изменения вступили в силу.

Заключение

Проблема с запуском D-Bus может возникнуть в результате несоответствия или неисправности в зависимостях других служб. Внимательная диагностика логов и проверка состояния зависимых сервисов, как описано выше, помогут вам эффективно решить эту проблему. Помните, что не стоит игнорировать сообщения об ошибках, так как они могут указать на корень проблемы и облегчить найти решение.

Оцените материал
Добавить комментарий

Капча загружается...