LINUX.ORG.RU

Как восстановить нормальную работу systemd?

 , , , ,


0

1

Здравствуйте, господа. Решил поменять hostname в Debian Jessie. Руководствовался статейкой на https://wiki.debian.org/ru/HowTo/ChangeHostname#systemd, где было написано:

systemd

В версиях Debian с установленным systemd, можно использовать команду «hostnamectl set-hostname mymachine». Этот инструмент зависит от dbus поэтому обязательно установите его в первую очередь.

Сперва проверил наличие dbus:

# dpkg -l | grep dbus
ii  libdbus-1-3:amd64           1.8.22-0+deb8u1        amd64        simple interprocess messaging system (library)
ii  libdbus-glib-1-2:amd64      0.102-1                amd64        simple interprocess messaging system (GLib-based shared library)
ii  python3-dbus                1.2.0-2+b3             amd64        simple interprocess messaging system (Python 3 interface)

Поскольку в списке dbus'а я не узрел, то решил его установить с помощью aptitude install dbus. В результате чего посыпались ошибки, пакет dbus появился в списке, но оказался сломанным:

# dpkg -l | grep dbus
pF  dbus                        1.8.22-0+deb8u1        amd64        simple interprocess messaging system (daemon and utilities)
ii  libdbus-1-3:amd64           1.8.22-0+deb8u1        amd64        simple interprocess messaging system (library)
ii  libdbus-glib-1-2:amd64      0.102-1                amd64        simple interprocess messaging system (GLib-based shared library)
ii  python3-dbus                1.2.0-2+b3             amd64        simple interprocess messaging system (Python 3 interface)

Попытался удалить пакет dbus, чтобы вернуться к предыдущему состоянию, но и это мне не удалось из-за ошибок:

# apt-get purge dbus
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакеты, которые будут УДАЛЕНЫ:
dbus* (1.8.22-0+deb8u1)
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 1 пакетов не обновлено.
не установлено до конца или удалено 1 пакетов.
После данной операции, объём занятого дискового пространства уменьшится на 903 kB.
Хотите продолжить? [Д/н] y
(Чтение базы данных … на данный момент установлен 47341 файл и каталог.)
Удаляется dbus (1.8.22-0+deb8u1) …
Failed to get D-Bus connection: Нет такого файла или каталога
dpkg: ошибка при обработке пакета dbus (--purge):
подпроцесс установлен сценарий pre-removal возвратил код ошибки 1
Failed to get D-Bus connection: Нет такого файла или каталога
Failed to get D-Bus connection: Нет такого файла или каталога
Failed to get D-Bus connection: Нет такого файла или каталога
invoke-rc.d: initscript dbus, action "start" failed.
dpkg: ошибка при очистке:
подпроцесс установлен сценарий post-installation возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
dbus
E: Sub-process /usr/bin/dpkg returned an error code (1)

В итоге не получается ничего запустить\перезапустить\остановить - всё заканчивается ошибкой:

# systemctl start nginx
Failed to get D-Bus connection: Нет такого файла или каталога

# service mysql restart
Failed to get D-Bus connection: Нет такого файла или каталога

# /etc/init.d/proftpd stop
[....] Stopping proftpd (via systemctl): proftpd.serviceFailed to get D-Bus connection: Нет такого файла или каталога
failed!

Подскажите, пожалуйста, как это можно исправить?


Добавь теги debian и debian jessie, это дистроспецифичная проблема.

Vsevolod-linuxoid ★★★★★ ()
Ответ на: комментарий от anonymous
# systemctl emergency
Failed to get D-Bus connection: Нет такого файла или каталога

# apt -f install
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
не установлено до конца или удалено 1 пакетов.
После данной операции, объём занятого дискового пространства возрастёт на 0 B.
Настраивается пакет dbus (1.8.22-0+deb8u1) …
Failed to get D-Bus connection: Нет такого файла или каталога
Failed to get D-Bus connection: Нет такого файла или каталога
Failed to get D-Bus connection: Нет такого файла или каталога
invoke-rc.d: initscript dbus, action "start" failed.
dpkg: ошибка при обработке пакета dbus (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
 dbus
E: Sub-process /usr/bin/dpkg returned an error code (1)

# systemctl default
Failed to get D-Bus connection: Нет такого файла или каталога
Sferg ()
Ответ на: комментарий от redgremlin

Ошибки, аналогичные тем, что присутствуют при попытке удалить dbus:

Настраивается пакет dbus (1.8.22-0+deb8u1) …
Failed to get D-Bus connection: Нет такого файла или каталога
Failed to get D-Bus connection: Нет такого файла или каталога
Failed to get D-Bus connection: Нет такого файла или каталога
invoke-rc.d: initscript dbus, action "start" failed.
dpkg: ошибка при обработке пакета dbus (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
 dbus
E: Sub-process /usr/bin/dpkg returned an error code (1)

Sferg ()
Ответ на: комментарий от Sferg

1 пакетов не обновлено

Что это за пакет?

E: Sub-process /usr/bin/dpkg returned an error code (1)

После ответа на предыдущий вопрос:

dpkg --configure -a --force=

Аргумент к force можешь выбрать в меру своей решительности, хотя есть большой шанс, что all проканает без проблем. Но сначала надо узнать, что за пакет у тебя не обновляется.

anonymous ()
Ответ на: комментарий от anonymous

Что это за пакет?

Как это узнать? Я устанавливал только пакет dbus, может быть он и есть?

dpkg --configure -a --force-all

Ничего не происходит. Перевод на следующую строку.

Sferg ()
Ответ на: комментарий от redgremlin

Говорит мало:

# invoke-rc.d dbus start
Failed to get D-Bus connection: Нет такого файла или каталога
invoke-rc.d: initscript dbus, action "start" failed.

Sferg ()
Ответ на: комментарий от Sferg

Как это узнать?

apt list --upgradable

Ничего не происходит. Перевод на следующую строку.

А после этого apt продолжает видеть проблему? Если да, то можно и удалить попробовать с --force (тоже через dpkg). Потом перезагрузиться (у DBus есть какие-то тонкости с этим), запустить

apt update; apt full-upgrade
Убедиться, что никакие пакеты не игнорируются, и попробовать поставить dbus.

anonymous ()
Ответ на: комментарий от anonymous
# apt list --upgradable
Listing… Готово
hostapd/oldstable,oldstable 1:2.3-1+deb8u5 amd64 [upgradable from: 1:2.3-1+deb8u4]
N: There is 1 additional version. Please use the '-a' switch to see it

А, ну да, у меня же пакет hostapd зафиксирован - чтоб не обновлялся.

А после этого apt продолжает видеть проблему?

Да, проблема остаётся.

Sferg ()
Ответ на: комментарий от anonymous

Как ни странно, ребут помог и всё вылечилось. Сначала выполнил aptitude install -f, а затем aptitude purge dbus. И, на всякий случай, контрольный ребут.

Sferg ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.