Re: named, VARMFS=yes and FILESDIR

From: Harald Schmalzbauer <h.schmalzbauer_at_omnilan.de>
Date: Wed, 06 Jan 2010 10:11:56 +0100
Michael Proto schrieb am 07.12.2009 18:51 (localtime):
> On Sun, Nov 29, 2009 at 2:34 PM, Harald Schmalzbauer
> <h.schmalzbauer_at_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=Yes 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 tree
>> 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 we
>> don't have the needed files outside of /var.
>>
>> My idea is to create a namedb directory in /usr/share (like there's one for
>> 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 could
>> 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      2009-09-13 21:38:29.000000000 +0200
>> _at__at_ -264,6 +284,6 _at__at_
>>  #
>>  required_dirs="$named_chrootdir"       # if it is set, it must exist
>>  pidfile="${named_pidfile:-/var/run/named/pid}"
>> -command_args="-u ${named_uid:=root}"
>> +command_args="-c $named_conf -u ${named_uid:=root}"
>>
>>
> 
> 
> 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="YES" rc.conf tunable.
> 
> /etc/fstab:
> md		/var		mfs	rw,async,-s12m	2	0
> 
> /etc/rc.conf:
> populate_var="YES"
> 
> With these settings a chrooted named into /var/named works just as expected.

If you have a valid /var from the base install that's true. But I'm 
unhappy that the design is to have essential files outside in the /var 
filesystem without duplicates to automatically restore a working state 
if something goes wrong. I think these files should not rely on a link 
from /etc and duplicating 15kByte is cheap these days.
I'm unsure how to best solve the "config files outside /etc" problem...

Thanks,

-Harry


Received on Wed Jan 06 2010 - 08:11:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:59 UTC