systemctl의 피어가 루트로 연결을 재설정함

systemctl의 피어가 루트로 연결을 재설정함

WSL 2(Ubuntu)를 설정하고 거기에 systemd(및 systemd-sysv)를 설치했습니다. 그 후 나는 다음을 실행했습니다.

sudo mkdir -p /run/dbus
sudo dbus-daemon --system
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target

을 설치하기 전에 systemd우분투를 18.10으로 업데이트했습니다( sudo do-release-upgrade여러 번 사용).

한동안 작동했지만 지금은 일반 사용자로만 작동합니다. 루트로서 나는 얻었습니다.

Failed to list units: Connection reset by peer

어떤 systemctl명령에도.

이로 인해 서비스 상태를 확인할 수 있지만 서비스 시작을 활성화/비활성화하거나 시작/중지할 수는 없습니다.

새로 설치하여 복제할 수도 있습니다.

Microsoft Store에서 Debian(WSL2)을 설치했습니다.

다음 명령을 실행했습니다. sudo apt-get update -y sudo apt-get install -y dbus-x11 sudo apt-get install daemonize

wsl --shutdown그런 다음 호스트에서 실행 하고 다음을 실행했습니다.

sudo mkdir -p /run/dbus
sudo dbus-daemon --system
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target

그 후에도 동일한 결과를 얻었습니다.

systemctl

단위 로드 활성 구독 설명

proc-sys-fs-binfmt_misc.automount 로드 활성 실행 임의 실행 파일

sys-devices-LNXSYSTM:00-LNXSYBUS:00-ACPI0004:00-VMBUS:00-fc785225\x2d9131\x2d5661\x2dac0c\x2d3a157c61ae15-net-eth0.device 로드됨 활성 연결됨 /sys/devices/LNXSYSTM:00/

sys-devices-LNXSYSTM:00-LNXSYBUS:00-ACPI0004:00-VMBUS:00-fd1d2cbd\x2dce7c\x2d535c\x2d966b\x2deb5f811c95f0-host0-target0:0:0-0:0:0:0-block-sda. 장치 로드됨 활성 연결됨 Virtual_Disk sys-devices-LNXSYSTM:00-LNXSYBUS:00-ACPI0004:00-VMBUS:00-fd1d2cbd\x2dce7c\x2d535c\x2d966b\x2deb5f811c95f0-host0-target0:0:0-0:0:0:1 -block-sdb.device 로드 활성 플러그 Virtual_Disk

등등 하지만 내가 달렸을 때

sudo systemctl

나는 얻었다

장치 나열 실패: 피어에 의한 연결 재설정

다른 예:

$ systemctl status dbus
● dbus.service - D-Bus System Message Bus
   Loaded: loaded (/lib/systemd/system/dbus.service; static; vendor preset: enabled)
   Active: active (running) since Fri 2019-12-13 17:56:36 CET; 13min ago
     Docs: man:dbus-daemon(1)
 Main PID: 110
    Tasks: 1 (limit: 4915)
   Memory: 1.2M
   CGroup: /system.slice/dbus.service
           └─110 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

Dec 13 17:56:36 Daniellaptop systemd[1]: Started D-Bus System Message Bus.
$ sudo systemctl status dbus
Failed to get properties: Connection reset by peer

[명세서]

ver내 호스트의 출력 :Microsoft Windows [Version 10.0.19013.1122]

그 후 나는 neofetchDebian 시스템에도 설치했습니다(보여드리기 위해):

       _,met$$$$$gg.          dan@Daniellaptop
    ,g$$$$$$$$$$$$$$$P.       ----------------
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 10 (buster) on Windows 10 x86_64
 ,$$P'              `$$$.     Kernel: 4.19.79-microsoft-standard
',$$P       ,ggs.     `$$b:   Uptime: 9 mins
`d$$'     ,$P"'   .    $$$    Packages: 226 (dpkg)
 $$P      d$'     ,    $$P    Shell: bash 5.0.3
 $$:      $$.   -    ,d$$'    Terminal: /dev/pts/0
 $$;      Y$b._   _,d$P'      CPU: Intel i7-7500U (4) @ 2.903GHz
 Y$$.    `.`"Y$$$$P"'         Memory: 80MiB / 6868MiB
 `$$b      "-.__
  `Y$$
   `Y$$.
     `$$b.
       `Y$$b.
          `"Y$b._
              `"""

출력 uname -a:

Linux <hostname of the host> 4.19.79-microsoft-standard #1 SMP Mon Oct 14 00:50:46 UTC 2019 x86_64 GNU/Linux

[메모]

시스템을 시작하고 실행해도 같은 결과입니다.

sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target

없이

sudo mkdir -p /run/dbus
sudo dbus-daemon --system

답변1

systemd설명된 대로 다른 방법으로 설치하면 가능합니다 .여기. 먼저 를 설치하고 git이 저장소를 복제한 후 에 설명된 대로 설치 프로그램을 실행 해야 합니다 README.md.

sudo apt update
sudo apt install -y git
git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh

그런 다음 wsl --shutdowncmd를 실행하고 WSL을 다시 시작합니다.

관련 정보