PDA

View Full Version : Howto start progams on boot?



pelican
02-08-2004, 10:23 PM
What is the best way to start programs when Knoppix boots?

For example, I'd like to have a script that sets up my soft links which are not saved by Save KNOPPIX configuration.

I'd also like to start my firewall script.

Would it be appropriate to put a script in /etc/rcS.d?

I usually use Slackware which has a user script
in /etc/rc.d/rc.local where I do this kind of stuff.

I'd like to know "the Knoppix" way.

Pelican

pelican
02-09-2004, 02:50 AM
After some fiddling and research I figured this out for myself. :)

I've created a file /etc/rc5.d/S99start which does the following
just before KDE loads:
runs my firewall
creates sub-directories in /mnt needed for nfs and smb mounts.
These are not normally saved by saveconfig.
creates some soft links I need including localzone and a link to
S99start in /etc/bin which is where I keep my personal bin files.
Soft links are also not saved by saveconfig.

I called it S99 to make it load last like an rc.local in bsd style inits.
Actually it's the only file in the /etc/rc5.d directory :wink:

Pelican

JockVSJock
02-09-2004, 05:26 AM
Saw yr post...thanks.

But I'm wondering when I create the soft link for two processes, mysql and apache, under rc3.

How do I know what number to assign them?

thanks

pelican
02-09-2004, 11:31 AM
I don't know how to create a soft link for a _process_ or if it's possible.
AFAIK, process numbers are assigned by the system when you
start a program.

The syntax to create a soft link is:
ln -s /path/name_of_program_to_run /path/name_of_link

So to create the link to my initialization file in rc5.d:
ln -s /etc/rc5.d/S99start.lba /etc/bin/S99start.lba
is written just like that in the file S99start.lba.

This rather cumbersome procedure is caused by the fact that
saveconfig will not save soft links. :(
I DK about hard links, never use them.

In your case it could be
ln -s /path/apache /path/name_of_soft_link

Pelican

JockVSJock
02-11-2004, 02:03 PM
I guess that really doesn't answer my question.

I know how to start stuff up like mysql and apache.

I understand creating soft links, but how do I link the services that I want to run to init.d to rc3.d?

Cuddles
02-11-2004, 03:28 PM
JockVSJock,

I seem to use the SysV editor - its a GUI, and allows setting start/stops from specific levels.

I'm sorry, I guess I am not so "Linux" savvy as others, and do everything from a shell, like, I guess, I'm supposed to do, but, I've come from a long standing years in the Windows World, and tend to use a GUI, whenever present.

Not sure if SysV modifies what you are wanting to do, in my situations, it did, or by leaving something running when I logged out, it would come back when I restarted - like my Audio Mixer.

Hope this helps,
Cuddles

JockVSJock
02-12-2004, 12:28 AM
JockVSJock,

I seem to use the SysV editor - its a GUI, and allows setting start/stops from specific levels.

I'm sorry, I guess I am not so "Linux" savvy as others, and do everything from a shell, like, I guess, I'm supposed to do, but, I've come from a long standing years in the Windows World, and tend to use a GUI, whenever present.

Not sure if SysV modifies what you are wanting to do, in my situations, it did, or by leaving something running when I logged out, it would come back when I restarted - like my Audio Mixer.

Hope this helps,
Cuddles

Cuddles, one thing I learned from Winjunk (Windows), if the GUI crashed, which has happened alot, and I got a command prompt, and I didn't know what the hell I was doing, then I WAS DEAD IN THE WATER.

With Linux, it has forced me so many times to learn the command line, don't become a dummy with a GUI.

So my question still goes unanswered.

gowator
02-12-2004, 02:33 PM
I just create the script in init.d then create a hardlink with Snn_____
in the rc3.d

So if its called
/etc/init.d/apache
then create a hardlink
deciding where you want it to start (i,e after networking for instance)
S80apache
i.e. like pelican said:

ln -s /path/name_of_program_to_run /path/name_of_link
where /path/name_of_program_to_run would be /etc/init.d/apache
and /path/name_of_link would be /etc/rc3.d/S80apache

However its good practice to ad this to all run levels where it should be running like 4 and 5 as well.
Also the knp start X in RL2 - (its faster) so check whats already running and make sure nothing depends on apache thats already running in rc2.d

JockVSJock
02-13-2004, 03:23 AM
This command does the trick


update-rc.d apache defaults

or

update-rc.d mysql defaults


Easy as that....

Thanks to the folks in knoppix.net for the help as always....