Вопрос или проблема
Я создал минимальную установку на своем Raspberry Pi с Raspbian, работающем на Debian Jessie. Среди прочего, я удалил libx11-.*
и зависимости, что включало в себя удаление policykit-1
. Я пытаюсь переустановить policykit-1
, но столкнулся со следующими ошибками.
$ sudo apt-get install policykit-1
...
Следующие пакеты будут УДАЛЕНЫ:
sysvinit-core
...
dpkg: sysvinit-core: проблемы с зависимостями, но удаляется, как вы и запросили:
sysvinit зависит от sysvinit-core | upstart | systemd-sysv; однако:
Пакет sysvinit-core будет удален.
Пакет upstart не установлен.
Пакет systemd-sysv не установлен.
После этого загрузка зависает, и мне приходится восстанавливать SD-карту по образу, созданному до этой команды установки. (Примечание: загрузка работала нормально до создания минимальной установки и после удаления libx11-.*
и зависимостей.) Как я могу переустановить policykit-1
?
Правка
Это работало некоторое время, но больше не работает.
Существует длинная ветка здесь, обсуждающая, как policykit-1
может сломать вашу систему на Debian. Я не читал ее полностью, но этот (закрытый) отчет об ошибке предполагает, что systemd-shim
может быть полезен.
Запуск следующей команды позволил мне перезагрузить компьютер, хотя я не уверен, насколько функционален policykit-1
.
sudo apt-get install systemd-shim policykit-1
Однако недавнее обновление Debian Jessie препятствует этому. policykit-1
был удален после sudo apt-get dist-upgrade
, и выполнение этой команды все еще требует удалить sysvinit-core
.
Для более современных читателей:
Devuan – это дистрибутив, который по умолчанию использует sysvinit и включает пакет policykit-1, который не зависит от systemd. Он в основном совместим с Debian во всех отношениях, не связанных с системой инициализации.
Ответ или решение
Установка Policykit с использованием System V на вашей Raspberry Pi под управлением Raspbian (Debian Jessie) может стать проблемой, особенно если вы ранее удалили критически важные пакеты, такие как policykit-1
, которые ведут к проблемам с зависимостями. Ниже приведены пошаговые инструкции по переустановке policykit-1
с учетом ваших текущих условий и проблем.
Шаг 1: Восстановление стабильной среды
Перед тем как продолжить, рекомендуется восстановить систему с помощью предыдущего образа SD-карты. Это позволит избежать дальнейших сбоев. Работайте только с проверенной и стабильной системой.
Шаг 2: Подготовка системы
После восстановления убедитесь, что ваша система обновлена и проверена:
sudo apt-get update
sudo apt-get upgrade
Если у вас есть возможность, отключите автоматическую установку обновлений, чтобы предотвратить повторное возникновение зависимости в будущем.
Шаг 3: Установка необходимых зависимостей
Если вы хотите установить policykit-1
, вам нужно убедиться, что ваши зависимости корректны. Убедитесь, что пакеты sysvinit
, sysvinit-core
, upstart
, и systemd-sysv
установлены или доступны:
sudo apt-get install sysvinit sysvinit-core
Шаг 4: Установка Policykit
Попробуйте установить policykit-1
, следуя следующей последовательности команд:
sudo apt-get install policykit-1
Если вы снова столкнетесь с ошибкой удаления sysvinit-core
, попробуйте установить systemd-shim
, который предоставляет некоторую совместимость с системами, использующими systemd:
sudo apt-get install systemd-shim
sudo apt-get install policykit-1
Шаг 5: Альтернативный подход
Если вышеуказанные шаги не сработают, рассмотрите возможность использования подхода с Devuan, который является ответвлением Debian без systemd. Devuan поддерживает sysvinit
по умолчанию и имеет версии policykit-1
, которые не зависят от systemd. Вам необходимо загрузить и установить Devuan на свою карту памяти.
Шаг 6: Проверка корректности установки
После установки policykit-1
, выполняйте тестирование, чтобы убедиться, что все работает правильно:
pkexec --version
Это должно вернуть версию Policykit, если он установлен корректно.
Заключение
Если у вас продолжают возникать проблемы с установкой policykit-1
, возможно, стоит рассмотреть дальнейшие изменения в конфигурации вашей системы, чтобы избежать конфликтов между различными инициализационными системами. Делая шаги к устранению проблем с зависимостями, вы сможете вернуть свою систему в рабочее состояние.