Starta program vid uppstart av dator?

Är Ni nybörjare i UNIX/Linux? Detta forum avhandla allmäna UNIX frågor.
Post Reply
jenny82
Posts: 61
Joined: 21 June 2006, 17:23

Starta program vid uppstart av dator?

Post by jenny82 » 28 October 2006, 20:45

Fortsätter med nybörjarfrågorna. Stort tack för att Ni orkar svara (hittils iallafall).

Önskar starta ett par "program" automatiskt vid uppstart av datorn. T.ex. Apache och MySQL. Var/hur/i vilken fil gör jag detta?


MVH Jenny

Nille_kungen
Posts: 1506
Joined: 28 August 2005, 00:00

Post by Nille_kungen » 28 October 2006, 21:01

Det skiljer sig lite mellan olika distar.
I slackware ligger startscripten i /etc/rc.d (vissa saker startas även av inetd) http://www.slackbook.org/html/system-co ... RATION-RCD
I debian /etc/init.d/ http://www.debian-administration.org/articles/28
The more linux u go, The slacker u get

jenny82
Posts: 61
Joined: 21 June 2006, 17:23

Post by jenny82 » 28 October 2006, 21:05

Använder Mandrake. Hittade nog rätt i /etc/init.d/

Där ligger en hel del filer med "*" på slutet i listningen (ls). Ursäkta dum fråga men (1) är detta "genvägar" till program och (2) hur skapar jag isåfall en sådan?


MVH Jenny

OErjan
Posts: 1834
Joined: 21 April 2003, 06:43
Location: 64*N 21*E

Post by OErjan » 28 October 2006, 21:06

beror lite på vilken distribution, du kan iofs göra ett script som startar dessa prgram och sedan pilla lite i /etc/rc...
i slackware skulle du lägga till dem med fullständig sökväg i /etc/rc.d/rc.local

I debian (ubuntu, knoppix...) skulle du kolla under /etc/init.d
jag skulle skapa en fil som döpa den till rc.99vaduvill och sedan
eller länka den till min normala runlevel.
mer hittar du här
http://tingeling.dyndns.org/tekla/linux/
kanske jag är en av de sista människor som ser din gamla: bil, dator, gräsklippare...
efter mig är de så många kilo konfetti.

Nille_kungen
Posts: 1506
Joined: 28 August 2005, 00:00

Post by Nille_kungen » 28 October 2006, 21:09

* betyder nog bara att dessa är körbara (om du kollar med 'ls -l' så ser du att x finns med på dessa)
Det som ligger där är skript för att starta processerna (det kan ibland vara genvägar till ett skript i en annan runlevel)
The more linux u go, The slacker u get

OErjan
Posts: 1834
Joined: 21 April 2003, 06:43
Location: 64*N 21*E

Post by OErjan » 28 October 2006, 21:14

länkar, hmm, om du vill lära dig linux i konsollen och ha en snabbreferens kan du kolla
http://floppix.com/labs.html
välj bara ett äne du är intreserad avoch läs, kort koncist men ändå tillräckligt för att man ska klara sig hjälpigt.
i ditt fall är det http://floppix.com/filecmd.html somm är aktuell,
kolla lite över mitten på sidan, komandot heter ln (just ovanför rubriken exercises).
# ln - create a link to an existing file. Examples:

* ln -s filename linkname
creates a link or a pointer. The link will be called linkname and it will point to filename.
som sagt kort men informativt.
vill du få mer utömmande info om ett kommando, kolla man kommando där står oftast mer än du vill veta.
Tex man ln har 105 rader text.
EDIT
kanske även sidan
http://floppix.com/inittab.html
kan vara till lite hjälp
/EDIT
kanske jag är en av de sista människor som ser din gamla: bil, dator, gräsklippare...
efter mig är de så många kilo konfetti.

jenny82
Posts: 61
Joined: 21 June 2006, 17:23

Post by jenny82 » 28 October 2006, 23:04

Tack för alla tips kring kommandon m.m!

Men jag tolkar era svar som att det inte är helt enkelt (läs: för mig) att starta ett program automatiskt? Man måste skriva ett script? I vilket "språk" skrivs detta?

