[vpsFree.cz: community-list] vytvoreni debian init scriptu

Miroslav Mareš mmares.trinity at gmail.com
Thu Jan 18 17:53:44 CET 2018


Zdravím,

to že systemd s PID 1 se tváří jako "init" proces je naschvál - snaží se
být do značné míry kompatibilní se SysV init systémem.

Zkusil jsem si teď u sebe zopakovat tvoji situaci a podařilo se mi všechno
v pohodě rozchodit, zde popíšu, jak na to:

1) Stáhneš si a upravíš init skript, např.
https://gist.github.com/peterhost/715255

2) zkopíruješ jej do složky /etc/init.d (budeš muset kopírovat pod rootem
nebo použít sudo)

3) Musíš tomu skriptu nastavit +x příznak!! tj. musí být spustitelný. To
udělá příkaz

sudo chmod +x /etc/init.d/my-simple

4) Nyní je potřeba spustit příkaz "sudo systemctl daemon-reload". Tento
příkaz způsobí, že systemd reloadne všechny
skripty a konfigurační soubory, tj. v našem případě si systemd všimne
/etc/init.d/my-simple skriptu.

5) Nyní už funguje příkaz "sudo service my-simple start", stejně jako
všechny ostatní.

Tedy systemd umí - kromě svých nativních .service souborů - i init skripty.
Přesněji řečeno, systemd obsahuje generátor systemd-sysv-generator,
který umí z init skriptu vygenerovat .service soubor. Přesně to se někde na
pozadí děje, když během "sudo systemctl daemon-reload" systemd narazí
na náš my-simple.

Kdykoli budeš dělat nějaké úpravy v init skriptu, musíš potom spustit "sudo
systemctl daemon-reload", jinak se ty úpravy neprojeví.

Miroslav Mareš

Dne 17. ledna 2018 15:54 Jakub Podlaha <j.podlaha at gmail.com> napsal(a):

