mergemaster fails in single user mode
Donald J. O'Neill
donaldj1066 at fastmail.fm
Tue Nov 2 11:14:08 PST 2004
On Tuesday 02 November 2004 09:24 am, Erik Norgaard wrote:
> Hi,
>
> I just upgraded to -CURRENT (yesterdays). Everything goes well, I
> reboot into single user mode, mount all partitions and run 'make
> installworld'
>
> To finish the upgrade I run "mergemaster" still in single user
> mode, but this fails with the following output:
>
> # /usr/sbin/mergemaster
>
> tput: no terminal type specified and no TERM environmental
> variable. *** The directory specified for the temporary root
> environment, /var/tmp/temproot, exists. This can be a security
> risk if untrusted users have access to the system.
>
> Use 'd' to delete the old /var/tmp/temproot and continue
> Use 't' to select a new temporary root directory
> Use 'e' to exit mergemaster
>
> Default is to use /var/tmp/temproot as is
>
> How should I deal with this? [Use the existing /var/tmp/temproot]
>
> *** Leaving /var/tmp/temproot intact
>
> *** Creating the temporary root environment in /var/tmp/temproot
> *** /var/tmp/temproot ready for use
> *** Creating and populating directory structure in
> /var/tmp/temproot
>
> mtree -eU -f /usr/src/etc/mtree/BSD.root.dist -p
> /var/tmp/temproot/ mtree:No such file or directory
> *** Error code 1
>
> Stop in /usr/src/etc.
>
> *** FATAL ERROR: Cannot 'cd' to /usr/src/etc and install files
> to the temproot environment
>
> #
> Script done on Tue Nov 2 12:08:40 2004
>
> Rebooting into normal multi-user mode, I have no problem running
> the script.
>
> Should I simply not run mergemaster in single user mode? (Anyway,
> I believe the error to be odd).
>
> Cheers, Erik
>
> PS: I have had this error before, in june and september with
> -CURRENT.
Hi Erik,
The best thing you can do is read /usr/src/UPDATING and follow the
procedure for upgrading located towards the end of the file. One
thing it will tell you is to run "mergemaster -p" before going into
single-user mode. I didn't see you mention doing that. Instead of
rebooting into single-user mode, why don't you do "shutdown now",
that will put you into single user mode.
OK, you want to make buildworld, buildkernel, installkernel while in
multiuser mode. When that's done, go to single-user mode, run
"mergemaster -p". If it asks what to do about an
existing /var/tmp/temproot, you want to delete it, it's existing
from a previous upgrade and you don't want to use it. Deleating it
will allow it to be repopulated. Then, you can "cd /usr/src" and
run "make installworld". When that's done, while still in single
user mode, you can run "mergemaster" or "mergemaster -i". You will
be warned about an existing /var/tmp/temproot. Again, you want to
delete it so it can be correctly repopulated. After that, my advice
is to just install everything mergemaster puts up to be taken care
of. Finally, you can reboot, or "shutdown -r now", login as root,
and unless you did something strange that you can't remember doing,
it should work.
Don
--
Donald J. O'Neill
donaldj1066 at fastmail.fm
More information about the freebsd-questions
mailing list