Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Dec 2006 21:42:40 -0600
From:      Lane <lane@joeandlane.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: custom rc.d script not working
Message-ID:  <200612052142.40817.lane@joeandlane.com>
In-Reply-To: <463aea570612051926s1dfffb9doa8b8da13d504af05@mail.gmail.com>
References:  <463aea570612041043g280795cfxafef98a1cc765ae4@mail.gmail.com> <20061205170930.GD34126@gizmo.acns.msu.edu> <463aea570612051926s1dfffb9doa8b8da13d504af05@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 05 December 2006 21:26, Gobbledegeek wrote:
> My script is in /etc/rc.d and it executes - only when I login and find
> no zebra process... executing it manually starts zebra allright.
>
> Why should I put it in /usr/local/etc/rc.d ?
>
> I think I see a 0.99.5 version in freshports.org. I'll just use that
> instead.
>
> Thanks ye all for the help...
>
> Rgrds
>
> On 12/5/06, Jerry McAllister <jerrymc@msu.edu> wrote:
> > On Tue, Dec 05, 2006 at 11:30:41AM +0000, Tom Judge wrote:
> > > Gobbledegeek wrote:
> > > >I  compiled quagga 0.99.5  from source (not  freebsd port) and  wrote 
> > > > this little  script in the /etc/rc.d/zebra  file.
> > > >-------------------------------
> > > >#!/bin/sh
> > > >
> > > ># PROVIDE: zebra
> > > ># REQUIRE: NETWORKING
> > > >
> > > >. /etc/rc.subr
> > > >
> > > >name="zebra"
> > > >rcvar=${name}_enable
> > > >required_files="/usr/local/etc/${name}.conf"
> > > >command="/usr/local/sbin/${name}"
> > > >command_args="-d"
> > > >pidfile="/var/run/${name}.pid"
> > > >load_rc_config $name
> > > >run_rc_command "$1"
> > > >----------------------------------
> > > >
> > > >/etc/rc.conf has  zebra_enable="yes"
> > > >
> > > >However it only starts zebra  when  I execute  it manually from
> > > >command  line.  When I boot  freebsd, it  executes   and I see
> > > >message  in boot screen  that zebra  is starting, but on login I find
> > > >zebra isn't running.
> > > >all files in /usr/local/sbin/   for  zebra  executables are  owned  by
> > > >quagga/quagga user/group.
> > > >
> > > >Once I  get this working, I  will ofcourse  add scripts for ospfd  and
> > > >bgpd and isisd..  but it beats me why this isn't  working...
> > > >
> > > >This is  on  freebsd 6.2  RC1  i386.
> > > >
> > > >Thanks very much in advance  for  your help...
> > > >
> > > >PS:  Please  CC  me as I am not subscribed.
> >
> > First, I presume you mean to say that you put the script
> > in the  '/usr/local/etc/rc.d/'  directory and not just /etc/rc.d
> >
> > Secondly, my most frequent error is error with these is to forget
> > to make them executable.  If the script does not have execute
> > permission, it is ignored.
> >
> > ////jerry
> >
> > > _______________________________________________
Sorry to butt in ... butt....

You came from linux, no?

The reason to put it in /usr/local/etc/rc.d instead of /etc/rc.d is because 
everyting in /etc is managed by the OS.  Everything in /usr/local is managed 
by you.

This is not of particular concern if you intend to just "play" with the OS and 
never commit to it ... let alone upgrade it, or use it in a production 
environment.  If you don't intend to use it in a production environment then 
put anything you want into /etc.

But if you plan to use the OS the way it was intended, then you will 
understand how an upgrade, and mergemaster, will take days instead of hours, 
because you've monkeyed with stuff in /etc

Pretend it's Windows.  Now ask yourself, "do I really need to put this file 
into C:\Windows\System32?"  Clearly the answer is ... "WHAT ARE YOU DOING 
COMPARING THIS TO WINDOWS????!!!!"

But, clearly, I digress :)

lane



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200612052142.40817.lane>