diff --git a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml --- a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml +++ b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml @@ -1195,9 +1195,10 @@ &prompt.root; make -j4 buildworld &prompt.root; make -j4 kernel &prompt.root; shutdown -r now +&prompt.root; etcupdate -p &prompt.root; cd /usr/src &prompt.root; make installworld -&prompt.root; mergemaster -Ui +&prompt.root; etcupdate -B &prompt.root; shutdown -r now @@ -1214,6 +1215,12 @@ from source. + + Update and merge configuration files in + /etc/ required before + installworld. + + Go to the source directory. @@ -1241,7 +1248,7 @@ Install the world. - + Update and merge configuration files in /etc/. @@ -1536,13 +1543,84 @@ libraries are located and removed, then the system is restarted. - + + Merging Configuration Files with + &man.etcupdate.8; + + &man.etcupdate.8; is a tool for managing updates to + files that are not updated as part of an installworld such + as files in /etc/. It manages updates + by doing a three-way merge of changes made to these files + against the local versions. It is also designed to minimize + the amount of user intervention which is the largest benefit + in comparison to &man.mergemaster.8;. + + + In general, &man.etcupdate.8; does not need any + specific arguments for its job. There is however a handy in + between command for sanity checking what will be done the + first time &man.etcupdate.8; is used: + + &prompt.root; etcupdate diff + + By giving the output a quick look and making sure the diff + looks OK, the merge should work just fine. + + + If &man.etcupdate.8; is not able to merge a file + automatically, the merge conflicts can be resolved with + manual interaction by issuing: + + &prompt.root; etcupdate resolve + + + When switching from &man.mergemaster.8; to + &man.etcupdate.8; the first run might print some bogus + conflicts due to already applied changes. In general, the + following command sequence should recover from this + behavior: + + + + Bootstrapping &man.etcupdate.8; + + &prompt.root; etcupdate diff +&prompt.root; etcupdate bootstrap +&prompt.root; etcupdate diff + + + + Check the output before updating sources and + building the new world. If the output shows a lot + of diffs that are not expected, continue with the + bootstrap command. + + + + Bootstrap the program, for more information + see &man.etcupdate.8;. + + + + Check the diff again after bootstrapping. The + unexpected diffs should be gone. + + + + + + + + Merging Configuration Files with &man.mergemaster.8; - &man.mergemaster.8; provides an easy - way to merge changes that have been made to system - configuration files with new versions of those files. + &man.mergemaster.8; provides a way to merge changes that + have been made to system configuration files with new + versions of those files. &man.mergemaster.8; is an + alternative to the preferred &man.etcupdate.8; tool, + although &man.mergemaster.8; might still be needed on legacy + installs. With , &man.mergemaster.8; automatically updates files that have not been user-modified