# NanoBSD 9 STABLE + auditdistd = fail install world



## allan_sundry (Apr 15, 2013)

Hi

I want to compile NanoBSD 9 STABLE, but when script install the world, I get the error:


```
# sh nanobsd.sh -c nanobsd.conf
00:00:00 # NanoBSD image full build starting
00:00:00 ## Clean and create object directory (/usr/obj/nanobsd.full/)
00:00:01 ## Construct build make.conf (/usr/obj/nanobsd.full//make.conf.build)
00:00:01 ## run buildworld
00:00:01 ### log: /usr/obj/nanobsd.full//_.bw
00:52:26 ## build kernel (GENERIC)
00:52:26 ### log: /usr/obj/nanobsd.full//_.bk
01:02:24 ## Clean and create world directory (/usr/obj/nanobsd.full//_.w)
01:02:24 ## Construct install make.conf (/usr/obj/nanobsd.full//make.conf.install)
01:02:24 ## installworld
01:02:24 ### log: /usr/obj/nanobsd.full//_.iw
# cat /usr/obj/nanobsd.full//_.iw
ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
*** [installcheck_UGID] Error code 1
1 error
*** [installworld] Error code 2
1 error
#
```

How to fix it?


----------



## wblock@ (Apr 15, 2013)

```
ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
```

New code needs the auditdistd user.  See Thread 36454.


----------



## allan_sundry (Apr 15, 2013)

wblock@ said:
			
		

> ```
> ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
> ```
> 
> New code needs the auditdistd user.  See Thread 36454.



I read /usr/src/UPDATING. 

How to add a user before installation world in the NanoBSD?


----------



## kpa (Apr 15, 2013)

`# mergemaster -Ui -p -D /nanobsd/root` should do the job.


----------



## allan_sundry (Apr 15, 2013)

kpa said:
			
		

> `# mergemaster -p -D /nanobsd/root` should do the job.



I do not understand how to implement your proposed solution. Please tell me in detail how to add a user to the world and continue to build the image.


----------



## allan_sundry (Apr 15, 2013)

kpa said:
			
		

> `# mergemaster -Ui -p -D /nanobsd/root` should do the job.



I tried to use mergemaster:


```
# mergemaster -Ui -p -D /usr/obj/nanobsd.full/

*** Unable to find mtree database (/usr/obj/nanobsd.full//var/db/mergemaster.mtree).
    Skipping auto-upgrade on this run.
    It will be created for the next run when this one is complete.

 *** Press the [Enter] or [Return] key to continue 

*** Creating the temporary root environment in /var/tmp/temproot
 *** /var/tmp/temproot ready for use
 *** Creating and populating directory structure in /var/tmp/temproot



*** Beginning comparison

 *** Temp ./etc/group and installed have the same CVS Id, deleting
 *** Temp ./etc/master.passwd and installed have the same CVS Id, deleting

*** Comparison complete

*** /var/tmp/temproot is empty, deleting

grep: /usr/obj/nanobsd.full//etc/make.conf: No such file or directory

*** Comparing make variables

*** From /usr/obj/nanobsd.full//etc/make.conf
*** From /usr/src/share/examples/etc/make.conf
```

then checked the contents of the files:


```
# cat /usr/obj/nanobsd.full/etc/master.passwd | grep auditdistd
auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin
```

then ran the script build of the image:


```
# sh nanobsd.sh -b -c nanobsd.conf.X
00:00:00 # NanoBSD image full build starting
00:00:00 ## Skipping buildworld (as instructed)
00:00:00 ## Skipping buildkernel (as instructed)
00:00:00 ## Clean and create world directory (/usr/obj/nanobsd.full//_.w)
00:00:00 ## Construct install make.conf (/usr/obj/nanobsd.full//make.conf.install)
00:00:00 ## installworld
00:00:00 ### log: /usr/obj/nanobsd.full//_.iw
[root@leon /usr/src/tools/tools/nanobsd]# cat /usr/obj/nanobsd.full//_.iw
ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
*** [installcheck_UGID] Error code 1
1 error
*** [installworld] Error code 2
1 error
```

The error persists. What am I doing wrong?


----------



## allan_sundry (Apr 15, 2013)

Auditdistd unprivileged user was needed in the base system...

The problem is solved.
Thank you all!

P.S. Please excuse the stupid question.


----------



## wblock@ (Apr 15, 2013)

From that thread linked above, post #8 by @felix:

```
pw useradd -n auditdistd -g audit -c "Auditdistd unprivileged user" -d /var/empty -s /usr/sbin/nologin
```


----------



## allan_sundry (Apr 15, 2013)

wblock@ said:
			
		

> From that thread linked above, post #8 by @felix:
> 
> ```
> pw useradd -n auditdistd -g audit -c "Auditdistd unprivileged user" -d /var/empty -s /usr/sbin/nologin
> ```



Yes, this is exactly what I need!
At the base system I have FreeBSD 9.1-RELEASE p2 amd64 and auditdistd absent from users. I mistakenly thought that he needed to be collected NanoBSD, and in fact was the reason of his absence in the base system.


----------



## NecAway (Oct 4, 2013)

I have almost same problem 


```
[Fri 2:57 root@nec] /usr/ports#uname -a
FreeBSD nec.home 9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255898: Thu Sep 26 22:50:31 UTC 2013     [email]root@bake.isc.freebsd.org[/email]:/usr/obj/usr/src/sys/GENERIC  amd64
```


```
[Fri 3:04 root@nec] /usr/src#grep "auditdistd" /etc/passwd 
auditdistd:*:78:77:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin
```

`make buildworld` ended without errors, but:


```
[Fri 3:07 root@nec] /usr/src#make installworld DESTDIR=/compat/tmp/
ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
*** [installcheck_UGID] Error code 1

Stop in /usr/src.
*** [installworld] Error code 1

Stop in /usr/src.
```


----------



## NecAway (Oct 4, 2013)

Solved...


```
[Fri 3:18 root@nec] /usr/src#pw groupshow audit
audit:*:77:
```


```
[Fri 3:18 root@nec] /usr/src#vipw 
...change something...or made a show...
vipw: password list updated
```


```
[Fri 3:18 root@nec] /usr/src#pw groupmod audit -M auditdistd
```


----------



## NecAway (Oct 4, 2013)

There are "many" other ways to update the password list.


----------

