Connection reset by peer on systemctl as root

7,187

This is possible by installing systemd in another way as described here. At first, you need to install git, clone this repository and run the installer as described in the 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

After that, you run wsl --shutdown in cmd and start WSL again.

Share:
7,187

Related videos on Youtube

dan1st
Author by

dan1st

You may use my whole content of this site (except passages from the corresponding question or passages I stated that are copied from other resources, those underly the conditions of those resources) under the JSON license (additional to the license StackOverflow states to my posts). I was a student at a secondary technical college for IT until 2021. I like to experiment with things like WSL and I'm here to help others and get help. Programming languages that I like: java, java and (most importantly) JAVA (this list may or may not be comprehensive) GitHub Discord Tag: dan1st#7327 Other Accounts: dan2nd

Updated on September 18, 2022

Comments

  • dan1st
    dan1st over 1 year

    I've setup WSL 2 (Ubuntu) and I installed systemd (and systemd-sysv) there. After that, I ran:

    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
    

    Before installing systemd, I updated ubuntu to the 18.10 (using sudo do-release-upgrade multiple times)

    It worked a while but now, it only works as a normal user. As root, I got

    Failed to list units: Connection reset by peer
    

    on any systemctl command.

    Because of this, I can e.g. vier the status of services but I can't enable/disable the startup of dis service or start/stop them.

    I could also replicate it on a clean install:

    I installed Debian (WSL2) from the Microsoft Store

    I executed the following commands: sudo apt-get update -y sudo apt-get install -y dbus-x11 sudo apt-get install daemonize

    Then, I executed wsl --shutdown on the host and run:

    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
    

    After that, I had the same results:

    systemctl
    

    UNIT LOAD ACTIVE SUB DESCRIPTION

    proc-sys-fs-binfmt_misc.automount loaded active running Arbitrary Executable File

    sys-devices-LNXSYSTM:00-LNXSYBUS:00-ACPI0004:00-VMBUS:00-fc785225\x2d9131\x2d5661\x2dac0c\x2d3a157c61ae15-net-eth0.device loaded active plugged /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.device loaded active plugged 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 loaded active plugged Virtual_Disk

    and so on but when I ran

    sudo systemctl
    

    I got

    Failed to list units: Connection reset by peer

    Other example:

    $ 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
    

    [Specifications]

    Output of ver on my host: Microsoft Windows [Version 10.0.19013.1122]

    After that I also installed neofetch on the Debian System(in order to show you):

           _,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._
                  `"""
    

    Output of 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
    

    [Note]

    It is the same result if I start the system and run

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

    without

    sudo mkdir -p /run/dbus
    sudo dbus-daemon --system
    
    • Biswapriyo
      Biswapriyo over 4 years
      Do a clean install and try that command. Do you see same error?
    • dan1st
      dan1st over 4 years
      I will do it when I can(currently, I am behind a http proxy)
    • dan1st
      dan1st over 4 years
      @Biswapriyo I've updated my question.
    • Biswapriyo
      Biswapriyo over 4 years
      Debian doesn't work. I've tried it. Don't know why but Ubuntu works.
    • dan1st
      dan1st over 4 years
      I've also tried it.(see my edit) Is there a workaround?