Sign inSign up

zoobab/screen-static-coreos

By zoobab

•Updated about 6 years ago

A static build of screen for coreos (or any other 64bits linux)

Image
2

1.4K

zoobab/screen-static-coreos repository overview

⁠A static screen for coreos

This is screen compiled statically for CoreOS. CoreOS does not have screen, so it is a bit painfull to have long lasting jobs without using a container, which many disadvantages.

You can build the whole thing with ./build.sh, and you should end up with a static binary in:

$ file bin/screen 
bin/screen: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=1e30fe78feb9d9893cbec412e2d9a176a5d2501c, not stripped

⁠How to run it

As user core, download the screen binary:

$ whoami
core
$ pwd
/home/core
$ wget https://github.com/zoobab/screen-static-coreos/raw/master/bin/screen

Then make it executable:

$ chmod +x screen

Then you can run:

$ ./screen -dm ping 127.0.0.1

List the sessions:

$ ./screen -ls

⁠SSHD kills processes

Somehow SSHD or SystemD kills the processes once you leave the SSH session.

This is due to the "ClientAliveInterval" SSHD parameter in /etc/ssh/sshd_config:

$ sudo cat /etc/ssh/sshd_config 
# Use most defaults for sshd configuration.
UsePrivilegeSeparation sandbox
Subsystem sftp internal-sftp
ClientAliveInterval 180
UseDNS no

If you remove it (CoreOS is read-only :-) and just run an SSH server on another port without this option, my experience shows that screen sessions are not killed.

⁠Another solution

If sudo allows it, you can run systemd-run (see examples for screen here: https://www.freedesktop.org/software/systemd/man/systemd-run.html⁠):

$ sudo systemd-run --scope  /home/core/screen bash

Then detach with CTRL+A+D.

To list the sessions:

$ sudo systemd-run --scope  /home/core/screen -ls
Running scope as unit run-27936.scope.
There is a screen on:
    27817.pts-0.hostname (Detached)
1 Socket in /tmp/screens/S-root.

You can also launch a session directly as core user instead of root:

$ sudo systemd-run --scope  /home/core/screen bash -c "su - core"
Update Strategy: No Reboots
core@registry00-k8s1 ~ $ whoami
core
core@registry00-k8s1 ~ $

Tag summary

Content type

Image

Digest

Size

200.9 MB

Last updated

about 6 years ago

docker pull zoobab/screen-static-coreos