After a fresh install, herd (sudo herd
) always hang indefinitely. The result is the system cannot halt or reboot (reboot or halt only leads to log in page), and services cannot be inspected or restarted (and network manger went down a lot, so each time it says NetworkManager needs to be running xxx I reboot the system)
I read the guix manual and the shepherd manual, but it have no mention of such behaviour, neither does the internet.
I tried sudo shepherd
, which gives me error “while loading configuration /gnu/store/xxxxxx-shepherd-1.0.2/etc/shepherd.scm: open-fdes: no such file or directory”, but kept running anyway. This let sudo halt
work, so I can shut the computer down. The error is kind of confusing though, I have no idea why shepeherd would assume configuration (%sysconfdir
in source code) to be that. in guix repl
, (use-modules (guix config)) %sysconfdir
give me "/etc
, sudo or not. But I don’t think that’s very important, as my pid 1 uses --config
:
/gnu/store/n87px1cazqkav83npg80ccp1n777j08s-guile-3.0.9/bin/guile --no-auto-compile /gnu/store/b4n5ax7l1ccia7sr123fqcjqi4vy03pv-shepherd-1.0.2/bin/shepherd --config /gnu/store/kk0xnlyzak8iyd1lm6qmncngnqxhvy6x-shepherd.conf
Previously I just sudo shepherd
, and only root service is fired.
I replicated my pid 1 command last night, and I saw many service spawning and configuration loaded successfully. loopback service failed, and NetworkManager, and bunch others like filesystem mounting, probably because loopback is already there, and so are many filesystems. NetworkManager is not responsive, but in top
it is indeed still running.
And just now I booted in as usual and sudo herd status
and it was just normal, no hang, and show me this big list of services, nothing went wrong.
I don’t understand why. Is it that last run with /gnu/store/xxxxx-shepherd.conf
have fixed something for me? Is this a common thing to happen?
edit: 5 minutes later and sudo herd status
is hanging again.