systemd not fully working after upgrade to debian stretch

Kernels & Hardware, configuring network, installing services

systemd not fully working after upgrade to debian stretch

Postby matzh » 2017-08-30 20:52

Hi,

Maybe someone here knows his way around well in the systemd tools/mechanism.
Since the upgrade to stretch, it turns out that some services do not start in systemd.
These seem to be all services that either include
PrivateTmp=true
ProtectHome=true
ProtectSystem=full

and maybe others. It seems to be anything that requires access to or tries to set up protected tmpfs files per user.

Running debian on an allwinner A20 processor. (armhf) and a legacy kernel (3.4.111)


I get for
Code: Select all
$ systemctl status apache2
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2016-11-03 18:18:20 CET; 9 months 23 days ago

Nov 03 18:18:20 cubie2 systemd[1]: Starting The Apache HTTP Server...
Nov 03 18:18:20 cubie2 systemd[1]: apache2.service: Control process exited, code=exited status=226
Nov 03 18:18:20 cubie2 systemd[1]: Failed to start The Apache HTTP Server.
Nov 03 18:18:20 cubie2 systemd[1]: apache2.service: Unit entered failed state.
Nov 03 18:18:20 cubie2 systemd[1]: apache2.service: Failed with result 'exit-code'.
and
Code: Select all
$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2017-08-27 22:48:39 CEST; 11min ago
     Docs: man:bluetoothd(8)
  Process: 2020 ExecStart=/usr/lib/bluetooth/bluetoothd (code=exited, status=226/NAMESPACE)
 Main PID: 2020 (code=exited, status=226/NAMESPACE)
Aug 27 22:48:39 cubie2 systemd[1]: Starting Bluetooth service...
Aug 27 22:48:39 cubie2 systemd[2020]: bluetooth.service: Failed at step NAMESPACE spawning /usr/lib/bluetooth/bluetoothd: Bad file descriptor
Aug 27 22:48:39 cubie2 systemd[1]: bluetooth.service: Main process exited, code=exited, status=226/NAMESPACE
Aug 27 22:48:39 cubie2 systemd[1]: Failed to start Bluetooth service.
Aug 27 22:48:39 cubie2 systemd[1]: bluetooth.service: Unit entered failed state.
Aug 27 22:48:39 cubie2 systemd[1]: bluetooth.service: Failed with result 'exit-code'.

I also noticed the following (not sure if this is a problem)
Code: Select all
$ systemctl status -- -.mount
● -.mount - Root Mount
   Loaded: error (Reason: No such file or directory)
   Active: active (mounted) since Thu 2016-11-03 18:16:42 CET; 9 months 23 days ago
    Where: /
     What: /dev/mmcblk0p2
   CGroup: /system.slice/-.mount

(There are always multiple attempts to mount the sd card with the /root system as different filesystems are tried out)


I can start up apache with apachectl -k start from the commandline and it runs stable.
However, I would like this to work properly. Any ideas?

What I have done so far: with "systemctl --all" I saw an error mounting tmp.mount. Under armhf the tmp.mount is located under /usr/share/systemd
Somehow this directory is not visited (not sure if it should or why some configuration files are in this directory). I copied the tmp.mount to /lib/systemd/system and it can then be started with systemctl. A /tmp is now mounted separately.

There is no symlink from /var/tmp to /tmp or vice versa. Googling the namespace errors, some forums where suggesting this as a possible cause for it.
matzh
 
Posts: 1
Joined: 2017-08-30 20:39

Re: systemd not fully working after upgrade to debian stretc

Postby slor » 2017-09-28 08:48

Hey Matzh

did you solve the issue with the bluetooth service?
Having the same issue and looking for a solution.

thanks,
Sebastian
slor
 
Posts: 1
Joined: 2017-09-28 08:46

Re: systemd not fully working after upgrade to debian stretc

Postby debiman » 2017-09-29 16:20

matzh wrote:Since the upgrade to stretch, it turns out that some services do not start in systemd.
These seem to be all services that either include
PrivateTmp=true
ProtectHome=true
ProtectSystem=full

you do not post anything that would back this satement.
granted, systemd is a bit weird in that the 'systemctl status ...' output only shows that it failed, but not how.
nevertheless, it is possible to get more precise messages with 'journalctl' and/or other methods.

btw, jessie also used systemd as the primary init system.
User avatar
debiman
 
Posts: 1545
Joined: 2013-03-12 07:18


Return to System configuration

Who is online

Users browsing this forum: No registered users and 8 guests

fashionable