MVH Jenny

Nille_kungen
Posts: 1506
Joined: 28 August 2005, 00:00

Post by Nille_kungen » 28 October 2006, 23:08

Skripten är rena bash script.
Det är inte så svårt som det låter.
Många applikationer har startskript default men dessa måste göras körbara för att dom ska köras vid uppstart av servern.
Sedan finns det ett local skript där du kan lägga in egna kommandon lätt.
The more linux u go, The slacker u get

User avatar
drbrno
Posts: 2834
Joined: 6 October 2002, 05:01
Location: Lund
Contact:

Post by drbrno » 28 October 2006, 23:10

Det beror på vad det är för slags program. Apache och MySQL, om de följer med din distribution, borde redan starta vid boot. Annars ska du enkelt kunna slå på dessa tjänster i ett konfigurationsprogram.

Sourcer
Posts: 1183
Joined: 15 October 2005, 21:37

Post by Sourcer » 29 October 2006, 00:20

jenny82 wrote:Tack för alla tips kring kommandon m.m!

Men jag tolkar era svar som att det inte är helt enkelt (läs: för mig) att starta ett program automatiskt? Man måste skriva ett script? I vilket "språk" skrivs detta?

MVH Jenny
Har du Mandriva Linux (Mandrake Linux) så finns dessa skript redan i mappen /etc/rc.d/init.d

Tricket är att få dem att starta automatiskt. Det finns flera olika sätt att göra detta på, t.ex. det grafiska sättet i Mandriva Control Center, med kommandot chkconfig eller att byta namn på den symboliska länken i mappen /etc/rc.d/rcX.d där X betyder vilken körnivå (0-6) som ska ändras. Med kommandot runlevel får du reda på vilken körnivå som systemet kör i.

1. Kommandot chkconfig

chkconfig service_namn on

Följande gör att apache startar automatiskt.

chkconfig httpd on


2. Byta namn på en symbolisk länk så att en tjänst startar automatiskt.

I t.ex. mappen /etc/rc.d/rc5.d finns det ett antal länkar, och första bokstaven är antingen ett S eller ett K. Som du antagligen förstår så står S för starta, och K betyder att den inte ska starta. Det enda som du behöver göra är att ta reda på vilken körnivå som det ska gälla för, och sedan så är det bara att byta ut bokstaven K mot ett S så startar den tjänsten automatiskt.

Med kommandot mv byter du namn på länken. Kommandot betyder move, så det flyttar du filer med. I det här fallet byter vi namn på en symbolisk länk med kommandot.

mv namn nytt_namn

Exempel:

mv K04acpi S04acpi

mv /etc/rc.d/rc5.d/K04acpi /etc/rc.d/rc5.d/S04acpi

Ganska enkelt som du ser, och det går också fortare att göra det i kommandoprompten om man vet vad tjänsten heter.

WTK
Posts: 1285
Joined: 20 February 2006, 17:23

Post by WTK » 29 October 2006, 00:34

Kolla i din /etc/inittab och se hur script startas. Lägg sedan till på lämpligt ställe :) Om du inte använder någon nyskruvad linux som inte använder sig av init 8)
http://www.justfuckinggoogleit.com
~How do you kill that which has no life~

Sourcer
Posts: 1183
Joined: 15 October 2005, 21:37

Post by Sourcer » 29 October 2006, 01:09

Det var ju ett väldigt bra tips för en nybörjare, och samtidigt väldigt onödigt. Det betyder att hon ska läsa ett shell skript på 1400 - 1500 rader och klura ut hur det fungerar. När det är klart så slutar det ändå med att göra som jag beskrev. Det är inte meningen att man ska behöva redigera rc.sysinit på Mandrake Linux. Enda anledningen skulle vara att man har ändrat sökvägarna, men då vet man förhoppningsvis också vad man gör.

jenny82
Posts: 61
Joined: 21 June 2006, 17:23

Post by jenny82 » 30 October 2006, 21:42

Tack för alla svar! Återkommer ev. med uppföljningsfrågor så snart jag får tid att testa lite.

Post Reply