나는 Windows Linux Subsystem (Bash on Ubuntu on Windows 10)을 깨뜨렸다. 리눅스 도움말?


22

나는 Windows에서 새로운 리눅스 서브 시스템을 가지고 놀았으며 어떻게 든 그것을 깨뜨 렸고 지금은 대부분의 우분투 내부 (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)

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?


"재설정"또는 제거 / 재설치 옵션이 있습니까? 아마도 가장 쉽고 빠릅니다. 무슨 일이 있었는지 아십니까? 루트 ( /) 등을 지우 시겠습니까?
Xen2050

1
AskUbuntu , 시도 : sudo apt-get install upstart-sysv 빠른 수정을 위해 - 해당 게시물은 "추천"수정에 대한 링크가 있습니다뿐만 아니라. 같은 문제인지 확실하지 않지만 관련 있는 것 같습니다 .
tanner


1
@ Ramhound Windows 10에서 Ubuntu에 Bash를 다시 설치하는 방법을 묻지 않았으며 문제를 해결하는 방법을 물었습니다. 실제로 우분투에서는이 문제가 없었습니다. 원자력 발전이 문제를 해결하고 있다면 지구 온난화를 고칠 때 주변에 있고 싶지 않습니다
Mike Pengelly

1
@Ramhound 그러나 나는 내 질문에 대답하지 않습니다. "오류 메시지가 나타날 때마다 창을 다시 설치하십시오"또는 "소음이 들릴 때마다 새 차를 구입하십시오"라고 말하는 것과 같습니다. 문제는 해결되지만 실용적인 해결책은 아닙니다.
Mike Pengelly

답변:


34

경고,이 프로세스는 Lxss를 초기 구성으로 복원합니다

Lxs를 다시 설치하려면 cmd관리자 권한으로 Windows 를 열고 다음을 실행하십시오.

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

그때:

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

1
이것이 내가 가진 문제에 대한 핵 접근이기 때문에 이것을 대답으로 표시하지 않았습니다. 예, 그것은 그것을 고칠 것입니다 (이론적으로, 시도하지 않았습니다). 그러나 그것을 고치는 방법은 핵이 나가는 것과 관련된 정확한 문제를 해결합니다. 그러나 계속 문제가 발생하면 시간을 절약하려면이 방법을 권장합니다. 미래에는 사람들이 무언가 잘못 될 때마다 Linux Subsystem을 다시 구성하기를 원할 것입니다.
Mike Pengelly

문제는 Ubuntu 하위 시스템 자체에 있습니다. 다시
설치해도

2
@PanagiotisKanavos는 Google을 통해 질문을 찾는 사람들을 위해 (설치에 혼란을주었습니다) : 답변이 여전히 매우 감사하다는 것을 확신 할 수 있습니다!
Marc Gravell

2
당신은 맞습니다, 이것은 대답이 아니며 우리는 이것을 마지막 옵션으로 사용해야합니다.
Jonas

cmd 세션이 "관리자"로 실행되는 경우에도 Access is denied.실행할 때 메시지 가 나타납니다 C:\WINDOWS\system32>LxRun.exe /uninstall. 어떤 아이디어?
fredrik

18

고쳤다.

란 :

apt-get remove upstart

그때

apt-get remove udev

그때

apt-get autoremove

그리고 모두 지금 작동하는 것 같습니다.


1
x11 (너무 새로운 버전)을 설치할 때 설치해야합니다 ... btw x 서버는 Linux 하위 시스템이 아닌 Windows에서 실행해야합니다. 그런 다음 DISPLAY = 0을 실행하여 응용 프로그램을 전달합니다. firefox
Mike Pengelly

9

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-이름 바꾸기 --add / sbin / initctl

ln -s / bin / true / sbin / initctl

나는 이것을 직접 시도했으며 꽤 잘 작동하는 것 같습니다.


6

보다 구체적인 솔루션은 다음과 같습니다. 다음 내용으로 이름이 /usr/sbin/policy-rc.d( nano /usr/sbin/policy-rc.d) 인 스크립트를 작성하십시오 .

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

저장하고 종료하십시오 ( Ctrl+ O Ctrl+ X). 스크립트를 실행 가능으로 표시하십시오 ( chmod +x /usr/sbin/policy-rc.d). 이 스크립트는 이야기 dpkg를 시작하려고 시도하지 udevsystemd-logind.

그런 다음 이전에 실패한 dpkg구성 단계 ( dpkg --configure -a) 를 완료 할 수 있습니다 .


2
이것은 무슨 일이 있었는지 , 질문의 "어떻게"무엇인지,이 일련의 단계가 어떻게 해결되는지 설명 함으로써 개선 될 수있는 대답입니다 . 사용할 하나의 포인터 가 있습니다. 여기 또 다른 것이 있습니다.
JdeBP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.