abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 20:44 | Nová verze

Byla vydána verze 11.7 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností i s náhledy v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
dnes 17:22 | Bezpečnostní upozornění

V balíčkovacím systému APT používaném v Debianu a z něj vycházejících linuxových distribucích byla nalezena bezpečnostní chyba CVE-2019-3462. Útočník může vzdáleně spustit libovolný příkaz pod právy roota.

Ladislav Hagara | Komentářů: 3
dnes 17:00 | Nová verze

Canonical oznámil vydání Ubuntu Core 18. Nová verze Ubuntu Core vychází z Ubuntu 18.04 LTS a podporována bude 10 let. Jedná se o placenou podporu. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

Ladislav Hagara | Komentářů: 0
dnes 15:31 | Nová verze

Vyšlo Pharo 7.0 (otevřená implementace Smalltalku). Nyní je kompletně bootstrapováno ze zdrojových kódů spravovaných Gitem, má nové nástroje na procházení a editaci kódu a přináší mnoho dalších změn a oprav. Popis novinek v češtině.

Pavel Křivánek | Komentářů: 0
dnes 02:22 | Nová verze

Byla vydána verze 4.5 linuxové distribuce Parrot (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii.

Ladislav Hagara | Komentářů: 2
včera 17:22 | Pozvánky

V sobotu 23. února se uskuteční 6. ročník WordCampu – největší konferenci o WordPressu v ČR. Ke konferenci probíhá i soutěž typu CTF (Capture The Flag) o volné vstupenky, kde si lze zkusit zneužít běžné bezpečnostní chyby.

smíťa | Komentářů: 0
včera 17:11 | Pozvánky

Letošní ročník konference Prague PostgreSQL Developer Day se bude konat 13. a 14. února v prostorách FIT ČVUT. Program konference najdete na stránkách konference, stejně jako registrační formulář.

TomasVondra | Komentářů: 0
včera 16:55 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě v nástroji pro správu databází v jednom PHP souboru Adminer. Chyba je už půl roku opravena. Stačí Adminer aktualizovat.

Ladislav Hagara | Komentářů: 3
20.1. 18:33 | Nová verze

Byla vydána nová stabilní verze 2.7 svobodné decentralizované mikroblogovací platformy a sociální sítě podobné Twitteru Mastodon (Wikipedie). Detailní přehled novinek na GitHubu.

Ladislav Hagara | Komentářů: 0
20.1. 00:22 | Nová verze

Byla vydána nová vývojová verze datového formátu a souvisejících nástrojů Relational pipes. Verze v0.9 obsahuje vstupní moduly pro fstab, CSV, XML a příkazový řádek; výstupní moduly pro CSV, XML, ODS (ODF), GUI (Qt), hodnoty oddělené nulovým bajtem a tabulkový výstup do konzole. Relační data lze upravovat relačními příkazy grep, cut a sed.

xkucf03 | Komentářů: 69
Používáte USB Type-C?
 (20%)
 (16%)
 (11%)
 (12%)
 (38%)
 (4%)
 (43%)
Celkem 463 hlasů
 Komentářů: 0
Rozcestník

Dotaz: Pořadí spouštění služeb při startu Debianu

5.11.2018 12:50 Pomlázka
Pořadí spouštění služeb při startu Debianu
Přečteno: 407×
Ahoj, mám Debian 9 se systemd a chtěl bych se zeptat, jak zpřeházet pořadí spouštěných služeb při startu systému. Stačí v runlevelu 2 změnit jen pořadové číslo nebo se to dělá nějak jinak? Jde mi o to, že třeba se mi nespustí Samba, protože nemá při svém startu ještě k dispozici LDAP. Po najetí systému jí bez problému zapnu ručně. Takových služeb tu mám víc. Díky.

Řešení dotazu:


Odpovědi

Řešení 1× (Filip Jirsák)
5.11.2018 13:05 SpaceExplo | skóre: 15
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Na runlevel v systemd uplne zapomen. Jede se na targety (kuprikladu multi-user.target) - vice treba zde https://www.systutorials.com/239880/change-systemd-boot-target-linux/

Systemd startuje sluzby paralelne podle "stromu zavislosti", ktery si vytvori pri "systemctl daemon-reload"

Takze to co potrebujes je nastavit tem sluzbam zavislost na LDAP s tim, ze maji startovat az po ni. K tomu si budes muset zjistit jak presne se ktera sluzba v systemd jmenuje a nasledne jim pridat "lokalni" konfiguraci do /etc/systemd/system/[service-name].service.d/ adresare, kterej si vytvoris. (je to vhodnejsi, nez primo editovat .service soubor te sluzby, kvuli upgradum)

Obecne budes resit "After" definici v [Unit] sekci, zde podrobne info: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#

Nejlepe najit si par prikladu na netu, ale treba tohle je moje reseni jak nastartovat sluzbu az po DB:
[root@XXXXXX ~]# cat /etc/systemd/system/JMENO.service.d/start-after-mariadb.conf
[Unit]
After=mariadb.service


A samozrejme, po zmenach nezapomenout pustit systemctl daemon-reload
5.11.2018 13:14 Pomlázka
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Tak to je mazec. Díky za nakopnutí, jdu se v tom pohrabat:)
5.11.2018 13:38 SpaceExplo | skóre: 15
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Za malo, dej vedet jak jsi dopadnul :-)

