| Portage | |
|---|---|
Portage in action |
|
| Latest release | 2.1.4.4 |
| Preview release | 2.2_pre7 |
| OS | Gentoo Linux and Gentoo/FreeBSD |
| Platform | POSIX-compatible/Python-capable |
| Genre | Package management system |
| Website | http://www.gentoo.org/proj/en/portage/ |
Portage is a package management system used by Gentoo Linux. A software release is the distribution whether public or private of an initial or new and upgraded version of a Computer software product A software release is the distribution whether public or private of an initial or new and upgraded version of a Computer software product An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination The Gentoo Linux Operating system (ˈdʒɛntuː is a Linux distribution based on the Portage Package management system. Gentoo/FreeBSD is a Unix-like Operating system developed by Gentoo Linux developers in order to bring Gentoo Linux design structure and tools such In Computing, a platform describes some sort of Hardware architecture or Software framework (including Application frameworks, that allows Computer software can be organized into categories based on common function type or field of use A package management system is a collection of tools to automate the process of installing upgrading configuring and removing software packages from a Computer A website (alternatively web site or Web site, a back-construction from the Proper noun World Wide Web) is a collection of Web pages A package management system is a collection of tools to automate the process of installing upgrading configuring and removing software packages from a Computer The Gentoo Linux Operating system (ˈdʒɛntuː is a Linux distribution based on the Portage Package management system. Gentoo is sometimes referred to as a "meta-distribution" due to the flexibility of Portage which allows it to manage other operating systems as well. A Linux distribution (also called GNU/Linux by distributions such as Debian, Fedora, Ubuntu, Linux Mint, Mandriva and [1][2][3][4] In addition to Gentoo Linux there exist Portage implementations for FreeBSD, Mac OS X and Solaris. FreeBSD is a Unix-like free Operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD branch through Mac OS X (mæk oʊ ɛs tɛn is a line of computer Operating systems developed marketed and sold by Apple Inc, the latest of which is pre-loaded on all currently Solaris is a Unix -based Operating system introduced by Sun Microsystems in 1992 as the successor to SunOS.
Portage is similar to the BSD package management system called ports; in fact it was originally designed with FreeBSD's ports in mind. A package management system is a collection of tools to automate the process of installing upgrading configuring and removing software packages from a Computer Ports collections (or ports trees, or just ports) are the sets of Makefiles and patches provided by the BSD -based Operating systems FreeBSD is a Unix-like free Operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD branch through [5] Gentoo's Portage system works similarly to Debian's APT. Debian ( pronounced) is a computer Operating system composed entirely of Free and open source software. The Advanced Packaging Tool, or APT, is a free user interface that works with core libraries to handle installing software on Linux Portage is written in the Python programming language, and is the main utility that defines Gentoo. Python is a general-purpose High-level programming language. Its design philosophy emphasizes programmer productivity and code readability Although the system itself is known as Portage, it consists of two main parts, the ebuild system and emerge. An ebuild is a specialized Bash script format created by the Gentoo Linux project for use in its Portage software management system which automates These two have roughly the same relation as rpm and yum, or dpkg and apt, in that the ebuild system takes care of the actual work of building and installing packages, while emerge is a front-end that resolves dependencies and similar issues. RPM Package Manager ( Red Hat Package Manager, abbreviated RPM) is a Package management system. The Yellow dog Updater Modified ( YUM) is an open source command line package management utility for RPM -compatible Linux dpkg is the Software at the base of the Debian Package management system. The Advanced Packaging Tool, or APT, is a free user interface that works with core libraries to handle installing software on Linux A Qt-based GUI known as Kuroo, two GTK+-based GUIs: Porthole and Portato are also available for working with Portage. Qt (pronounced "cute" by its creators is a Cross-platform application development framework widely used for the development of GUI programs (in which Kuroo is a Qt-based graphical front-end to the Gentoo Linux Package management system known as Portage. GTK+, or The GIMP Toolkit, is a Cross-platform Widget toolkit for creating Graphical user interfaces It is one of the most popular toolkits
There is an ongoing effort called PMS project[6] to standardise and document the behaviour of Portage, allowing the ebuild tree and Gentoo system packages to be used with alternate package managers such as Paludis and pkgcore. PMS stands for Package Manager Specification and its goal is to specify the behavior of package managers upon which Gentoo ebuilds can rely. There is a complete draft available[7].
Contents |
The emerge command-line tool is the heart of Portage. The command is customizable with many options and modifiers. The emerge tool is the most important utility to access the features of Portage from the command line.
The program calculates and manages dependencies, executes ebuilds and maintains the local Portage tree and database of installed packages. The compilation settings used by ebuilds can be changed through the CFLAGS environment variable, based on the specifications of the individual computer and on the user's desire for optimization. Environment variables are a set of dynamic values that can affect the way running processes will behave on a computer The emerge utility executes ebuilds in a sandbox environment. This article is about the Computer security mechanism For the Wikipedia feature where newcomers can experiment with editing or established editors can experiment with This way the system is protected from software executed by the ebuild and resulting binaries are only merged after a successful build and sandboxed install.
What emerge installs as dependencies is affected by the USE flag-settings. They decide which optional features will be included when installing or upgrading an application. The emerge command can also be used to download and install binary files.
The Portage system offers the use of "USE flags," which allows users to indicate which software features they would like to include (and exclude) while building packages. For example, there is a USE flag to include DVD support, where available, in packages compiled with the flag enabled. DVD (also known as " Digital Versatile Disc " or " Digital Video Disc " - see Etymology)is The USE flags affect which dependencies are required, generally affecting which optional features will be built into a given program when it is compiled. In Computer science, coupling or dependency is the degree to which each program module relies on each one of the other modules For example, in packages which use a configure script, the USE flag feature would translate to . Configure scripts are an automated method of modifying Source code before compilation in order to produce code tailored to the system on which a binary Executable /configure --with-feature.
The specification of USE flags is the usual way to configure programs on Gentoo. USE flags may be set manually, or via user-friendly tools such as 'ufed' (USE flag editor), which lists flags along with their description. A list of available USE flags, is available in the "Gentoo Linux Use Variable Descriptions" page of the Gentoo website.
Gentoo does not, by default (see next paragraph), use binary packages as package management systems do (like RPM), employing instead a format known as the ebuild. An ebuild is a specialized Bash script format created by the Gentoo Linux project for use in its Portage software management system which automates A package management system is a collection of tools to automate the process of installing upgrading configuring and removing software packages from a Computer RPM Package Manager ( Red Hat Package Manager, abbreviated RPM) is a Package management system. Whereas RPMs are precompiled binaries, ebuilds are shell scripts with variables and functions which contain a description of the software, and instructions on how to obtain, configure, compile, and install it, more closely akin to (but more powerful than) the .spec files distributed in SRPMs. A shell script is a script written for the shell, or Command line interpreter, of an Operating system. RPM Package Manager ( Red Hat Package Manager, abbreviated RPM) is a Package management system. An SRPM is an RPM package with Source code. Unlike a tarball (or an RPM an SRPM package can be automatically compiled and installed following instructions in the There are over 25,000 ebuilds available, the majority of which are distributed by the Gentoo mirrors. In Computing, a mirror is an exact copy of a Data set On the Internet, a mirror site is an exact copy of another Internet site New and updated ebuilds can be obtained by synchronizing the local ebuild repository with the mirrors. This is done by executing the command emerge --sync. Recently, Gentoo has begun providing pre-compiled binary packages for many common programs, especially those which are lengthy to compile, such as Mozilla Firefox and OpenOffice.org. OpenOfficeorg ( OOo or OOo) is a free Cross-platform office application suite available for a number of different computer These are still installed with emerge, just by appending a "-bin" to the package name to instead install the binary version.
Gentoo does have a binary packaging format, which is a . tbz2 file (tar with bzip2 compression) with additional metadata. In Computing, tar (derived from tape archive) is both a File format (in the form of a type of archive Bitstream) and the name bzip2 is a free and open source Lossless data compression Algorithm and program developed by Julian Seward. Metadata ( meta data, or sometimes metainformation) is "data about data" of any sort in any media This feature enables the building of binary packages on one system (using Portage's buildpkg or quickpkg) followed by quick installation on other, identical systems (with Portage's getbinpkg or emerge -K). See Portage Features in the Gentoo Linux Handbook for more information.
Masking is how Gentoo determines which packages are suitable for a system. Ebuilds designed for different architectures or experimental software are usually masked in a way that will not allow a stable system to install them with no proper user intervention.
Packages that generally just require some testing but will often work fine are said to be keyword masked (i. e. they are available for systems with an ACCEPT_KEYWORDS make. conf entry starting with the character ~, such as ~x86, ~amd64, ~ppc). The standard way to unmask an individual keyword masked package is by adding an entry to /etc/portage/package. keywords.
Packages with known problems or not considered mature enough to be candidates for stable are hard masked by one of the various package. mask files in /usr/portage/profiles, and such entries are generally accompanied by a comment from developers explaining the reason for the mask.