On Thu, Jan 28, 2016 at 06:52:18PM +0100, Ingo Schwarze wrote:
> Hi,
>
> Antoine Jacoutot wrote on Thu, Jan 28, 2016 at 10:41:52AM +0100:
>
> > As mentioned in another thread already:
> > # ln -s /etc/rc.d/mydaemon /etc/rc.d/mydaemon2
> > Then use mydaemon2_flags ... in rc.conf.local.
>
> This seems to be a recurring user question.
>
> Do you consider this addition useful?
>
> I think rcctl(8) is the best place to document it because that's
> the highest level user interface and "How do i run multiple copies
> of a daemon?" is a very high-level user question, while rc.d(8)
> and rc.conf(8) document lower, more technical levels.
>
> I'd love to make the example more specific and document an actual
> use case that frequently occurs in practice, but even though many
> have said that such cases do occur, i can't think of any. For
> example, for httpd(8), it looks like all use cases can be solved
> by running one copy and using "server ... { ... }" well in
> httpd.conf(5). So, if anybody can describe a specific use case to
> make the example better, that's quite welcome.
I'm running several instances of dhcrelay because I can only specify
one "-i if" option. The example could look like this:
# ln -s dhcrelay dhcrelay_vlan2
# ln -s dhcrelay dhcrelay_vlan3
# rcctl set dhcrelay_vlan2 flags -i vlan2 10.0.0.2
# rcctl set dhcrelay_vlan3 flags -i vlan3 10.0.0.2
>
> I certainly don't want an example in the style of
>
> # ln -s httpd httpd2
>
> That's a terrible name. The next admin coming along will have no
> clue what this second httpd is needed for.
>
> Yours,
> Ingo
>
>
> Index: rcctl.8
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rcctl/rcctl.8,v
> retrieving revision 1.26
> diff -u -p -r1.26 rcctl.8
> --- rcctl.8 24 Oct 2015 17:08:36 -0000 1.26
> +++ rcctl.8 28 Jan 2016 17:39:13 -0000
> @@ -193,6 +193,18 @@ ntpd_user=root
> # echo $?
> 0
> .Ed
> +.Pp
> +The recommended way to run a second copy of a given daemon for a
> +different purpose is to create a symbolic link to its
> +.Xr rc.d 8
> +control script:
> +.Bd -literal -offset indent
> +# cd /etc/rc.d/
> +# ln -s httpd httpd_purpose
> +# rcctl set httpd_purpose flags -some options ...
> +# rcctl set httpd_purpose status on
> +# rcctl start httpd_purpose
> +.Ed
> .Sh SEE ALSO
> .Xr rc.conf.local 8 ,
> .Xr rc.d 8