Jinak, systemd je dobre si nejak osvojit, protoze uz je vlastne vsude a hooodne veci dela jinak.
5.11.2018 13:43 Pomlázka
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Nějak se nezadařilo. Někde mám asi botu:
● 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?

5.11.2018 14:21 SpaceExplo | skóre: 15
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Jsi si jistej, ze ta sluzba se jmenuje "slapd"?

Vypise ti systemctl status slapd smyslupnej vystup?

Zkus jeste systemctl list-unit-files | grep -i ldap
5.11.2018 14:30 Pomlázka
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
jj, je to 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                          generated
napadá mě, jestli nemá Debian zase nějakou specialitku v konfigu..
5.11.2018 15:30 SpaceExplo | skóre: 15
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Zkus jeste do toho config souboru prihodit "Requires", asi takhle:
# cat /etc/systemd/system/smbd.service.d/start-after-slapd.conf
[Unit]
After=slapd.service
Requires=slapd.service
5.11.2018 16:49 Pomlázka
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Tak ani to nepomohlo:( Ale třeba moje domněnka, že smdb nenastartuje kvůli, v té době nedostupnému, ldapu je blbost. Podle logu jsem to tak ale vydedukoval...
Josef Kufner avatar 5.11.2018 16:54 Josef Kufner | skóre: 68
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Napřed si ověř, že tu konfiguraci máš správně a načítá se:
systemctl show smbd.service
systemctl list-dependencies smbd.service
Hello world ! Segmentation fault (core dumped)
5.11.2018 17:20 SpaceExplo | skóre: 15
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Myslim si, ze jsi to vydedukoval dobre :-(

Zkusil jsem si nainstalovat slapd na jednu VM a zda se, ze slapd nema nativni systemd .service soubor pro start, ale startuje pomoci "jakesi kompatibility" systemd se starsimi startup skripty. A az ted jsem si toho vsiml ve tvym vypisu:
● 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                          generated
A ja si myslim, ze tohle je ten problem :-(
Dokud nebude mit slapd v Debian 9 nativni systemd soubor pro start, tak ta zavislost asi(?) fungovat nebude :-(

Jediny postup, ktery me ted napada je "nesystemovy" - tedy takovy, ktery by sice fungoval, ale s nejvetsi pravdepodobnosti by byl narusen pri upgradu slapd. Obecne bych to popsal asi takto:
- presunout /etc/init.d/slapd jinam (aby nenarusoval systemd)
- vytvorit vlastni slapd.service soubor a dat ho do /etc/systemd/system/
- a pak ladit a ladit a hledat moznosti, jak po startu slapd mit jistotu, ze uz bezi a uz muze/bude odpovidat na dotazy (protoze uspesny start demona muze byt nasledovan jeho inicializaci a to muze trvat)
5.11.2018 17:50 Pomlázka
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Hmm. Když to tak vidím, tak by bylo asi spíš lepší posunout smbd.service nějak dál v pořadí bez ohledu na to, jestli ldap běží nebo ne. To by mělo jít, nebo ne?
Josef Kufner avatar 5.11.2018 18:28 Josef Kufner | skóre: 68
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
slapd nemusíš nijak upravovat, stačí u smbd nastavit, že závisí na slapd. Viz výše.
Hello world ! Segmentation fault (core dumped)
5.11.2018 20:38 Pomlázka
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
To ale nefunguje, viz výše.
Josef Kufner avatar 5.11.2018 21:08 Josef Kufner | skóre: 68
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Pak je ještě možné, že slapd chvíli trvá vyrobit/otevřít poslouchací socket a systemd si myslí, že už služba běží. Tento problém elegantně řeší socket activation, ale musí to umět ten démon (slapd), neboť namísto přímého otevření socketu ten socket otevře systemd dlouho před startem služeb a služba ho dostane po dbus. Klienti se pak připojují na nachystaný socket (takže to neselže) a zaseknou se do doby, než služba nastartuje a vyzvedne příchozí spojen.

Můžeš zkusit připsat 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).
Hello world ! Segmentation fault (core dumped)
5.11.2018 23:37 SpaceExplo | skóre: 15
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Myslenka s restart se mi libi, ty volby by se daly pridat do toho konfiguraku smbd.service.d/start-after-slapd.conf

Ovsem pozor - systemd v poslednich verzi trochu zmenilo nazvoslovi tech "Restart*" polozek a presunovalo je mezi kategoriema [Unit] a [Service].
Debian 9.5 ma verzi 232 a nejlepsi je hledat info v man strankach na masine:
# man systemd-unit
# man systemd-service
V tech man strankach pak hledat "Restart" a "Limit" a navede to k temto polozkam:
StartLimitIntervalSec=, StartLimitBurst=, Restart= a RestartSec=
6.11.2018 10:46 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
Dokud nebude mit slapd v Debian 9 nativni systemd soubor pro start, tak ta zavislost asi(?) fungovat nebude :-(
Zá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.
k3dAR avatar 6.11.2018 18:49 k3dAR | skóre: 52
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
ze by ;-)
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 5.11.2018 23:47 k3dAR | skóre: 52
Rozbalit Rozbalit vše Re: Pořadí spouštění služeb při startu Debianu
mozna se inspiruj u Arch, kterej si systemd slapd.service pridava pro balicek:-)
porad nemam telo, ale uz mam hlavu... nobody

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.