Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Dec 2009 12:51:38 -0500
From:      Michael Proto <mike@jellydonut.org>
To:        Harald Schmalzbauer <h.schmalzbauer@omnilan.de>
Cc:        freebsd-current@freebsd.org
Subject:   Re: named, VARMFS=yes and FILESDIR
Message-ID:  <1de79840912070951p1abf7dbfxdf7d5ea5ab5903cd@mail.gmail.com>
In-Reply-To: <4B12CCA8.7050808@omnilan.de>
References:  <4B12CCA8.7050808@omnilan.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 29, 2009 at 2:34 PM, Harald Schmalzbauer
<h.schmalzbauer@omnilan.de> wrote:
> Hello,
>
> while building an embedded slave DNS I recognized that running named out =
of
> the box with VARMFS enabled would fail.
> Now I could easily fix it for my device only, but I think it's better to
> solve it upstream.
> VARMFS=3DYes is a standard option, likewise named_enable.
>
> Short description of the problem:
> When rc detects non-writabel /var or VARMFS is set to yes, a new /var tre=
e
> gets populated. This comes without config, hint file and likewise for
> /var/named/namedb, but /etc/namedb is a symlink to /var/named/namedb.
>
> rc.d/named could easily be supplemented with the neccessary checks, but w=
e
> don't have the needed files outside of /var.
>
> My idea is to create a namedb directory in /usr/share (like there's one f=
or
> sendmail) with duplicate entries of src/etc/namedb
>
> Unfortunately I couldn't find out where FILESDIR is processed in the bsd
> build stages.
> If the idea is plausable, how do I best install /usr/share/namedb?
> src/etc/namedb is entered at DISTRIBUTION target, right?
>
> Id highly appreciate if somebody who's familar with the build stages coul=
d
> give me some hints.
>
> Thanks,
>
> -Harry
>
> P.S.: named_conf definitions in rc.conf get lost. Here's the patch:
> --- etc/rc.d/named.orig 2009-09-13 20:11:34.000000000 +0200
> +++ etc/rc.d/named =A0 =A0 =A02009-09-13 21:38:29.000000000 +0200
> @@ -264,6 +284,6 @@
> =A0#
> =A0required_dirs=3D"$named_chrootdir" =A0 =A0 =A0 # if it is set, it must=
 exist
> =A0pidfile=3D"${named_pidfile:-/var/run/named/pid}"
> -command_args=3D"-u ${named_uid:=3Droot}"
> +command_args=3D"-c $named_conf -u ${named_uid:=3Droot}"
>
>


I think this is likely an ordering issue, as I use a MFS-based /var on
my home router and named works with the default /var/named chroot just
fine. My main difference being I define the MFS /var in fstab as
opposed to the varmfs=3D"YES" rc.conf tunable.

/etc/fstab:
md		/var		mfs	rw,async,-s12m	2	0

/etc/rc.conf:
populate_var=3D"YES"

With these settings a chrooted named into /var/named works just as expected=
.


-Proto



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