Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Feb 2002 20:00:28 -0800
From:      "Kevin Oberman" <oberman@es.net>
To:        Michael Sharp <ms@probsd.ws>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: Mergemaster 
Message-ID:  <20020218040028.875CE5D09@ptavv.es.net>
In-Reply-To: Your message of "Sun, 17 Feb 2002 21:03:59 EST." <200202180203.g1I23xE58376@probsd.ws> 

next in thread | previous in thread | raw e-mail | index | archive | help
> From: Michael Sharp <ms@probsd.ws>
> Date: Sun, 17 Feb 2002 21:03:59 -0500
> Sender: owner-freebsd-questions@FreeBSD.ORG
> 
> I'm kinda new to FreeBSD and I am about to do the -RELEASE to -STABLE 
> procedure. I'm a little confused as to what mergemaster does, and what I 
> should do.. whether install the temp, or delete, or merge. As I understand 
> it, if you have self-edited files in the /etc directory and you want to keep 
> those changes, you dont install the temp file and leave it for later. 
> However, if you havent self-edited a /etc file, its best to install it. Am I 
> correct?  What 'merge' does, I have no idea?  Someone mind clarifying what 
> mergemaster does, is it ok to skip the process?

Michael,

mergemaster does about what you think. There are a number of system
file which are routinely modified by system admins and, when changes
are made to the base files in the FreeBSD distribution, it would be
disastrous to simply replace the existing file. Imagine your password
file suddenly being replaced by one with none of your accounts in it!

			Megemaster-Why and How

The purpose of mergemaster is to allow changes to files that are
frequently/normally configured by an system administrator. These are
mostly in the /etc tree.

When you run mergemaster, it will build a copy of the root
environment, by default in /var/tmp/temproot. 

Once this is done, you will get a list of files you have on your
system that are not in the FreeBSD distribution. These are files that
are not part of the distribution, files installed by X11 or files you
have created. It's a good idea to scan over this list, but I'll admit
that I seldom bother.

Next, you will start getting the output of "diff | more" for all
existing files that are different from the newly downloaded version.
If the file is one you have not customized, you almost certainly want
to select 'i' to install the newer file. You may also get some files
that don't exist on your system because they were added to the tree
since your prior installation. You almost certainly want to install
'i' these, too.

I always look at the differences, even though I know I will be
selecting the new version. There is a lot of easily understandable
information about changes in the system and it might cause you to
realize that something is messed up in the current installation or
something new that you want to learn more about.

If you have a reason to not want to install the new version or make
any changes to the old version, choose 'd'. You probably don't really
want to do this, though.

When you get to a file that you have edited, you probably want to
merge. If you select 'm', you will get an sdiff display where you can
blend lines from your existing file (on the left) and the new file (on
the right) by entering 'l' or 'r'. You should ALWAYS select the right
(new) choice for the RCS version line so that you will not keep being
bugged by this every time you run mergemaster.

If the changes are such that simply selecting 'l' or 'r' does not do
the right thing, you can choose 'e' to bring up the file in an editor
so that you can make it look exactly like you want it to
look. Remember to include the RCS version line from the new (right)
version. 

The first time you run mergemaster is the worst. After you have done
your merges, future runs won't ask about the most files because the
RCS versions will not be changed (unless, of course, the distribution
file HAS changed.)

Never just let mergemaster install everything! You may lose password,
groups, printcap, or other files critical to system operation.

Finally, mergemaster will give you the opportunity to instantiate the
changes made to files like /dev/MAKEDEV, /etc/mail/aliases, and
master.passwd. Unless you are confident that there is a reason not to
do any of these, answer 'y'.

Finally, if you can't decide how to proceed, you can leave the new
file in the temporary directory and worry about them later. But even
this has risks as some changes (e.g. pam.conf) may be required for
things to run normally. Try to avoid this option.

R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman@es.net			Phone: +1 510 486-8634

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




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