Revision 113368856 of "Benutzer:Ulm/Portage (software)" on dewiki

'''Portage''' is an advanced [[package management system]]. Its flexibility and its ability to serve as either a simple build engine or to form the heart of a [[Linux distribution]] earns it the title of a [[Linux Meta-distribution|Meta-distribution]] Engine. The [[Gentoo Linux]] distribution is built around Portage. 

[[Gentoo Linux]] itself is often referred to as a Meta-distribution. It consists of Portage and over 10,000 unique sets of package build recipes called [[ebuild]]s; there are over 20,500 ebuilds if you count different version numbers for packages. More are always being added. These ebuilds contain the metadata about the package as well as the instructions on how to compile, install and configure a software package. Through the use of profiles and the command-line utility called [[emerge]], users and developers can use Portage to install and maintain the packages that make up the underlying operating system and the applications on a system. 

A [[Gentoo Linux]] system can be "compiled on the fly". The act of installing [[Gentoo Linux]] from scratch involves setting up enough of a working compiler and build environment through which Portage can download source code from the Internet and build the rest of the "core" of the system and any desired applications. However, Portage does support the use of prebuilt packages for those wishing to quickly setup a fully working system. Most users see this as a compromise and use it only for installation on slow machines, but it also provides a fast installation for developers who might need to quickly restore a certain package, or for when users compile packages on a faster machine for use on very old machines. In large environments, the use of a build cluster to create the prebuilt packages and distribute them amongst the various [[Gentoo Linux]] clients is a frequently used technique for managing an entire network.

Due to these properties, and the fact that Portage is highly configurable in the way it handles compiling and installing packages, very few Gentoo Linux installations are the same. In essence, when a user installs Gentoo Linux, the Portage system compiles a customized [[Linux]] distribution conforming to the options specified in the Portage configuration and in the builds themselves. 

Portage is similar to the traditional [[Berkeley Software Distribution|BSD]] ports system. Both compile packages from source and allow users to safely install and uninstall software from a system and both automatically handle dependencies. Many ideas for Portage are borrowed from the [[Berkeley Software Distribution|BSD]] ports systems.  The intent is to create a true next-generation ports system.

The Portage system is a merge of a [[Python programming language|Python]] core with [[Bash]]-based Ebuilds. The command used to install and upgrade applications on a [[Gentoo Linux]] system is [[emerge]].

Some of the advanced features Portage offers are the ability to have multiple versions and revisions of the same package in the tree, conditional dependency resolution and feature support, fine-grained package management, sandboxed safe installation, configuration file protection and profiles.

==External links==
*[http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=3 Gentoo Portage Features]
*[http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 Gentoo Portage Introduction]
*[http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3 Working with Portage]
*[http://www.gentoo-wiki.com Gentoo Wiki]
*[http://wiki.kaspersandberg.com/doku.php?id=howtos:portage unofficial imformative portage howto/guide]
*[http://www.gentoo.org/doc/en/articles/making-the-distro-p1.xml Birth of the Gentoo Linux distribution]
*[http://dev.gentoo.org/~plasmaroo/devmanual/ Gentoo Development Guide]

[[Category:Gentoo Linux]]
[[Category:Package management systems]]

[[cs:Portage]]
[[es:Portage]]
[[eu:Portage]]
[[nl:Portage]]
[[fi:Portage]]
[[sv:Portage]]
[[zh:Portage]]