@preserved-rebuild is a Portage set. During library updates, the old version of the library is often being kept because other packages are still being built against this library. emerge could solve this by updating all these packages that are still built against the old version. However, this can have undesired effect like a long installation time when updating a library. So emerge does not update the depending libraries, but put them into a set instead: @preserved-rebuild.
After finishing a library update, it is possible to clean up the old library version via:
emerge --ask @preserved-rebuild
If prompted to by emerge after a full @world set update, it is recommended to execute this command after a depclean operation in emerge. This will reduce the possibility of unnecessarily rebuilding orphaned packages that would only be deleted otherwise.
- preserve-libs — a Portage feature
- World set (Portage) — encompasses the system set, the selected set, and the @profile set.
- System set (Portage) — contains the software packages required for a standard Gentoo Linux installation to run properly.
- Selected set (Portage) — contains the packages the admin has explicitly installed
- Selected-packages set (Portage) — contains the user-selected "world" packages that are listed in the /var/lib/portage/world file.