# ezjail and mergemaster on FreeBSD 7.2 and above



## Sylhouette (Jul 7, 2009)

Hello all i use ezjail to setup jails.
I have this running on some machines that started form 7.0

i always use the following sequence to update between releases and to install errata and security updates.(this is from the jailhost


```
cd /usr/src
make cleanworld && make -j2 buildworld && make -j2 kernel
mergemaster -p
make installworld
mergemaster -iU
ezjail-admin update -i
mergemaster -iU -D /usr/jails/jail1
mergemaster -iU -D /usr/jails/jail2 
and so on.
```
this works from 7.0 to 7.1 with all security updates and from 7.0 to 7.1

Now i upgrade 1 machine to 7.2 but on the mergemaster part i get the following.


```
install -o root -g wheel -m 444  /usr/src/etc/../sys/amd64/conf/GENERIC.hints  /var/tmp/temproot/boot/device.hints


*** Beginning comparison

   *** Checking /usr/jails/jail1//etc/rc.d for stale files

   *** No stale files found


  *** There is no installed version of ./boot/device.hints


install: mkdir /usr/jails/jail1//boot: File exists
install: /usr/jails/jail1//boot: No such file or directory
*** FATAL ERROR: Unable to install ./boot/device.hints to /usr/jails/jail1//boot
```

I also set up an new FreeBSD 8.0 system with ezjail and created a test jail, and i get the same result.
How do i mergemaster my jails now.
I think i missed something, but can not find it.

regards,
Johan


----------



## jef (Jul 10, 2009)

Take a look at the ezjail website -- http://erdgeist.org/arts/software/ezjail/

I now just use the freebsd-update option to keep my jails in sync with the "base" OS and kernel.

My notes show


```
[jeff@port10 /var]$ sudo ezjail-admin install -r 7.2-RELEASE
[jeff@port10 /var]$ sudo ezjail-admin update -u
```


----------



## Sylhouette (Jul 20, 2009)

If you do it like you do it does not update the /etc/* files in your already created jails.

But i found a way to overcome this issue.

First the behauviour of mergemaster changed somewhat.

on 7.1 and down mergemaster also says the same thing about device.hints, but does not mark it Fatal like 7.2 and up do.

on 7.2

```
cd /usr/src/etc/..; install -o root -g wheel -m 444  COPYRIGHT

/var/tmp/temproot/

install -o root -g wheel -m 444
/usr/src/etc/../sys/amd64/conf/GENERIC.hints
/var/tmp/temproot/boot/device.hints

*** Beginning comparison

  *** Checking /usr/jails/test//etc/rc.d for stale files

  *** No stale files found

 *** There is no installed version of ./boot/device.hints

install: mkdir /usr/jails/test//boot: File exists
install: /usr/jails/test//boot: No such file or directory

*** FATAL ERROR: Unable to install ./boot/device.hints to

/usr/jails/test//boot

jailhost_co test #
```

on my 7.1 and below systems i got the following.


```
cd /usr/src/etc/..; install -o root -g wheel -m 444  COPYRIGHT
/var/tmp/temproot/
install -o root -g wheel -m 444
/usr/src/etc/../sys/i386/conf/GENERIC.hints
/var/tmp/temproot/boot/device.hints


*** Beginning comparison

*** Checking /usr/jails/ftp/etc/rc.d for stale files

*** No stale files found

*** There is no installed version of ./boot/device.hints

install: mkdir /usr/jails/ftp/boot: File exists
install: /usr/jails/ftp/boot: No such file or directory
  *** Problem installing ./boot/device.hints, it will remain to merge by hand
*** Temp ./etc/bluetooth/hcsecd.conf and installed have the same CVS
Id, deleting
........
........
```
In 7.2 it comes with fatal error in 7.1 it comes with 

```
install: /usr/jails/ftp/boot: No such file or directory
  *** Problem installing ./boot/device.hints, it will remain to merge by hand
```

i solved it by creating a file called mergemaster.rc on the ezjail host with the following content.

```
IGNORE_FILES='/boot/device.hints /etc/motd /etc/hosts'
```

this way it just ignores the device.hints file.
i leave this option out when mergemastering the base ystem of the host though.


----------

