On Tue, Mar 10, 2015 at 10:06:37PM +0000, Ben Morrow wrote: > Quoth Peter Olsson <[email protected]>: > > > > (But I will try running freebsd-update without merging /etc, > > and use mergemaster -F instead. Should solve my problem.) > > I'm fairly sure this won't do what you want, and in fact won't work at > all, unless your /etc is identical to the stock /etc installed from the > ISO. (Which it isn't, of course.) > > installworld specifically avoids installing the files in /etc; then, > when you run mergemaster, it installs the new versions of those files > into a temporary directory and merges them with the existing /etc. > > freebsd-update works a little differently: because it doesn't have a > source tree available, it has to fetch the stock versions of the files > in /etc for the release you're upgrading from, so that it can patch them > to the new release and then merge the changes into your current /etc. If > you tell freebsd-update to install /etc without merging it will blindly > update files you haven't changed (which is probably what you want) but > (I think) will fail to update the files that you have changed, because > it uses binary patches which won't apply to your modified versions. > > If you want a rather hackish solution, you could try something like > this: > > - Rename /etc to /oldetc. > - Find yourself a copy of the stock /etc for the version you are > upgrading from. (tar -xpf base.txz --include /etc) > - Run freebsd-update with /etc removed from the merge list. This > will (should?) give you a stock /etc for the version you are > upgrading to. > - Rename /etc -> /tmp/etc, /oldetc -> /etc and run mergemaster with > -t /tmp. > > Obviously I would script this if I was doing more than one or two > machines > > Ben
I'm not really clear on what will happen if I remove /etc/ from MergeChanges in freebsd-update.conf. Will my /etc then be ignored by freebsd-update, or will my /etc be completely overwritten by freebsd-update? Anyway, your hack could be useful to me. There are no more than about ten files I usually change in /etc, so saving the current /etc, installing a stock /etc, running freebsd-update and then running diff -r to sort out my changes could work. But I'm a little worried about removing my /etc changes from a running server. Thanks! Peter Olsson _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[email protected]"
