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

    Byla vydána nová verze 6.8 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.5.6.

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

    Byla vydána nová stabilní verze 6.8 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání. Jedná se o LTS verzi. Pro komerční uživatele byla prodloužena podpora ze 3 na 5 let.

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

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.2 (Mastodon, 𝕏). Přehled novinek i s videi a se snímky obrazovky v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 4
    dnes 13:33 | Komunita

    Je druhé úterý v říjnu a tedy všem čtenářkám AbcLinuxu vše nejlepší k dnešnímu Dni Ady Lovelace (Ada Lovelace Day), tj. oslavy žen zabývajících se přírodními vědami, technologiemi, inženýrstvím a matematikou (STEM).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 2.47.0 distribuovaného systému správy verzí Git. Přispělo 83 vývojářů, z toho 28 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.13.0. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Zajímavý článek Ladislav Hagara | Komentářů: 3
    včera 15:22 | Pozvánky

    Konference LinuxDays 2024 proběhne již tento víkend 12. a 13. října v Praze. Na programu je spousta zajímavých přednášek a workshopů, zástup zajímavých osobností a stánky řady projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, brmlab, OpenAlt a mnoho dalších. Vstup zdarma.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | IT novinky Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: Systemd spuštění více skriptů

    16.9. 09:08 sanoch | skóre: 6
    Systemd spuštění více skriptů
    Přečteno: 466×
    Zdravím dámy a pánové.

    Nedaří se mi spouštět více skriptů po startu systému. Zřejmě mám špatně zapsaný /etc/systemd/system/my-application.service. Prostě začínám a nerozumím dobře manuálu. Ještě je asi problém v tom, že jeden ze skriptů se musí spustit pod rootem.

    Můžete mi prosím poradit jak na to? Předem děkuji. Zdraví Richard

    Můj zápis:

    [Unit] Description=My Application Auto Start After=network.target

    [Service] ExecStart=/home/nas/skript 1 Restart=always User=nas Group=nas

    [Service] ExecStart=/home/nas/skript 2 (tento potřebuje sudo) Restart=always User=root Group=root

    [Install] WantedBy=multi-user.target

    Odpovědi

    16.9. 11:48 Vtipnéř | skóre: 39 | blog: Vtipnéřův blog | Brno
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    Zdravím všechny.

    Vlastní service pro systemd jsem nikdy nevytvářel, ale to vícenásobné použití "ExecStart" mi přijde podezřelé. Zkuste se mrknout na tenhle dotaz. A má tam být ta mezera za "/home/nas/skript"? Takhle se totiž pouští stejný skript s různými parametry.

    Chybové hlášení by taky neškodilo.

    Jirka
    Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
    16.9. 12:34 sanoch | skóre: 6
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    Děkuji za reakci.

    Ne ta mezera je nedůslednost, dejme tomu "/home/nas/./skript1.sh"

    Ten dotaz jsem našel, ale pořád nerozumím.

    Nepotřebuji stejný skript s různými parametry. Potřebuji spustit dva různé skripty po spuštění systému, ideálně čekat až se dokončí první (ten lze spustit jen jako root) a pak spustit druhý. Ten druhý mi samostatně funguje jak má, jen jak připíšu ten první tak se to blokne.

    my-application.service - My Application Auto Start Loaded: bad-setting (Reason: Unit my-application.service has a bad unit file setting.) Active: failed (Result: exit-code) since Mon 2024-09-16 12:26:27 CEST; 3min 41s ago Main PID: 2101 (code=exited, status=15) CPU: 34min 25.053s
    Gréta avatar 16.9. 12:45 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů

    pro vodlaďování mužeš zkusit zavolat přikaz systemd-analyze:

    systemd-analyze verify my-application.service

    noa z vypisu budeš asi víc moudřejší než z tohodlenc hlášení chybovýho :D ;D

    Gréta avatar 16.9. 12:29 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů

    to se mi ňák jakože nezdá že by v jedný unitě mohlo bejt víc [service] sekcí než jenom právě jedna :O :O

    víc skriptů mužeš v 'ExecStart' pustit unitou jenom když má nastavenej 'Type' pouze na 'oneshot' hele. Pokud si typ nespecifikoval (a to si nespecifikoval) tak defaultní typ je 'simple'. Nicmeně ani todlecto by asi jako tvuj problém neřešilo.

    Mohl by si využít 'execStartPre' nebo 'execStartPost' hele na spuštění před nebo po startu skriptu v 'ExecStart' pokud ti nevadí že voba skripty poběžej pod tim samým uživatelem. Pokud to va, nóó tak asi rozdělit do dvou unit a možná si jednu druhou vyžádat páč předpokládám že ten vobyčejnej skript je na tom rootovským zavislej :O ;D


    to rootovskou pomenujem třeba sanochova.service a napišem do ni

    [Unit]
    Description=Sanochuv skript s rootem
    After=network.target
    
    [Service]
    ExecStart=/home/nas/skript1
    Restart=always
    User=root
    Group=root
    
    [Install]
    WantedBy=multi-user.target 
    

    noa pak druhou nějakou službu, která už pod tim rootem nepoběží

    [Unit]
    Description=Sanochuv obycejnej skript
    After=network.target sanochova.service
    Requires=sanochova.service
    
    [Service]
    ExecStart=/home/nas/skript2
    Restart=always
    User=nas
    Group=nas
    
    [Install]
    WantedBy=multi-user.target 
    

    eště mě napadá možnost udělat tu service 'forking' a spustit jeden skript druhým ale to se prej v systemd nedoporučuje ikdyž to je prej uplně běžná linuxová praxe :D

    16.9. 13:09 sanoch | skóre: 6
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    Ale kam to zapsat, pokud je zapíšu pod sebe do "/etc/systemd/system/my-application.service" tak to vyhodí

    × my-application.service - My Application Auto Start Loaded: bad-setting (Reason: Unit my-application.service has a bad unit file se> Active: failed (Result: exit-code) since Mon 2024-09-16 12:26:27 CEST; 3min 41s> Main PID: 2101 (code=exited, status=15) CPU: 34min 25.053s

    netuším jak se dostat k textu za odrážkou.

    Nemá to být náhodou v samostatných adresářích?

    např: "/etc/systemd/system/my-application.service1" "/etc/systemd/system/my-application.service2"
    Gréta avatar 16.9. 14:10 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů

    žádný složšky, normálně jenom jako *.service soubory ve '/etc/systemd/system'.

    dej sem vystup tamtoho 'systemd-analyze verify', to by mělo víc podrobnějc vypsat jakou máš v tý unitě chybu :O :O

    netuším jak se dostat k textu za odrážkou.

    tim 'textem za odrážkou' myslíš co :O :O

    16.9. 14:14 sanoch | skóre: 6
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    odrážka "> "

    systemd-analyze verify nevyplivne nic

    Asi by nevadilo spouštět to vše pod rootem.

    Pokud to bude jednodušší.

    Gréta avatar 16.9. 14:53 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    systemd-analyze verify nevyplivne nic

    příde mi dost nepravděpodobný by to současně nadávalo na 'bad unit file' a současně systemd-analyze nic nevyplivlo :O :O zkontroluj pro jistotu jestli tim necháváš analyzovat správnej soubor :O :O

    16.9. 20:29 tttttttttttt
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    Když výstup nebude na terminál, odrážka se nepoužije.
    sudo systemctl status my-service.service | cat
    Jde to i jinak (argumentem), tohle si líp pamatuju.
    16.9. 14:54 sanoch | skóre: 6
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    sudo systemd-analyze verify my-application.service
    Gréta avatar 16.9. 15:49 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů

    zkus tu službu zastavit, udělat daemon-reload jestli si to už neudělal a znova zkusit spustit :O :O

    ....nejspíš to bere ten starej soubor *.service kterej ale už nevodpovídá současnýmu, dycky když se poeditujou už existujicí *.service soubory tak se pak musej znova načíst :O :O

    sudo systemctl stop my-application.service
    sudo systemctl daemon-reload
    sudo systemctl start my-application.service
    
    16.9. 17:21 sanoch | skóre: 6
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    To jsem samozřejmě udělal, ale verify mlčí a pořád to hlásí výše uvedenou chybu.

    Nemá se to zapsat náhodou do:

    /etc/systemd/system/skript1.service

    a druhý

    /etc/systemd/system/skript2.service

    Takto jsem to pochopil z tvé poslední odpovědi.

    Jinak moc díky za trpělivost s neználkem. Cesta k vědění je po padesátce již trnitá. Zbytky mozku již nejsou tak rychlé.

    Budu moc vděčný, když mi pomůžeš toto vyřešit.

    Richard

    Gréta avatar 19.9. 00:25 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    Nemá se to zapsat náhodou do: /etc/systemd/system/skript1.service a druhý /etc/systemd/system/skript2.service

    název toho *.service souboru se nemusí shodovat s názvem spouštěnýho skriptu, ten název si mužeš zvolit jakejkoliv

    jinak mi asi jako rozumíš správně, v tý minulý odpovědi (hele) jsem to tak myslela - rozdělit do dvouch různejch *.service souborů :D ;D

    16.9. 20:00 tttttttttttt
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    Viz ExecStart= v dokumentaci.

    Unless Type= is oneshot, exactly one command must be given. When Type=oneshot is used, zero or more commands may be specified.

    A pak koukni na sekci Command lines.

    Myslím, že chceš tohle:
    [Unit] 
    Description=My Application Auto Start 
    After=network-online.target 
    
    [Service] 
    Type=oneshot
    ExecStart=/home/nas/skript 1
    ExecStartPost=!/home/nas/skript 2
    Restart=always
    User=nas
    Group=nas 
    
    [Install]
    WantedBy=multi-user.target 
    
    Type nastav podle toho, jestli je to služba nebo jednorázový skript.

    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.