December 17, 2022 · Don't Forget linux

Gentoo update tips (blocked/masked packages)

In my recent usage of RedCore Linux, a distribution based on Gentoo Linux' testing branch, I hit some quirky (to me) package dependencies and blocks when using Gentoo's emerge system. The following are some commands used to update packages.

A couple of reminders to kick things off:

  • Do not update everything at once
  • equery(part of app-portage/gentoolkit) for checking dependencies and/or which packages depend on the queried package, as well as qlist (part of app-portage/portage-utils) are your friends
  • use qlist to update/re(build) currently installed packages with some name-based filter. For example, emerge -v $(qlist -IC|grep <NAME>), and to update, just add the u, such as emerge -vu $(qlist -IC|grep <NAME>)

Sample useful copy/paste commands:

  • GCC or glibc
    • emerge -v glibc
    • emerge -v gcc
  • Xorg server and xfce
    • emerge -vu xorg-server $(qlist -IC|grep x11-drivers/)
    • emerge -vu $(qlist -IC|grep xfce)
  • Kernel update – here we update the new kernel headers (sys-kernel/linux-headers` ) and rebuildglibc`` if needed
    • emerge -v --nodeps sys-kernel/gentoo-sources sys-kernel/linux-headers sys-libs/glibc
  • QT/KDE libraries: neither have a meta package (which would end up pulling all the QT/KDE packages), so the best way is to use qlist
    • emerge -vu $(qlist -IC|grep dev-qt|sort|uniq)
    • emerge -v $(qlist -IC|grep kde|sort|uniq)