Вопрос: Я сломал подсистему Windows Linux (Bash на Ubuntu в Windows 10). Помощь Linux?


Я играю с новой подсистемой Linux в Windows, и как-то я ее сломал, и теперь большинство внутренних компонентов Ubuntu (apt-get, dpkg и т. Д.) Не работают. Все, что я пытаюсь сделать, я получаю одно и то же сообщение ...

    Setting up udev (204-5ubuntu20.19) ...
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: No such file or directory
runlevel:/var/run/utmp: No such file or directory
 * udev requires devtmpfs support, not started
   ...fail!
invoke-rc.d: initscript udev, action "restart" failed.
dpkg: error processing package udev (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of systemd-services:
 systemd-services depends on udev (>= 175-0ubuntu23); however:
  Package udev is not configured yet.

dpkg: error processing package systemd-services (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libpam-systemd:amd64:
No apport report written because the error message indicates its a followup error from a previous failure. libpam-systemd:amd64 depends on systemd-services (= 204-5ubuntu20.19); however:
  Package systemd-services is not configured yet.


dpkg: error processing package libpam-systemd:amd64 (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
 udev
 systemd-services
 libpam-systemd:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

Любые идеи, как это исправить?


22
2018-04-13 02:24


Источник


Есть ли опция «перезагрузки» или удаления / переустановки? Это, наверное, самый простой и быстрый. Любая идея, что вы сделали, чтобы это произошло? Стереть корень (/) или что-то? - Xen2050
в AskUbuntu, пытаться: sudo apt-get install upstart-sysv  для быстрого исправления - этот пост имеет ссылку на «рекомендуемое» исправление. Не уверен, что это та же проблема, но похоже, что это мог бы связаны. - Tanner Filip
Возможный дубликат Как удалить / перезагрузить фабрику Ubuntu в Windows 10 Insider Preview 14316 - Ramhound
@ Ramhound Я не спрашивал, как переустановить Bash на Ubuntu в Windows 10, я спросил, как исправить эту проблему. У меня никогда не было этой проблемы на самом деле Ubuntu. Если переход Ядерные проблемы с устранением проблем, то я не хочу быть рядом, когда они исправляют глобальное потепление - Mike Pengelly
@Ramhound Но я не отвечаю на мой вопрос. Это как сказать «переустанавливать окна каждый раз, когда вы получаете сообщение об ошибке» или «покупать новый автомобиль каждый раз, когда слышишь шум» ... Он решает проблему, но это не практическое решение. - Mike Pengelly


Ответы:


Предупреждение, этот процесс восстановит Lxss до начальной конфигурации

Чтобы переустановить открытые окна Lxss cmd как администратор и запустить:

C:\WINDOWS\system32>LxRun.exe /uninstall

Затем:

C:\WINDOWS\system32>LxRun.exe /install

34
2018-04-14 23:56



Я не отметил это как ответ, потому что это ядерный подход к проблеме, которую я испытывал. Да, это исправит (теоретически, я не пробовал), но так, как я исправил ее, исправил мою точную проблему, не выходя из ядерного оружия. Но если у меня будет проблема, я бы рекомендовал этот подход, если вы хотите сэкономить часы. В будущем, хотя я сомневаюсь, что люди захотят переконфигурировать там подсистему Linux каждый раз, когда что-то пойдет не так. - Mike Pengelly
Проблема заключается в самой подсистеме Ubuntu. Повторная установка ничего не исправит - Panagiotis Kanavos
@PanagiotisKanavos для тех из нас, кто нашел вопрос через google (сделав беспорядок в наших установках): могу вас заверить, что ответ по-прежнему очень ценится! - Marc Gravell♦
Вы, ребята, правы, это не ответ, и мы должны использовать это как последний вариант. - Jonas
Я получаю Access is denied. когда я бегу C:\WINDOWS\system32>LxRun.exe /uninstall даже если сеанс cmd запускается «как администратор». Есть идеи? - fredrik


Починил это.

Ран:

apt-get remove upstart

тогда

apt-get remove udev

тогда

apt-get autoremove

и все это сейчас работает.


18
2018-04-13 04:48



Должен быть установлен, когда я установил x11 (слишком новая версия) ... btw x сервер должен запускаться в окнах не в подсистеме linux. а затем вы пересылаете приложение, запустив DISPLAY = 0: firefox - Mike Pengelly


Официальный ответ от Microsoft

GitHub: Microsoft / BashOnWindows

Это проблема, которую все начнут видеть. Нам нужно добавить   что-то на этом в наших официальных документах.

Как отмечает @nuclearmistake, udev - это то, что ломается   apt-get, но ошибки не должны вызывать проблем в WSL. У нас есть   обратился к Canonical с просьбой о наилучшем решении и   они рекомендуют следующие изменения:

Напишите в /usr/sbin/policy-rc.d следующее.

#!/bin/sh exit 101 

chmod + x /usr/sbin/policy-rc.d

dpkg-divert --local --rename --add / sbin / initctl

ln -s / bin / true / sbin / initctl

Я сам пробовал это, и он выглядит неплохо.


9
2018-04-20 05:44





Вот более целевое решение. Создайте скрипт с именем /usr/sbin/policy-rc.d (nano /usr/sbin/policy-rc.d) со следующим содержимым:

#!/bin/sh
case "$1" in
    udev|systemd-logind) exit 101;;
esac

Сохранить и выйти (Ctrl+О  Ctrl+Икс). Отметьте сценарий как исполняемый файл (chmod +x /usr/sbin/policy-rc.d). Этот скрипт говорит dpkg не пытаться начать udev или systemd-logind,

Затем вы сможете завершить ранее неудачный dpkg шаг конфигурации (dpkg --configure -a).


6
2018-04-17 08:06



Это ответ, который можно улучшить объясняя, что произошло, что на самом деле было «каким-то образом» в вопросе и как эта серия шагов затрагивает его. Вот один указатель использовать. Вот еще один, - JdeBP