sendmail woes

Giorgos Keramidas keramida at ceid.upatras.gr
Sun Apr 6 15:59:25 PDT 2003


On 2003-04-06 23:29, bastill at adam.com.au wrote:
>Quoting Giorgos Keramidas <keramida at ceid.upatras.gr>:
>>
>> I'd probably boot single user mode and run 'mergemaster' after
>> mounting all the filesystems.
>
> Giorgios,
> Am I expecting too much of mergemaster?

Not really.  You should just follow the on screen instructions and let
it merge or overwrite the files of /etc instead of hitting RETURN.

When you see something like this:

    *** Beginning comparison

     *** Temp ./etc/defaults/rc.conf and installed have the same CVS Id, deleting
     *** Temp ./etc/defaults/pccard.conf and installed have the same CVS Id, deleting
     *** Temp ./etc/defaults/periodic.conf and installed have the same CVS Id, deleting
     *** Temp ./etc/gnats/freefall and installed have the same CVS Id, deleting
     *** Temp ./etc/mail/freebsd.mc and installed have the same CVS Id, deleting

      *** There is no installed version of ./etc/mail/freebsd.cf

      Use 'd' to delete the temporary ./etc/mail/freebsd.cf
      Use 'i' to install the temporary ./etc/mail/freebsd.cf

      Default is to leave the temporary file to deal with by hand

    How should I deal with this? [Leave it for later] _

...don't just hit RETURN.  You should either hit 'i' to install the new
version of freebsd.cf or 'd' to delete the new version and keep your
currently installed file.  In general, if you don't know why the files
seem to include changes, it's safe to use 'i'nstall.

When differences exist between the installed version and the one that
/usr/src has, you'll see something like this:

       ======================================================================

      *** Displaying differences between ./etc/syslog.conf and installed version:

    --- /etc/syslog.conf    Mon Apr  7 01:49:06 2003
    +++ ./etc/syslog.conf   Mon Apr  7 01:49:10 2003
    @@ -1,11 +1,10 @@
    -# $FreeBSD: src/etc/syslog.conf,v 1.23 2003/04/03 18:37:49 yar Exp $
    +# $FreeBSD: src/etc/syslog.conf,v 1.24 2003/04/03 18:37:49 yar Exp $
     #
     #      Spaces ARE valid field separators in this file. However,
     #      other *nix-like systems still insist on using tabs as field
     #      separators. If you are sharing this file between systems, you
     #      may want to use only tabs as field separators here.
     #      Consult the syslog.conf(5) manpage.
    -*.*                                            /dev/ttyvb
     *.err;kern.debug;auth.notice;mail.crit         /dev/console
     *.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err  /var/log/messages
     security.*                                     /var/log/security
    @@ -13,7 +12,7 @@
     mail.info                                      /var/log/maillog
     lpr.info                                       /var/log/lpd-errs
     ftp.info                                       /var/log/xferlog
    -#cron.*                                                /var/log/cron
    +cron.*                                         /var/log/cron
     *.emerg                                                *
     # uncomment this to log all writes to /dev/console to /var/log/console.log
     #console.info                                  /var/log/console.log

      Use 'd' to delete the temporary ./etc/syslog.conf
      Use 'i' to install the temporary ./etc/syslog.conf
      Use 'm' to merge the temporary and installed versions
      Use 'v' to view the diff results again

      Default is to leave the temporary file to deal with by hand

    How should I deal with this? [Leave it for later]

This screen shows that my locally installed version of /etc/syslog.conf
has a few changes from the one in /usr/src and mergemaster needs to make
some new changes too.  The lines preceded by '-' are my local stuff and
the changes preceded by '+' are the changes that mergemaster needs to
make to synchronise my copy with the one in /usr/src.

This time, two extra options show up.  The 'm' and 'v' options allow you
to merge the local and /usr/src copies of the file, and 'v' redisplays
the differences (just in case you missed some and want to review them
again).

> I took your advice and ran it without any options.  It showed me the
> comparision between old and new files as it ran on the console, and
> stored the new files in /var/tmp/temproot for me to compare and adjust
> my old files - without any guide about what the differences might be.
> The "old" files remain untouched until I manually change them.

That's because you kept hitting RETURN when changes popped up, or
mergemaster thinks (by looking at the local files for $FreeBSD: ...$
version lines) that no changes need to be done.

Try running mergemaster with -s to make strict comparisons of the
locally installed files and the /usr/src versions.  Even if they have
matching $FreeBSD$ lines, they will be diffed and you can merge the
changes or overwrite local files with 'i' (for 'install').

> Is there at least a log somewhere which highlights any differences so
> I have the same sort of guide that appeared on the console when I ran
> mergemaster?  BTW, the difference between old and new freebsd.mc
> appears (more-or-less) cosmetic - BUT I didn't have a
> freebsd_submit.mc and one or two other files which look important.

You should let mergemaster install *all* the files that you don't know
why it wants to install.  This is the canonical way of pulling in your
local installation newly added files of the /etc hierarchy.

Good luck with your mergemastering :)

- Giorgos




More information about the freebsd-questions mailing list