Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How do services work in Ubuntu 16.04? #2015

Closed
SRGOM opened this issue Apr 27, 2017 · 8 comments
Closed

How do services work in Ubuntu 16.04? #2015

SRGOM opened this issue Apr 27, 2017 · 8 comments

Comments

@SRGOM
Copy link
Contributor

SRGOM commented Apr 27, 2017

No description provided.

@fpqc
Copy link

fpqc commented Apr 27, 2017

All services in Ubuntu 16.04 are either directly run through systemd or using the systemd-sysvcompat extension (which launches classic-style initscripts/services using virtual units). Arch and Fedora use an all-systemd configuration, and I believe that Ubuntu 17.04 moves further in that direction. Socket-activated services will fail badly, while persistent daemons can be launched manually using a classic double-fork-off script.

@fpqc
Copy link

fpqc commented Apr 27, 2017

Systemctl does not work right now, because the systemd pid1 daemon is not running (systemctl communicates with and controls the pid1 daemon to load and kill services). I'm hoping this will make it in sooner or later, since it's basically the main remaining gap for a fully-functional userspace environment.

In the meantime, you can write a script to manually start and kill sshd by directly launching the binary.

@fpqc
Copy link

fpqc commented Apr 27, 2017

yeah.

image

Systemd is a big blocker for a lot of stuff, but the team has been reticent wrt promising support, although they seem to have dropped quite a few hints if you've been paying attention. Running sshd without systemctl/systemd is painful, for example.

@fpqc
Copy link

fpqc commented Apr 27, 2017

Arch uses more recent binaries that hit more unimplemented syscall surface.

@fpqc
Copy link

fpqc commented Apr 27, 2017

I just posted an example in fakeroot/makepkg that doesn't work without recompiling fakeroot to use tcp instead of semaphores. Also, the latest version of strace in the arch userspace fails on an unimplemented ptrace option. We're getting there though.

@kayakyakr
Copy link

I don't know if services are a huge blocker aside from a few cases here and there (sshd being probably the most useful example). Docker for Windows has supported each service that I was looking for and I think it's a much more natural "windows" environment than trying to provide those services through WSL.

This seems to be a pretty big thing and I'd much rather them figure out an access layer between VolFS and Windows than spend time supporting services.

@fpqc
Copy link

fpqc commented Apr 30, 2017

@kayakyakr Systemd support is a natural result of more syscall support and a relatively small amount of reworking of the init daemon (separating initialization and marshalling). Solving the VolFS share problem seems to be a real engineering problem in its own right, all solutions to which have pretty evident drawbacks or complications.

@kayakyakr
Copy link

I suppose I have been corrected.

The other side of it will be improving support for DrvFS which will improve speed and capability over time. I'mma get back on the fast ring to try out the speed since #966 is fixed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants