A recent upgrade to portage has forced me to become more aware of what switches I'm running it with. For a long, long time, to get an upgrade system I've just been doing a handy "emerge world". This has served me well for years. Doesn't quite work with the latest portage. The result you get with a straight 'world' typically is a bunch of rebuilt packages that as far as I can tell are pretty needless.
Some people have probably been doing this for years, but I've found that an 'emerge -uDNav world' is what works best. Dissecting this from the man page produces:
--update (-u)
Updates packages to the best version available, which may not always be the highest version number due to masking for testing
and development. This will also update direct dependencies which may not be what you want. Package atoms specified on the
command line are greedy, meaning that unspecific atoms may match multiple installed versions of slotted packages.
--deep (-D)
This flag forces emerge to consider the entire dependency tree of packages, instead of checking only the immediate dependen-
cies of the packages. As an example, this catches updates in libraries that are not directly listed in the dependencies of a
package. Also see --with-bdeps for behavior with respect to build time dependencies that are not strictly required.
--newuse (-N)
Tells emerge to include installed packages where USE flags have changed since compilation. USE flag changes include:
A USE flag was added to a package. A USE flag was removed from a package. A USE flag was turned on for a package. A USE
flag was turned off for a package.
USE flags may be toggled by your profile as well as your USE and package.use settings.
--ask (-a)
Before performing the action, display what will take place (server info for --sync, --pretend output for merge, and so
forth), then ask whether to proceed with the action or abort. Using --ask is more efficient than using --pretend and then
executing the same command without --pretend, as dependencies will only need to be calculated once. WARNING: If the "Enter"
key is pressed at the prompt (with no other input), it is interpreted as acceptance of the first choice. Note that the input
buffer is not cleared prior to the prompt, so an accidental press of the "Enter" key at any time prior to the prompt will be
interpreted as a choice!
--verbose (-v)
Tell emerge to run in verbose mode. Currently this flag causes emerge to print out GNU info errors, if any, and to show the
USE flags that will be used for each package when pretending. The following symbols are affixed to USE flags in order to
indicate their status:
Symbol Location Meaning
--------------------------------------------------------------
- prefix not enabled (either disabled or removed)
* suffix transition to or from the enabled state
% suffix newly added or removed
() circumfix forced, masked, or removed
Obviously, it's the -uD that does most of the heavy lifting that a straight 'emerge world' misses. After doing this and a revdep-rebuild, you're pretty golden and up-to-date.
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
No feedback yet
Leave a comment
