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í
×
    včera 19:55 | Zajímavý software

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    včera 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 2
    včera 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    20.6. 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    20.6. 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    20.6. 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    20.6. 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 4
    20.6. 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 1
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1959 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


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

    16.9.2024 09:08 sanoch | skóre: 7
    Systemd spuštění více skriptů
    Přečteno: 705×
    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.2024 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.2024 12:34 sanoch | skóre: 7
    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
    MakeIranBombedAgain❗ avatar 16.9.2024 12:45 MakeIranBombedAgain❗ | skóre: 42 | 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

    MakeIranBombedAgain❗ avatar 16.9.2024 12:29 MakeIranBombedAgain❗ | skóre: 42 | 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.2024 13:09 sanoch | skóre: 7
    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"
    MakeIranBombedAgain❗ avatar 16.9.2024 14:10 MakeIranBombedAgain❗ | skóre: 42 | 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.2024 14:14 sanoch | skóre: 7
    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šší.

    MakeIranBombedAgain❗ avatar 16.9.2024 14:53 MakeIranBombedAgain❗ | skóre: 42 | 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.2024 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.2024 14:54 sanoch | skóre: 7
    Rozbalit Rozbalit vše Re: Systemd spuštění více skriptů
    sudo systemd-analyze verify my-application.service
    MakeIranBombedAgain❗ avatar 16.9.2024 15:49 MakeIranBombedAgain❗ | skóre: 42 | 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.2024 17:21 sanoch | skóre: 7
    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

    MakeIranBombedAgain❗ avatar 19.9.2024 00:25 MakeIranBombedAgain❗ | skóre: 42 | 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.2024 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.