J'ai brisé le sous-système Windows Linux (Bash sur Ubuntu sous Windows 10). Aide Linux?

J'ai joué avec le nouveau sous-système linux sur Windows et, d'une certaine manière, je l'ai cassé et maintenant, la plupart des composants internes d'Ubuntu (apt-get, dpkg, etc.) ne fonctionnent pas. Tout ce que j'ai essayé, j'ai le même message …

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) 

Une idée de comment réparer ça?

Attention, ce processus restaurera Lxss à la configuration initiale

Pour réinstaller Lxss, ouvrez Windows cmd tant qu'administrateur et exécutez:

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

Alors:

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

L'a corrigé.

Ran:

 apt-get remove upstart 

puis

 apt-get remove udev 

puis

 apt-get autoremove 

Et tout semble fonctionner maintenant.

La réponse officielle de Microsoft

Github: Microsoft / BashOnWindows

C'est un problème que tout le monde va commencer à voir. Nous devons ajouter quelque chose à ce sujet dans nos documents officiels.

Comme le montre @nuclearmistake, udev est quelque chose qui se brise dans apt-get, mais les erreurs ne devraient pas causer de problèmes dans WSL. Nous avons contacté Canonical sur celui-ci en demandant la meilleure solution et nous recommandons les modifications suivantes:

Écrivez ce qui suit dans /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

J'ai essayé celui-ci moi-même et ça semble bien fonctionner.

Voici une solution plus ciblée. Créez un script nommé /usr/sbin/policy-rc.d ( nano /usr/sbin/policy-rc.d ) avec le contenu suivant:

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

Enregistrez et quittez ( Ctrl + O Ctrl + X ). Marquer le script comme exécutable ( chmod +x /usr/sbin/policy-rc.d ). Ce script indique à dpkg ne pas essayer de lancer udev ou systemd-logind .

Vous pourrez ensuite compléter l'étape de configuration dpkg défaillante précédente ( dpkg --configure -a ).