Advanced Packaging Tool

From Wikipedia, the free encyclopedia

(Redirected from Apt-get)
Jump to: navigation, search
Advanced Packaging Tool
OS Cross-platform
Platform Debian
Genre Package management system
License GNU General Public License

Advanced Packaging Tool, or APT, is a front-end for the package management system used by Debian GNU/Linux and its derivatives. APT simplifies the process of managing software on Unix-like computer operating systems by automating the retrieval, configuration and installation of software packages, either from binary files or by compiling source code.

APT was originally designed as a front-end for dpkg to work with Debian's .deb packages, but it has since been modified to work with the RPM Package Manager system via apt-rpm. The Fink project has ported APT to Mac OS X for some of its own package management tasks, and APT is also available in OpenSolaris (included in Nexenta OS distribution).

Distributed under the GNU General Public License, APT is free software.

Contents

There is no single "apt" program as such; APT is a C++ library of functions (known as libapt) which are used by front-end programs for dealing with packages, such as apt-get and apt-cache. They are commonly used in examples due to their simplicity and ubiquity; apt-get and apt-cache are of "important" priority in all current Debian releases, and are therefore installed in a default Debian installation. Several other front-ends to APT exist, which provide more advanced installation functions and more intuitive interfaces. These include:

APT front-ends can:

  • search for new packages;
  • upgrade packages;
  • install or remove packages;
  • upgrade the whole system to a new release.

APT front-ends can list the dependencies of packages being installed or upgraded, ask the administrator if packages recommended or suggested by newly installed packages should be installed too, automatically install dependencies and perform other operations on the system such as removing obsolete files and packages.

APT is often hailed as one of Debian's best features.[1]

A major feature in APT is the way it calls dpkg - it does topological sorting of the list of packages to be installed or removed and calls dpkg in the best possible sequence. In some cases, it utilizes the --force options in dpkg, whenever it is able to calculate how to avoid the reasons why dpkg requires actions to be forced.

Other than install, the other most used apt-get commands are apt-get update, apt-get upgrade and apt-get dist-upgrade.

APT relies on the concept of repositories in order to find software and resolve dependencies. For apt, a repository is a directory containing packages along with an index file. The Debian project keeps a central repository of over 19,000 software packages ready for download and installation.

For extra packages, any number of additional repositories can be added to APT's sources.list configuration file and then be queried by APT. Once a package repository has been specified (like during the system installation), packages in that repository can be installed without specifying a source.

Problems may appear when several sources offer the same package(s). Systems that have such possibly conflicting sources can use APT pinning to control which sources should be preferred.

In addition to network repositories, compact discs and other storage media can be used as well. The Debian CDs available for download contain Debian repositories. This allows non-networked machines to be upgraded.

APT pinning is a feature which allows administrators to force APT to choose particular versions of packages which may be available in different versions from different repositories. This allows administrators to ensure that packages are not upgraded to versions which may conflict with other packages on the system, or that have not been sufficiently tested for unwelcome changes.

In order to do this, the pins in APT's preferences file must be modified,[2] although graphical front-ends often allow this more simply.

The original effort that led to the apt-get program was the dselect replacement project known by its codename deity.[3] This project was commissioned by Brian White, the Debian Release Manager at the time. The very first functional version of apt-get was called dpkg-get and was only intended to be a test program for the core library functions that would underpin the new UI.[4]

Much of the original development of APT was done on IRC so records have been lost. The 'Deity Creation Team' mailing list archives include only the major highlights.

The Deity name was abandoned as the official name for the project due to concerns over the religious nature of the name. The APT name was eventually decided after considerable internal and public discussion. Ultimately the name was proposed on IRC, accepted and then finalized on the mailing lists.[5] As originally used APT is not an acronym, but a proper name. The name gained mindshare during IRC discussions[citation needed] due to the variety of possible acronym expansions and it was ultimately decided that the official use of APT would be as a proper name and no official expansion would ever be presented by the team.

APT was introduced in 1998 and original test builds were circulated on IRC. The first Debian version that included it was Debian 2.1, released on 9 March 1999.[6]

In the end the original goal of the Deity project of replacing the dselect UI was a failure. Work on the user interface (UI) portion of the project was abandoned (the UI directories were removed from the CVS system) after the first public release of apt-get. The response to APT as a dselect method and a command line utility was so great and positive that all development efforts focused on maintaining and improving the tool. It wasn't until much later that several independent people built UIs on top of the capable libapt-pkg.

The final push of the first APT era was to build a complete dpkg replacement (libapt-inst). This project was also a failure, however the partial code found a use as part of the secretive 'Project Betsy' programme, which resulted in the highly efficient apt-ftparchive and libapt python bindings. After this the original author faded away and maintainership of APT languished.

Eventually a new team picked up the project, began to build new features and released version 0.6 of APT which introduced the Secure APT feature, using strong cryptographic signing to authenticate the package repositories.[7]

  1. ^ Byfield, Bruce. An apt-get primer. Newsforge.
  2. ^ Apt Pinning. Debian Wiki. Retrieved on 2006-09-19.
  3. ^ Deity Mailing List, 1997-04.
  4. ^ Deity Mailing List, 1998-03.
  5. ^ Deity Mailing List, 1998-03.
  6. ^ A Brief History of Debian. Debian.org.
  7. ^ Secure APT. Debian Wiki. Retrieved on 2006-09-05.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.