Angenommen, ich nix-env
installiere ein Paket, das SystemD verwendet, auf einem Ubuntu-Host. Was muss getan werden, um Ubuntus SystemD auf die SystemD-Module aufmerksam zu machen, die aus Nix-Paketen stammen?
Versuchen wir, die von Nix installierten .service
Dateien /lib/systemd/system/
für das Apache Kafka- Paket zu finden und sie zu verknüpfen .
nix-env -i apache-kafka
sudo systemctl start apache-kafka # Failed to start apache-kafka.service: Unit apache-kafka.service not found.
sudo updatedb && locate apache-kafka.service # No dice
locate kafka | grep service # Just a bunch of `.nix` files
Hier errate ich den Dienstnamen basierend auf dem Namen der Dienstkonfiguration in der Nix- Paketdefinition . Ich konnte keine Dokumentation finden, die beschreibt, wie und wo diese Konfiguration zu einer SystemD-Dienstdatei wird.
Als das nicht funktionierte, fing ich an, mich wirklich umzuschauen, unter der Annahme, dass Nix diese Servicedatei irgendwo erstellt haben muss. Aber jetzt fange ich an zu bezweifeln, dass es existiert. Sollen vom Nix-Paketmanager installierte SystemD-Module außerhalb von NixOS funktionieren, und wenn ja, wie funktionieren sie?
.service
Dateien statt.system
Dateien?