YaST2 Control Center is not running as root

From LinuxIntro
Jump to: navigation, search

Today when I wanted to set up a terminal server that brings a VNC desktop into a browser using guacamole I got this error when calling yast:

YaST2 Control Center is not running as root.
You can only see modules that do not require root privileges.

Ok, first thing I checked was that I am root indeed:

cloud-server-01:~ # who am i
root     pts/2        Jun 29 09:46 (krlh-4d034b34.pool.mediaways.net)
cloud-server-01:~ # id
uid=0(root) gid=0(root) groups=0(root)

Next thing was that I checked there is no mess around SUID bits or so. On my other computer where yast worked without problems I saw:

tweedleburg:~ # ll /sbin/yast
lrwxrwxrwx 1 root root 5 May 29 06:33 /sbin/yast -> yast2
tweedleburg:~ # ll /sbin/yast2
-rwxr-xr-x 1 root root 10273 May  2 12:42 /sbin/yast2

So no SUID bits or so. Ok, next thing to do was an strace:

strace -ffs 100 yast 2>file

This will execute yast, write a trace (strace), follow calls to sub-processes (ff), print a size of 100 characters per string (s 100) and redirect this to file. When looking at the file, funny enough, I remember the error message wrong, and I searched for "cannot". And there it was, the root-cause:

[pid 26593] clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1f54664a10) = -1 ENOMEM (Cannot allocate memory)

After resizing my server from 512 MB to 1024 MB it worked. Maybe I had too many processes running around. Because it once worked with 512 MB, but then there were other "unexplainable" things that have vanished now as well (e.g. could not install 700 software packages at once without error).