Вопрос или проблема
Я хотел обновиться с 17.10 до 18.04, но обновление не удалось, думаю, причиной этому было то, что policykit-1 остался неконфигурированным.
Перезагрузка не помогла, и теперь я нахожусь в аварийной консоли. Я обнаружил, что у меня есть /var/run/dbus/system_bus_socket
, но нет /run/dbus/system_bus_socket
.
На другой машине у меня есть system_bus_socket
в обоих каталогах. Есть идеи, что я могу сделать, чтобы восстановить систему?
Каталог /var/run должен быть ссылкой на /run (аналогично для /var/lock, который является ссылкой на /run/lock). Проверьте это с помощью:
$ ls -ald /run /var/run /var/lock /run/lock
Вы должны увидеть что-то подобное:
drwxr-xr-x 38 root root 1220 Jun 24 07:35 /run
drwxrwxrwt 5 root root 140 Jun 23 16:51 /run/lock
lrwxrwxrwx 1 root root 9 Oct 21 2011 /var/lock -> /run/lock
lrwxrwxrwx 1 root root 4 Mar 22 2014 /var/run -> /run
Если вы этого не видите, то это указывает на проблему, но не на то, почему она в таком состоянии. См. https://ubuntuforums.org/showthread.php?t=1859432 для возможного решения.
Вам может не хватать пакета dbus
:
sudo apt install dbus
Ответ или решение
Проблема: отсутствие /run/dbus/system_bus_socket
Ситуация, с которой вы столкнулись, когда при попытке обновления с версии 17.10 до 18.04 возникли сбои, может быть достаточно сложной. Однако, понимание структуры каталогов, связанной с D-Bus и PolicyKit, поможет эффективно устранить проблему.
Причины возникновения проблемы
Во-первых, важно отметить, что директория /run
(или её символьная ссылка /var/run
) играют ключевую роль в работе системных сервисов и демонов, таких как D-Bus. Если в вашем случае /run/dbus/system_bus_socket
отсутствует, а сам сокет присутствует лишь в /var/run/dbus/system_bus_socket
, это может указывать на проблемы с инициализацией D-Bus или с системой файловой структуры.
При обновлении системы некоторые пакеты, такие как policykit-1
и dbus
, могут быть либо не правильно настроены, либо вовсе отсутствовать. Необходимая работа D-Bus для обработки запросов на привилегии и управления процессами может привести к тому, что система не сможет функционировать нормально.
Проверка символических ссылок
Проверьте, существуют ли необходимые символические ссылки, выполнив следующую команду:
ls -ald /run /var/run /var/lock /run/lock
Корректный вывод должен выглядеть следующим образом:
drwxr-xr-x 38 root root 1220 Jun 24 07:35 /run
drwxrwxrwt 5 root root 140 Jun 23 16:51 /run/lock
lrwxrwxrwx 1 root root 9 Oct 21 2011 /var/lock -> /run/lock
lrwxrwxrwx 1 root root 4 Mar 22 2014 /var/run -> /run
Если ссылки отсутствуют, это может подтвердить, что ваша проблема связана с неправильной инициализацией файловой системы.
Устранение неполадок
-
Проверка пакета
dbus
:
Убедитесь, что пакетdbus
установлен. Попробуйте выполнить команду:sudo apt install dbus
-
Перенастройка пакета
policykit-1
:
Возможно, вам также нужно перенастроить пакет PolicyKit. Сделать это можно с помощью следующей команды:sudo dpkg-reconfigure policykit-1
-
Создание символических ссылок (если необходимо):
Если символические ссылки отсутствуют, вы можете создать их вручную:ln -s /run /var/run ln -s /run/lock /var/lock
Перезагрузка и дальнейшие действия
После того, как будут выполнены все шаги, рекомендуется перезагрузить систему:
sudo reboot
При успешной перезагрузке проверьте статус D-Bus, выполнив команду:
systemctl status dbus
Убедитесь, что все службы запускаются корректно.
Заключение
Сложности, которые вы испытываете, касаются не только отсутствия сокета D-Bus, но и более широких проблем с обновлением системы. Убедившись, что все необходимые пакеты установлены и настройки символических ссылок корректны, вы сможете восстановить нормальную работу вашей системы. Если же проблема не устраняется, возможно, потребуется более глубокое восстановление системы или переустановка дистрибутива.