On Fri, Aug 14, 2015 at 12:59:30PM -0700, John Baldwin wrote: > > > There are a few ways. Newer installs do bootstrap it for you, so if you > > > follow the traditional source upgrade method you can just run 'etcupdate' > > > in place of 'mergemaster'. If you do not want to have a /usr/src tree, > > > how are you updating your world? > > > > yes, I don't want to have /usr/src tree. > > I have buld host and run release.sh. > > After done I use R/ftp/*.txz for extract on target host. > > I see var/db/etcupdate/current in base.txz. > > But I don't cleanly understund etcupdate: > > - is this enough (var/db/etcupdate/current from base.txz)? > > - what is best way to preserve var/db/etcupdate/current before > > extract? > > - do I need some work for record changes in /etc? > > In this model, I think etcupdate isn't really what you need/want. > For one, if you extract base.txz it already overwrites your files > in /etc and loses any local changes (including any files that
Of couse, I am dont extract from base.txz /etc and /var itself, only var/db/etcupdate. > etcupdate would upgrade). It doesn't lose new files like /etc/fstab > or /etc/rc.conf, but if you make changes to existing files (like > /etc/ttys) then extracting base.txz will overwrite those with the > stock versions. If you wanted to not overwrite /etc then you could > use etcupdate to merge in the changes to /etc instead. However, > you would need to do something like this: > > 1) Ignore /etc and /var/db/etcupdate/current when you extract > base.txz via --exclude. Actual command is: tar xf - --exclude ./boot/device.hints ./COPYRIGHT boot dev media mnt proc tmp bin lib libexec rescue sbin usr because tar don't allow include/exclude and var in base.txz also contains var/log/sendmail.st, var/crash/minfree, var/db/mergemaster.mtree, var/db/locate.database. > 2) Extract just /var/db/etcupdate/current from base.txz to > some other temporary location (/some/tmp/path). > > 3) Create a new tarball from that tree > ( tar cfy foo.tbz -C /some/tmp/path/var/db/etcupdate/current . ) > > 4) Use foo.tbz with etcupdate as the tarball (etcupdate -t foo.tbz) Thanks, I try this. > Alternatively, you could save on steps 2 + 3 by patching your release > process to run 'etcupdate build' (you can see where the current release > Makefile runs 'etcupdate extract' and use 'build' with the same options). > > -- > John Baldwin _______________________________________________ firstname.lastname@example.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"