Portage Advanced Usage
Jump to navigation
Jump to search
This article lists some neat things you can do with Portage/emerge.
/etc/portage directory
This directory contains important configuration files for Portage.
- package.keywords lets you add keywords for individual packages.
- package.use lets you add local USE flags for certain packages. To add/remove certain languages, you can use expanded USE flags:
USE="linguas_en -linguas_fr"
- Note that on these two files, each line must contain only the package name and the options. Don't add any comment (comments must use a whole line) after the package name and options.
Portage world file
It is located in /var/lib/portage/world.
emerge options
- --newuse will recompile packages that had their USE flags changed.
- --depclean will attempt to remove packages that are no longer needed as dependencies.
- --fetchonly will only fetch the distribution files.
- -t will display a tree view. It can be very useful to know which package pulls in another one.
- To emerge a particular version of a package: emerge =mypackage-0.6.3-r2
Features
- Collision protection cannot apparently be disabled, even with -collision-protect and -protect-owned. The only way to partly disable it is to use the environment variable COLLISION_IGNORE with a list of directories (those are not recursively ignored).
Gentoolkit
- equery files ebuild_name will list all the files installed by the specified ebuild.
- qfile /path/to/file will display which package provides that particular file. It can sometimes be useful (it searches in all packages in repository, not only in installed ones).
Profiles
- Profiles contain default configuration values and settings.
- For a server machine, don't use the server profile. It is not yet production-ready. Use the generic profile, eg default/linux/x86/2008.0 (for a desktop box, use default/linux/x86/2008.0/desktop).