> Zdar,
> tak opravdu je tam systemd, přestože se program pod pid 1 jmenuje "init" a
> přestože příkaz `service --status-all` se listuje podle scriptů v
> /etc/init.d/... nonic. Npm věci jsem naházel do pm2 a non-npm narvu do těch
> .service souborů. Zatím se vše tváří, jakože to funguje.
>
> Díky všem za rady,
> Jakub
>
>
> 2018-01-15 14:24 GMT+01:00 Lukáš Hrázký <lukkash at email.cz>:
>
>> Zdar,
>>
>> zkus:
>> systemctl status my-simple
>>
>> systemctl start my-simple
>>
>> A podobně, detaily si vygooglíš. systemctl je systemd příkaz pro správu
>> služeb a dalších věcí, service příkaz to nějak forwarduje, nevim
>> přesně, jak funguje. Zároveň, když tohle failne, nemáš systemd :)
>>
>> systemd je určitě nejjednodušší a nejlepší způsob, pokud je v systému
>> jako init. Service file pro jednoduchou službu je na pár řádků a opět
>> google poradí.
>>
>> Lukáš
>>
>>
>> On Mon, 2018-01-15 at 11:08 +0100, Jakub Podlaha wrote:
>> > Ahoj,
>> > díky za odpovědi.
>> >
>> > Mmonit vypadá dobře, ale je to zase nová syntax a další nástroj.
>> > Určitě na
>> > to v mezičase mrknu a zkusím to tím, jestli to nepůjde líp než tím
>> > nativním
>> > scriptem.
>> >
>> > Používám instanci Debianu, neupravenou, tak jak byla vytvořena přes
>> > vpsadmin. Podle tohohle jsem myslel, že pužívá normálně SysV Init.
>> > $ pidof init
>> > 1
>> >
>> > Navíc jsem si teď všiml, že tu mojí servisu vidím když dám:
>> > $ service --status-all
>> > ...
>> >  [ - ]  my-simple
>> > ...
>> > Ale spustit nejde.
>> >
>> > Ptám se tady hlavě proto, jestli není ten Debian na vpsFree nějak
>> > upravený
>> > a nepoužívá třeba jiné nástroje.
>> > Jak řešíte automatické spouštění aplikací vy? Pužíváte jen nástroje,
>> > co už
>> > svoje init scripty mají (apache, nginx, atp.)?
>> >
>> > Díky,
>> > Jakub
>> >
>> >
>> > 2018-01-15 9:30 GMT+01:00 Jakub Jelen <jakuje at gmail.com>:
>> >
>> > > To vypada, ze tvuj Debian pouziva systemd, takze psat init script
>> > > mi
>> > > prijde jako zbytecnost, kdyz muzes napsat nekolik radku service
>> > > file:
>> > >
>> > > https://www.freedesktop.org/software/systemd/man/systemd.service.ht
>> > > ml
>> > >
>> > > Oficialni dokumentace je velmi rozvlacna, ale pro inspiraci jak to
>> > > muze
>> > > vypadat doporucuji napriklad pohled na jinou oblibenou sluzbu,
>> > > naprikald
>> > > OpenSSH server:
>> > >
>> > > systemct cat ssh
>> > >
>> > > Automaticke spousteni by melo byt otazkou "systemct enable
>> > > yourunit.service"
>> > >
>> > > Jakub
>> > >
>> > > 2018-01-15 0:31 GMT+01:00 Nikos Timiopulos <nikos at manikstudio.cz>:
>> > >
>> > > > Ahoj,
>> > > >
>> > > > mrkni jestli Ti nebude vyhovovat alternativa Monit
>> > > > https://mmonit.com/monit/ (https://packages.debian.org/stretch/mo
>> > > > nit).
>> > > >
>> > > >
>> > > > Nikos
>> > > >
>> > > > On 15 Jan 2018, at 00:23, Jakub Podlaha <j.podlaha at gmail.com>
>> > > > wrote:
>> > > >
>> > > > Zdravim,
>> > > > rad bych se zeptal, jak vytvorim na Debianu init script pro appku
>> > > > (vetsinou node.js) a nastavim ho aby se spoustel pri startu
>> > > > systemu.
>> > > > Aktualne pouzivam detasovany screen a v nem shell pro kazdou
>> > > > appku, ale
>> > > > nechce se mi vse manualne spoustet po kazdem "Neplanovanem
>> > > > vypdadku".
>> > > >
>> > > > Uz jsem stravil nekolik hodin snahou dohledat, jak to v Debianu
>> > > > chodi.
>> > > > Zkusil jsem treba tenhle script: https://gist.github.com/peterhos
>> > > > t/715255
>> > > > (a nekolik dalsich) upravit a dat do /etc/init.d/my-simple.
>> > > > Dostavam chyby:
>> > > >
>> > > > $ service my-simple start
>> > > > Failed to start my-simple.service: Unit my-simple.service failed
>> > > > to load:
>> > > > No such file or directory.
>> > > > $ update-rc.d "my-simple" enable
>> > > > update-rc.d: error: no runlevel symlinks to modify, aborting!
>> > > >
>> > > > Myslel jsem, ze .service soubory patri pod systemd a ze Debian
>> > > > pouziva
>> > > > init scripty a ze service je tool na spravu init scriptu podobne
>> > > > jako v
>> > > > Gentoo je treba rc-update. Chyby jsem zkousel googlit, ale nasel
>> > > > jsem jen
>> > > > problemy se spatne nainstalovanymi aplikacemi.
>> > > >
>> > > > Jestli me muzete nakopnout, nebo poradit, budu rad.
>> > > >
>> > > > Zdar,
>> > > > Jakub
>> > > >
>> > > > _______________________________________________
>> > > > Community-list mailing list
>> > > > Community-list at lists.vpsfree.cz
>> > > > http://lists.vpsfree.cz/listinfo/community-list
>> > > >
>> > > >
>> > > >
>> > > > _______________________________________________
>> > > > Community-list mailing list
>> > > > Community-list at lists.vpsfree.cz
>> > > > http://lists.vpsfree.cz/listinfo/community-list
>> > > >
>> > > >
>> > >
>> > > _______________________________________________
>> > > Community-list mailing list
>> > > Community-list at lists.vpsfree.cz
>> > > http://lists.vpsfree.cz/listinfo/community-list
>> > >
>> > >
>> >
>> > _______________________________________________
>> > Community-list mailing list
>> > Community-list at lists.vpsfree.cz
>> > http://lists.vpsfree.cz/listinfo/community-list
>> _______________________________________________
>> Community-list mailing list
>> Community-list at lists.vpsfree.cz
>> http://lists.vpsfree.cz/listinfo/community-list
>>
>
>
> _______________________________________________
> Community-list mailing list
> Community-list at lists.vpsfree.cz
> http://lists.vpsfree.cz/listinfo/community-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.vpsfree.cz/pipermail/community-list/attachments/20180118/dd063ba9/attachment.html>


More information about the Community-list mailing list