Background

Originally created for gentoo, this package manager is based on the FreeBSD ports system. It is used to distribute packages in source form only. emerge is used to retrieve packages from central servers, resolve dependancies automatically and compile and install them.

Advantages

Advantages of the portage system

  • Source install optimizes binaries: this allows you to take full advantage of the unique aspects of your particlar hardware, resulting in faster execution times.
  • Central servers: Packages are located on central servers.
  • Resolves dependencies: This occurs automatically and will not allow a package with broken dependencies to be installed.
  • Holdback ability: you can mark packages to be held back (not upgraded) or even downgrade packages if you wish.

Disadvantages

Disadvantages of the portage system

  • Long install times: since all packages are compiled from source, depending on your machine and the package you choose, installation times can span hours or even days.
  • Risky upgrading: gentoo advises against ever trying to upgrade your entire system because it is more likely than not you will severely break it.

Usage

Update list of available software, and upgrade system:
emerge sync
emerge -uDpv world
emerge -uDv world
Install and remove a package from a repository:
emerge <package_name>
emerge unmerge <package_name>
Search for packages:
emerge -s <search_keyword>

Frontends

Popular graphical frontends for portage include:
Kuroo:
Kuroo Screenshot
Porthole:
Porthole Screenshot