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 06:00 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 05:55 | IT novinky

    Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 18:33 | IT novinky

    Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.

    Ladislav Hagara | Komentářů: 1
    včera 16:22 | Komunita

    Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | IT novinky

    Red Hat představil nový nástroj Digital Sovereignty Readiness Assessment (GitHub), který organizacím umožní vyhodnotit jejich aktuální schopnosti v oblasti digitální suverenity a nastavit strategii pro nezávislé a bezpečné řízení IT prostředí.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý software

    BarraCUDA je neoficiální open-source CUDA kompilátor, ale pro grafické karty AMD (CUDA je proprietární technologie společnosti NVIDIA). BarraCUDA dokáže přeložit zdrojové *.cu soubory (prakticky C/C++) přímo do strojového kódu mikroarchitektury GFX11 a vytvořit tak ELF *.hsaco binární soubory, spustitelné na grafické kartě AMD. Zdrojový kód (převážně C99) je k dispozici na GitHubu, pod licencí Apache-2.0.

    NUKE GAZA! 🎆 | Komentářů: 1
    17.2. 17:00 | IT novinky

    Podvodné reklamy na sociálních internetových platformách, jako je Facebook, Instagram nebo X, vytvořily loni v Česku jejich provozovatelům příjmy 139 milionů eur, tedy zhruba 3,4 miliardy korun. Proti roku 2022 je to nárůst o 51 procent. Vyplývá to z analýzy Juniper Research pro společnost Revolut. Podle výzkumu je v Česku zhruba jedna ze sedmi zobrazených reklam podvodná. Je to o 14,5 procenta více, než je evropský průměr, kde je podvodná každá desátá reklama.

    Ladislav Hagara | Komentářů: 7
    17.2. 15:44 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    17.2. 03:22 | Nová verze

    Czkawka a Krokiet, grafické aplikace pro hledání duplicitních a zbytečných souborů, byly vydány ve verzi 11.0. Podrobný přehled novinek v příspěvku na Medium. Od verze 7.0 je vedle frontendu Czkawka postaveného nad frameworkem GTK 4 vyvíjen nový frontend Krokiet postavený nad frameworkem Slint. Frontend Czkawka je už pouze v udržovacím módu. Novinky jsou implementovány ve frontendu Krokiet.

    Ladislav Hagara | Komentářů: 27
    17.2. 02:00 | Zajímavý článek

    Jiří Eischmann na svém blogu publikoval článek Úvod do MeshCore: "Doteď mě radioamatérské vysílání úplně míjelo. Když jsem se ale dozvěděl, že existují komunity, které svépomocí budují bezdrátové sítě, které jsou nezávislé na Internetu a do značné míry taky elektrické síti a přes které můžete komunikovat s lidmi i na druhé straně republiky, zaujalo mě to. Když o tom přede mnou pořád básnili kolegové v práci, rozhodl jsem se, že to zkusím taky.

    … více »
    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (4%)
     (2%)
     (12%)
     (27%)
    Celkem 904 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Problém s init skriptem pod systemd (předání argumentů)

    28.10.2021 16:23 MilanC | skóre: 16
    Problém s init skriptem pod systemd (předání argumentů)
    Přečteno: 633×

    Ahoj, kdysi jsem si napsal init.d skripty na spouštění a manipulaci s více instancemi dvblast+ffmpegu. Provozoval jsem jej do teď na Ubuntu 16.04, kde jsem toho času i z jiných důvodů vyhodil systemd a místo něj dal upstart-sysv a sysvinit. Nyní ten systém migruji na Ubuntu 20.04 a narazil jsem na problém. Můj init skript totiž používá další argument, kterým je konfigurační soubor. Tedy můžu z řádku ručně volat něco jako /etc/init.d/mujskript restart config1

    Usage: $0 {start|stop|restart|force-reload} [config_file]

    Funguje to tak, že pokud se volitelný parametr config neurčí, operace se provede nad všemi configy = instancemi. Pokud se určí, provede se operace jen nad danou instancí (třeba restart). Nyní jsem v systemd narazil, protože tam se předává jen první parametr (stop/start/restart/atd.), ale druhý už ne. Mám další aplikaci, která toto volání init skriptu využívá v případě potřeby manipulace s danou instancí, to ale můžu případně upravit, jak bude potřeba. V podstatě vše se řídí a určuje počtem konfiguračních souborů v daném umístění. Pro představu, ten jednodušší skript pro bvblast vypadá takto: https://pastebin.com/wYURJBMN

    Hledám možné řešení...

    1. Je možné v Ubuntu 20.04 zase vyhodit systemd? (návody, co jsem dohledal jsou na nižší verze, tak nevím, https://appuals.com/remove-systemd-ubuntu-permanently/). Nezadělám si na nějaké problémy? Nevím, jak je to v této verzi moc navázané. Bylo by to nejjednodušší řešení bez dalších nutných úprav.
    2. Mohu to přepsat a na každou instanci/config mít extra init skript odkazující na konkrétní config, ale trochu to znepříjemní správu, protože počet instancí se na různých strojích liší a mění i v čase. Prostě do teď to fungovalo zcela bezúdržbově.
    3. Nějak donutit systemd, aby mi tam pouštěl i ten druhý argument?
    4. Mít jeden init skript a na něj udělat různé služby v systemd per config? Se systemd příliš neumím, tak se toho trochu bojím. A opět přemýšlím, jestli by se to dalo nějak automatizovat.
    5. Nějaké jiné doporučené řešení?

    Děkuji.


    Řešení dotazu:


    Odpovědi

    Max avatar 28.10.2021 16:52 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Měl jsem sen ... :(
    28.10.2021 17:03 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Ahoj, tohle jsem našel, ale vůbec se mi to nelíbí. Ale je možné, že jsem to nepochopil. Jde ideálně o tu bezúdržbovost, což do teď fungovalo. Prostě jsme jen nakopírovali konfigy do adresáře, tam je upravili a nic víc se neřešilo. Pokud možno bych se chtěl vyhnout ruční editaci těch systemd služeb.

    Leda by to šlo nějak automatizovat, třeba mít nějaký skript, který by iteroval ty konfigurace v adresáři a pro každou založil tu službu v systemd? A tento skript bych pouštěl někde úplně na začátku, aby případně došlo k aktualizaci, pokud by někdo nějaký config umázl/přidal. Šlo by to takto nějak?
    28.10.2021 16:56 ...
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Ubuntu nevím, ale ono se to od debianu nebude moc lišit. Takže v debianu, když si nainstaluješ třeba OpenVPN, tak se to dá pouštět dvěma způsoby. Představ si, že máš v několik konfiguračních souborů v jednom adresáři. Takže pomocí openvpn.service spustíš všechny ty konfigurace najednou. Ale když bys chtěl spouštět ty konfigurace nezávisle ne sobě, můžeš to spouštět jako openvpn@prvni_konfig.service, openvpn@druhy_konfig.service. Pomoci nějaké volby systemd, kterou si nepamatuji, si to z toho názvu service načte to "druhy_konfig" a podle toho použije jiný konfigurační soubor. Tímhle způsobem by se patrně daly spouštět i ty tvoje služby.
    28.10.2021 17:00 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Ževraj to funguje. Bol to tretí link pri vyhľadaní systemd service parameters, vyberal som podľa názvu.
    Řešení 3× (Andrej, Heron, Pavel Stárek)
    Josef Kufner avatar 28.10.2021 17:01 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Nauč se se Systemd. Ušetří ti to mnoho starostí (a přidá jen pár).

    Namísto initscriptu napíšeš unit, kde uvedeš příkaz pro spuštění dané služby. Ten příkaz uvedeš pro spuštění na popředí s klasickým stdout/stderr výstupem. Systemd to spustí na pozadí, uloží log, při pádu restartuje,… ušetří to mnoho starostí.

    Pro tvůj příklad by dvblast.service vypadalo nějak takto:
    [Unit]
    Description="Muj krasny dvbast %i"
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/local/bin/dvblast
    EnvironmentFile=/etc/default/dvblast
    User=dvblast
    Group=dvblast
    Environment="ADAPTER=%i"
    
    [Install]
    WantedBy=multi-user.target
    
    To %i je název instance, takže když nastartuješ dvblast@adapter1.service, tak proměnná ADAPTER bude "adapter1". Viz https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Specifiers.

    Plus/mínus nějaké detaily by to mělo kompletně nahradit ten tvůj initscript. PID file nemusíš řešit, to pořeší systemd pomocí cgroups. Logování také dostaneš zdarma.
    Hello world ! Segmentation fault (core dumped)
    29.10.2021 13:15 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    A bude mu to fungovat automaticky? To znamena, ze ked niekde prida nejaky konfig, tak nemusi nic ine urobit a moze danu instanciu ovladat a pri bootovani to startne?
    Josef Kufner avatar 29.10.2021 15:14 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Myslím, že stačí konkrétní instanci povolit, tím se vyrobí symlink a systemd tak ví, že existuje.
    Hello world ! Segmentation fault (core dumped)
    Pavel 'TIGER' Růžička avatar 29.10.2021 00:15 Pavel 'TIGER' Růžička | skóre: 54
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Máš de facto dvě možnosti. Buď používat no systemd distribuci a nebo se naučit systemd. Já jsem na tom tak, že systemd sice sleduji, ale zatím jej pořád nepoužívám. Místo toho jedu devuan, či artix. Tuším, že i MX je bez systemd. U toho si však nejsem jist, neb jej nepoužívám
    29.10.2021 10:51 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Jen doplním k navrhovanému bodu 1. Toto už není v ubuntu 20.04 možné, protože v repo chybí dané balíčky pro upstart. Předpokládám tedy, že v této verzi už systemd nahradit nejde, proto také na to nelze dohledat návod jako u předchozích verzí Ubuntu.

    Jdu tedy více studovat systemd.
    18.11.2021 19:02 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Problém s init skriptem pod systemd (předání argumentů)
    Ahoj,

    postupně se tím prokousávám, něco jsem si načetl, ale mám pár dalšíchdotazů. Vytvořil jsem si hlavní service a pak další pro jednotlivé configy... https://pastebin.com/GvifjVwp, zatím to tedy nic moc nedělá, spíše s tím pokusuji.
    # systemctl list-units --all | grep ffmpeg-hls-restream
      ffmpeg-hls-restream.service                                                              loaded    inactive dead      FFmpeg restream to HLS
      ffmpeg-hls-restream@stream101.service                                                    loaded    inactive dead      FFmpeg restream to HLS for stream101
      ffmpeg-hls-restream@stream102.service                                                    loaded    inactive dead      FFmpeg restream to HLS for stream102
      ffmpeg-hls-restream@stream103.service                                                    loaded    inactive dead      FFmpeg restream to HLS for stream103
      ffmpeg-hls-restream@stream104.service                                                    loaded    inactive dead      FFmpeg restream to HLS for stream104
    Chtěl bych se zeptat jestli je dan0, že se hlavní service spustí vždy před těmi dalšími konfiguračními? Lze to případně zajistit? Abych automatizoval zakládání a odmazávání neplatných services per config, chtěl bych před těmi dílčími vykonat skript, který by vypadal nějak takto:
    CONFIGDIR="/etc/ffmpeg-hls-restream"
    
    systemctl stop ffmpeg-hls-restream@*
    systemctl disable ffmpeg-hls-restream@*
    systemctl daemon-reload
    systemctl reset-failed
    
    for CONFIGFILE in $CONFIGDIR/*.conf; do
        CONFIGFILE=$(basename -- "$CONFIGFILE")
        CONFIG="${CONFIGFILE%.*}"
        systemctl enable ffmpeg-hls-restream\@${CONFIG}
    done
    
    Prostě před vlastním spouštěním úloh pro jednotlivé konfigurace tento seznam nejprve aktualizovat. Až pak startovat. Oba soubory jsem zkopíroval do /etc/systemd/system/, v /etc/systemd/user/ mi je to nějak nevidí.

    Díky.

    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.