Portál AbcLinuxu, 20. dubna 2024 00:48


Dotaz: Start programu z inittabu

6.5.2006 20:47 anoraxx | skóre: 2
Start programu z inittabu
Přečteno: 107×
Odpovědět | Admin
Mam takovy problem.Udelal sem si program ktery bude cist ze souboru a porovnavat s vlozenou hodnotou od uzivatele a v pripade shody zapisovat do jineho souboru a potrebuju tento program spoustet pri zavadeni systemu pri sysinitu.Takze jsem do /etc/inittab zapsal: 2::sysinit:/usr/local/sbin/cpp.o Jenze pri zavadeni systemu mi system hlasi unable to open file.Spustitelna prava mam nastavena,program normalne funguje kdyz jsem v systemu.Rekl bych ze problem je v tom ze system nema jeste namapovane adresare protoze /etc/fstab se jeste neprovedl.Takze jsem program a oba soubory umistil do /usr/local/sbin ktery by mel byt zaveden jeste pred fstabem jenze taky nefunguje.Takze problem je v tom odkud mam spoustet tento muj program?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Heron avatar 6.5.2006 21:14 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Start programu z inittabu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ke startu programu při zapnutí PC slouží buď soubor rc.local, nebo si to vytvořte jako službu v /etc/init.d/ a vložte simlink do příslušného adresáře runlevelu /etc/rc.d/rc#.d
Heron
7.5.2006 00:16 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Start programu z inittabu
Tazatel má Gentoo, tam jsou runlevely v /etc/runlevels/*.

V /etc/inittab já program (aut.přihlášení na tty10) spouštím třeba takto : c10:12345:once:/bin/login -f root </dev/tty10 &>/dev/tty10, pomůže Ti man inittab.

Ale asi pro Tebe nejlepší varianta spouštění programu po startu PC bude, když ho zadáš do /etc/conf.d/local.start. To je na to přímo v Gentoo určené.
7.5.2006 11:10 anoraxx | skóre: 2
Rozbalit Rozbalit vše Re: Start programu z inittabu
Problem je ze ja ten program potrebuju spoustet jeste pred tim nez se pripoji fstab a mountne root,tzn pri sysinitu.A to podle me pres /local.start nepujde
7.5.2006 11:21 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Start programu z inittabu
To tak jednoduše nepůjde protože pak musíš ten program mět staticky slinkovaný aby nepotřeboval sdílené knihovny, a nevím jak potom může zapisovat do souborů když nebudou připojené HD :-(

Taky nevím proč se pokoušíš spustit nějakej soubor /usr/local/sbin/cpp.o je to skutečně spustitelnej soubor ?

A taky mě není jasné jak ho chceš spustit z HD když ho nemáš připojen (ten HD) takže musíš vytvořit ramdisk a ten soubor umístit do ramdisku.
Heron avatar 7.5.2006 11:24 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Start programu z inittabu
No v té chvíli už běží init (kterej prochází /etc/inittab) a root je read-only, takže s ramdiskem si hrát nemusí.
7.5.2006 11:41 anoraxx | skóre: 2
Rozbalit Rozbalit vše Re: Start programu z inittabu
Disk pripojeny je uz z predchoziho levelu akorat nema namapovane adresare.

Potrebuju upravit fstab jeste predtim nez se z neho mapuji adresare.Reseni mam tak ze v sysinitu mountnu tmpfs pres nejaky adresar(chtel sem /var/tmp). 2::sysinit:/bin/bash -c /bin/mount -nt proc none /proc 3::sysinit:/bin/bash -c /bin/mount -nt tmpfs none /var/tmp

Tohle tam delam protoze do /var/tmp bude smerovat symlink na soubor ktery se tam vytvori ten program.Ten symlink bude do nejakyho jinyho adresare a z nej na /etc/fstab.No a problem mam odkud spoustet ten program a jaky adresar mam premountovat tim tmpfs.
7.5.2006 11:47 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Start programu z inittabu
Disk pripojeny je uz z predchoziho levelu akorat nema namapovane adresare.

Potrebuju upravit fstab jeste predtim nez se z neho mapuji adresare.
Důvod ? Do fstabu se nechytá. A pokud potřebujeme něco připojit po startu systému třeba další externí disky na jiném serveru tak stačí spustit nějaký skript který po startu detekuje co třeba a připojí co třeba.
7.5.2006 11:50 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Start programu z inittabu
Jestli tomu rozumím, potřebuješ dynamicky podle něceho upravit fstab. Nešlo by příslušné věci např. z fstabu vypustit, nechat najet normálně systém, po najetí systému třeba v /etc/conf.d/local.start spouštět příslušný program a pak podle potřeby provést příkaz mount s příslušnými volbami?
7.5.2006 12:01 anoraxx | skóre: 2
Rozbalit Rozbalit vše Re: Start programu z inittabu
Presne,potrebuju dynamicky upravovat fstab podle toho co vlozi uzivatel jako vstup toho programu.A cely opracni system se taha k uzivatelovy pres sit ze serveru.Pres ten local.start a at mount -o by to nebyl dobrej napad.
7.5.2006 12:15 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Start programu z inittabu
No, v tuto chvíli podle tvých dodaných informací (leze to z tebe, jak z chlupatý deky ;-) ) bych to já řešil tak, jak jsem napsal. Nemontoval bych to ve fstabu, ale dodatečně podle potřeby pomocí mount. Nevím, jak cely opracni system se taha uzivatelovy pres sit a nevim taky, proč mount -o by nebyl dobrej nápad. Ale pokud máš k tomu nějaké důvody ....
7.5.2006 12:38 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Start programu z inittabu
Přesně potom co se natáhne základ a uživatelovi se spustí nějakej skript se podle jeho volby provedou dodatečné mounty jeho dat a pod....

Nechápu proč to pořád chceš řešit složitě.
7.5.2006 12:58 anoraxx | skóre: 2
Rozbalit Rozbalit vše Re: Start programu z inittabu
Dobre,zkusim to pres ty dodatecne mounty,diky.
Heron avatar 7.5.2006 11:22 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Start programu z inittabu
/ je ale v té chvíly read-only, takže ten váš zápis nepůjde (čtení a porovnávání samozřejmně ano). Zkuste napsat, co vlastně potřebujete kontrétně udělat, možná to půjde vyřešit jiným způsobem.
7.5.2006 11:40 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Start programu z inittabu
Když nebude provedený fstab, tak dost dobře nepůjde nikam nic zapsat. Proč program nemůže být spuštěn normálně po najetí systému? Co má program přesně vykonávat? Nebylo by lepší přehodnotit program, než to dělat takto komplikovaně?
9.5.2006 22:21 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: Start programu z inittabu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hledas soubor /etc/init.d/local.
Blésmrt

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.