Some portage options I wish I had known earlier

The best tools are often those, which capabilities we will never quite exhaust. As it took years for me to discover the excellent tabbing capabilities of vim, I only found some of the nicer features of portage after years of use and sometimes struggle.

--resume, --skipfirst
 Straightforward: If the last emerge command aborted, you can resume it with --resume, or, if the last package it tried to install causes problems, skip it with --skipfirst and then resume the emerge.
--keep-going So if you do bigger updates like emerge -auvND world, it might happen that several packages cause problems, while the majority would install just fine. This switch is like using --skipfirst after each error.
-O Install the package(s) without checking for dependencies and blocks. Sometimes stuff develops circular dependencies or packages block their own updates. This, followed by a revdep-rebuild can often fix the situation
--exclude Oh, who does not hate office suites or html engines. When you want to do a quick update of all the important packages, so per definitionem, not the browser and office crap, you can exclude specific packages from being emerged. Typically I do emerge -auvND world --exclude app-office/libreoffice and only deal with the office stuff every once in a while.
--list-sets This shows all installed sets, i.e. stuff that starts with an '@', like @system or @world. Some stuff like @x11-module-rebuild often comes in handy. But moreover, there is the option of
Creating your own sets

Finally, which is not technically an option, you can easily create your own sets similar to @world, @system or the ones listed with --list-sets. This is kind of recent, at least when I started using gentoo it was still under development and not usable. So you might have just missed it. To create a new set, you simply have to create the folder /etc/portage/sets and then you create a textfile, with each package you want in the set on a separate line. For example, updating LaTeX is often a huge pain in the behind, so I created a file /etc/portage/sets/latex containing .. code:


and just unmerge all latex related packages and then do a emerge -auv @latex.

The nice thing about gentoo and funtoo is that you never have to reinstall your system for upgrades. Also other distributions often tend to accumulate a lot of clutter and cruft over the years, while you can always get a funtoo or gentoo installation back into a nice, fresh, clutter free state, even after neglecting full upgrades for years. Using sets and these handy commands not only helps decluttering your working machine, but also helps to quickly install new computers with all the programs you need.