Portál AbcLinuxu, 6. května 2025 07:35
Řešení dotazu:
[root@XXXXXX ~]# cat /etc/systemd/system/JMENO.service.d/start-after-mariadb.conf
[Unit]
After=mariadb.service
systemctl daemon-reload
● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/smbd.service.d └─start-after-slapd.conf Active: failed (Result: exit-code) since Mon 2018-11-05 13:36:16 CET; 1min 54s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Process: 1311 ExecStart=/usr/sbin/smbd $SMBDOPTIONS (code=exited, status=1/FAILURE) Main PID: 1311 (code=exited, status=1/FAILURE) Status: "Starting process..." lis 05 13:35:47 server systemd[1]: Starting Samba SMB Daemon... lis 05 13:36:00 server systemd[1]: smbd.service: Supervising process 1311 which is not our child. We'll most likely not notice when it exits. lis 05 13:36:16 server systemd[1]: smbd.service: Main process exited, code=exited, status=1/FAILURE lis 05 13:36:16 server systemd[1]: Failed to start Samba SMB Daemon. lis 05 13:36:16 server systemd[1]: smbd.service: Unit entered failed state. lis 05 13:36:16 server systemd[1]: smbd.service: Failed with result 'exit-code'.
# cat /etc/systemd/system/smbd.service.d/start-after-slapd.conf [Unit] After=slapd.service
[2018/11/05 13:28:17.684356, 0] ../source3/passdb/pdb_interface.c:180(make_pdb_method_name) pdb backend ldapsam:ldap://localhost did not correctly init (error was NT_STATUS_CANT_ACCESS_DOMAIN_INFO) [2018/11/05 13:36:00.416891, 0] ../source3/lib/smbldap.c:998(smbldap_connect_system) failed to bind to server ldap://localhost with dn="cn=admin,dc=local,dc=loc" Error: Can't contact LDAP server (unknown)Ručně je to pak OK:
● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/smbd.service.d └─start-after-slapd.conf Active: active (running) since Mon 2018-11-05 13:41:30 CET; 36s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 4233 (smbd) Status: "smbd: ready to serve connections..." Tasks: 4 (limit: 4915) CGroup: /system.slice/smbd.service ├─4233 /usr/sbin/smbd ├─4236 /usr/sbin/smbd ├─4237 /usr/sbin/smbd └─4247 /usr/sbin/smbd lis 05 13:41:14 server systemd[1]: Starting Samba SMB Daemon...Napadá vás něco?
systemctl status slapd
smyslupnej vystup?systemctl list-unit-files | grep -i ldap
slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol) Loaded: loaded (/etc/init.d/slapd; generated; vendor preset: enabled) Active: active (running) since Mon 2018-11-05 13:36:49 CET; 51min ago Docs: man:systemd-sysv-generator(8) Tasks: 10 (limit: 4915) CGroup: /system.slice/slapd.service └─1967 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -f /etc/ldap/slapd.conf
# systemctl list-unit-files | grep -i ldap # # systemctl list-unit-files | grep -i slapd slapd.service generatednapadá mě, jestli nemá Debian zase nějakou specialitku v konfigu..
# cat /etc/systemd/system/smbd.service.d/start-after-slapd.conf
[Unit]
After=slapd.service
Requires=slapd.service
systemctl show smbd.service systemctl list-dependencies smbd.service
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol) Loaded: loaded (/etc/init.d/slapd; generated; vendor preset: enabled)a
# systemctl list-unit-files | grep -i slapd slapd.service generatedA ja si myslim, ze tohle je ten problem
sleep 5
do spouštění dané služby, která slapd používá, aby chvíli počkala. Nebo, pokud selže okamžitě, nastavit opětovné pokusy o spuštění po selhání (RestartOn a RestartSec).
# man systemd-unit # man systemd-serviceV tech man strankach pak hledat "Restart" a "Limit" a navede to k temto polozkam:
StartLimitIntervalSec=, StartLimitBurst=, Restart= a RestartSec=
Dokud nebude mit slapd v Debian 9 nativni systemd soubor pro start, tak ta zavislost asi(?) fungovat nebudeZávislost samozřejmě fungovat bude. Problém je v tom, že pokud je jednotka jenom nějaký wrapper kolem bůhvíjakých skriptů, nemá systemd jak zjistit, že služba nastartovala a dokáže poskytovat služby. Nejspíš bude službu považovat za nastartovanou v okamžiku, kdy skončí nějaký startovací skript, protože dál už vidět nemůže. Pokud
slapd
startuje tak, že začne naslouchat na příslušném portu, odforkuje se a pak se startovací proces ukončí, pomohlo by vytvořit si vlastní jednotku, která bude spouštět přímo slapd
a bude typu forking
. Systemd pak podle ukončení spouštěcího procesu pozná, že slapd
nastartoval, a začne spouštět závislé služby.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.