Advanced package tool , or APT , is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian and Debian-based Linux distributions . APT simplifies the process of managing software on Unix-like computer systems by automating the retrieval, configuration and installation of software packages , either from precompiled files or by compiling source code.
33-448: APT is a collection of tools distributed in a package named apt . A significant part of APT is defined in a C++ library of functions; APT also includes command-line programs for dealing with packages, which use the library. Three such programs are apt , apt-get and apt-cache . They are commonly used in examples because they are simple and ubiquitous. The apt package is of " important " priority in all current Debian releases, and
66-482: A desktop environment are implemented as a thin frontend for underlying command-line interface (CLI) programs, to save the user from learning the special terminology and memorizing the commands . Another way to understand the difference between the two is to understand the knowledge required of a frontend vs. a backend software developer . The list below focuses on web development as an example. Note that both positions, despite possibly working on one product, have
99-482: A desktop environment are implemented as a thin frontend for underlying command-line interface (CLI) programs, to save the user from learning the special terminology and memorizing the commands . Another way to understand the difference between the two is to understand the knowledge required of a frontend vs. a backend software developer . The list below focuses on web development as an example. Note that both positions, despite possibly working on one product, have
132-413: A die. Frontend and backend In software engineering , the terms frontend and backend (sometimes written as back end or back-end ) refer to the separation of concerns between the presentation layer ( frontend ), and the data access layer ( backend ) of a piece of software , or the physical infrastructure or hardware . In the client–server model , the client is usually considered
165-772: A folder other than a CD-ROM, using the -d option (i.e. a hard disk or a USB keydrive). The Debian CDs available for download contain Debian repositories. This allows non-networked machines to be upgraded. One can also use apt-zip . 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. The APT pinning feature allows users 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
198-420: A package repository has been specified (like during the system installation), packages in that repository can be installed without specifying a source and will be kept up-to-date automatically. In addition to network repositories, compact discs and other storage media (USB keydrive, hard disks...) can be used as well, using apt-cdrom or adding file:/ URI to the source list file. apt-cdrom can specify
231-526: A repository is a directory containing packages along with an index file. This can be specified as a networked or CD-ROM location. As of 14 August 2021, the Debian project keeps a central repository of over 50,000 software packages ready for download and installation. Any number of additional repositories can be added to APT's sources.list configuration file ( /etc/apt/sources.list ) and then be queried by APT. Graphical front ends often allow modifying sources.list more simply ( apt-setup ). Once
264-426: A specific file, or to list all files included in a package on remote repositories. Frontend and backend In software engineering , the terms frontend and backend (sometimes written as back end or back-end ) refer to the separation of concerns between the presentation layer ( frontend ), and the data access layer ( backend ) of a piece of software , or the physical infrastructure or hardware . In
297-497: A type of dependency hell . Another distinction is the retrieval of packages from remote repositories. APT uses a location configuration file ( /etc/apt/sources.list ) to locate the desired packages, which might be available on the network or a removable storage medium, for example, and retrieve them, and also obtain information about available (but not installed) packages. APT provides other command options to override decisions made by apt-get's conflict resolution system. One option
330-489: A very distinct set of skills. The frontend communicates with backend through an API . In the case of web and mobile frontends, the API is often based on HTTP request/response. The API is sometimes designed using the "Backend for Frontend" (BFF) pattern, that serves responses to ease the processing on frontend side. In network computing , frontend can refer to any hardware that optimizes or protects network traffic . It
363-440: A very distinct set of skills. The frontend communicates with backend through an API . In the case of web and mobile frontends, the API is often based on HTTP request/response. The API is sometimes designed using the "Backend for Frontend" (BFF) pattern, that serves responses to ease the processing on frontend side. In network computing , frontend can refer to any hardware that optimizes or protects network traffic . It
SECTION 10
#1732773166715396-459: Is called application front-end hardware because it is placed on the network's outward-facing frontend or boundary . Network traffic passes through the front-end hardware before entering the network. In processor design , frontend design would be the initial description of the behavior of a circuit in a hardware description language such as Verilog , while backend design would be the process of mapping that behavior to physical transistors on
429-459: Is called application front-end hardware because it is placed on the network's outward-facing frontend or boundary . Network traffic passes through the front-end hardware before entering the network. In processor design , frontend design would be the initial description of the behavior of a circuit in a hardware description language such as Verilog , while backend design would be the process of mapping that behavior to physical transistors on
462-454: Is phrased as just the name portion of the package, not a fully qualified filename (for instance, in a Debian system, libc6 would be the argument provided, not libc6_1.9.6-2.deb ). Notably, APT automatically gets and installs packages upon which the indicated package depends (if necessary). This was an original distinguishing characteristic of APT-based package management systems, as it avoided installation failure due to missing dependencies,
495-482: Is therefore included in a default Debian installation. APT can be considered a front end to dpkg , friendlier than the older dselect front end. While dpkg performs actions on individual packages, APT manages relations (especially dependencies) between them, as well as sourcing and management of higher-level versioning decisions (release tracking and version pinning ). APT is often hailed as one of Debian's best features, which Debian developers attribute to
528-491: Is to force a particular version of a package. This can downgrade a package and render dependent software inoperable, so the user must be careful. Finally, the apt_preferences mechanism allows the user to create an alternative installation policy for individual packages. The user can specify packages using a POSIX regular expression . APT searches its cached list of packages and lists the dependencies that must be installed or updated. APT retrieves, configures and installs
561-418: The back usually handles data storage and business logic . In telecommunication , the front can be considered a device or service, while the back is the infrastructure that supports provision of service. A rule of thumb is that the client-side (or "frontend") is any component manipulated by the user. The server-side (or "backend") code usually resides on the server , often far removed physically from
594-408: The client–server model , the client is usually considered the frontend and the server is usually considered the backend, even when some presentation work is actually done on the server itself. In software architecture , there may be many layers between the hardware and end user . The front is an abstraction, simplifying the underlying component by providing a user-friendly interface, while
627-423: The front can be considered a device or service, while the back is the infrastructure that supports provision of service. A rule of thumb is that the client-side (or "frontend") is any component manipulated by the user. The server-side (or "backend") code usually resides on the server , often far removed physically from the user. In content management systems , the terms frontend and backend may refer to
660-662: The frontend translates a computer programming source code into an intermediate representation , and the backend works with the intermediate representation to produce code in a computer output language. The backend usually optimizes to produce code that runs faster. The frontend/backend distinction can separate the parser section that deals with source code and the backend that generates code and optimizes . Some designs, such as GCC , offer choices between multiple frontends (parsing different source languages ) or backends (generating code for different target processors ). Some graphical user interface (GUI) applications running in
693-554: The backend works with the intermediate representation to produce code in a computer output language. The backend usually optimizes to produce code that runs faster. The frontend/backend distinction can separate the parser section that deals with source code and the backend that generates code and optimizes . Some designs, such as GCC , offer choices between multiple frontends (parsing different source languages ) or backends (generating code for different target processors ). Some graphical user interface (GUI) applications running in
SECTION 20
#1732773166715726-576: The dependencies automatically. Triggers are the treatment of deferred actions. Usage modes of apt and apt-get that facilitate updating installed packages include: /etc/apt contains the APT configuration folders and files. apt-config is the APT Configuration Query program. apt-config dump shows the configuration. APT relies on the concept of repositories in order to find software and resolve dependencies. For APT,
759-437: 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. The original effort that led to the apt-get program was the dselect replacement project known by its codename Deity . This project
792-495: The end-user facing views of the CMS and the administrative views, respectively. In speech synthesis , the frontend refers to the part of the synthesis system that converts the input text into a symbolic phonetic representation, and the backend converts the symbolic phonetic representation into actual sounds. In compilers , the frontend translates a computer programming source code into an intermediate representation , and
825-434: The frontend and the server is usually considered the backend, even when some presentation work is actually done on the server itself. In software architecture , there may be many layers between the hardware and end user . The front is an abstraction, simplifying the underlying component by providing a user-friendly interface, while the back usually handles data storage and business logic . In telecommunication ,
858-444: 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. APT was introduced in 1998 and original test builds were circulated on IRC. The first Debian version that included it
891-583: The package repositories. APT was originally designed as a front end for dpkg to work with Debian's .deb packages. A version of APT modified to also work with the RPM Package Manager system was released as 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 . apt-file is a command, packaged separately from APT, to find which package includes
924-500: The strict quality controls in Debian's policy. A major feature of 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 of dpkg . However, it only does this when it is unable to calculate how to avoid the reason dpkg requires the action to be forced. The user indicates one or more packages to be installed. Each package name
957-429: The system, or that have not been sufficiently tested for unwelcome changes. In order to do this, the pins in APT's preferences file ( /etc/apt/preferences ) must be modified, although graphical front ends often make pinning simpler. Several other front ends to APT exist, which provide more advanced installation functions and more intuitive interfaces. These include: APT front ends can: APT front ends can list
990-431: The user. In content management systems , the terms frontend and backend may refer to the end-user facing views of the CMS and the administrative views, respectively. In speech synthesis , the frontend refers to the part of the synthesis system that converts the input text into a symbolic phonetic representation, and the backend converts the symbolic phonetic representation into actual sounds. In compilers ,
1023-472: Was Debian 2.1, released on 9 March 1999. In the end the original goal of the Deity project of replacing the dselect user interface was a failure. Work on the user interface portion of the project was abandoned (the user interface directories were removed from the concurrent versions system ) after the first public release of apt-get . The response to APT as a dselect method and a command line utility
APT (software) - Misplaced Pages Continue
1056-440: Was commissioned in 1997 by Brian White, the Debian release manager at the time. The 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 user interface (UI). Much of the original development of APT was done on Internet relay chat (IRC), so records have been lost. The 'Deity creation team' mailing list archives include only
1089-472: Was so great and positive that all development efforts focused on maintaining and improving the tool. It was not until much later that several independent people built user interfaces on top of libapt-pkg . 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
#714285