Aptitude (software)

Last updated
aptitude
Developer(s) Daniel Burrows [1]
Initial release1999;25 years ago (1999)
Stable release
0.8.13-5 [2] / 6 August 2022;19 months ago (6 August 2022)
Repository
Written in C++ (ncurses)
Operating system Linux, iOS [3]
Platform Debian and derivatives
Type Package manager
License GPLv2
Website wiki.debian.org/Aptitude   OOjs UI icon edit-ltr-progressive.svg

aptitude is a front end to APT, the Debian package manager. [4] It displays a list of software packages and allows the user to interactively pick packages to install or remove. It has a search system utilizing flexible search patterns. It was initially created for Debian, but has appeared in RPM-based distributions as well.

Contents

User interfaces

aptitude is based on the ncurses computer terminal library, with which it provides an interface that incorporates some elements commonly seen in graphical user interfaces (GUIs) (such as pull-down menus).

In addition to the ncurses interface, aptitude provides an extensive command-line interface (CLI). Even though aptitude is one executable file, it provides command-line functions similar to those of the family of tools provided by APT (apt-get, apt-cache, apt-listchanges, etc.). aptitude also emulates most apt-get command-line arguments, allowing it to act as a full replacement for apt-get. In the past, it was recommended that aptitude and apt-get not be used interchangeably. This is no longer true, as both programs now correctly track and share a common list of packages that were automatically installed to satisfy dependencies. [5]

History

aptitude was created in 1999. At the time two other terminal-based APT-like front ends were available: the dselect program, which had been used to manage packages on Debian before APT was created, and the console-apt program, a project that was considered to be the heir apparent to dselect. aptitude was created to experiment with a more object-oriented programming design than that used in console-apt, in the hope that this would result in a more flexible program with a broader set of features.

The first public release of aptitude was version 0.0.1 on November 18, 1999. It was very limited: it had the ability to view the list of available packages, but could not actually download or install any packages. By version 0.0.4a, this ability had been added, with many other improvements; this version was included in Debian 2.2, code name: potato.

In late 2000, the whole user interface module was rewritten; a new architecture was created, based on the libsigc++ callback library and concepts from modern widget toolkits such as GTK+ and Qt. This enabled the interface to become much more similar to GUIs than it had been previously, with features such as pull-down menus and pop-up dialogs. One of aptitude's more unusual features, a tiny implementation of Minesweeper, was added at this time. The first official aptitude release following this rewrite was 0.2.0., aptitude 0.2.11.1 was released with Debian 3.0 Woody. By this time, the console-apt project (renamed to deity) had been effectively abandoned by its maintainers, and it was removed from Woody. aptitude has also been ported to jailbroken iOS as part of the Cydia package manager. [3]

Easter egg

A version of the aptitude Easter egg. It is a reference to The Little Prince. Aptitude moo.png
A version of the aptitude Easter egg. It is a reference to The Little Prince .

aptitude states that, unlike APT, it does not have "Super Cow Powers". In apt-get "super cow powers" can be found by issuing the command apt-get moo. However, in aptitude issuing moo will give the user a prompt saying there are no Easter eggs.

However, by issuing aptitude -v moo, then aptitude -vv moo, and so on the user will see a series of statements denying the "Super Cow Powers" or telling them to go away, some ending with a picture (a reference to Antoine de Saint-Exupéry's The Little Prince ) not unlike the original apt-get Easter egg. Different versions of the program have different sequences.

In addition, the package description states that "aptitude is also Y2K-compliant, non-fattening, naturally cleansing, and housebroken."

See also

Related Research Articles

<span class="mw-page-title-main">Debian</span> Linux distribution based on free and open-source software

Debian, also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software and optionally non-free firmware or software developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of Debian (0.01) was released on September 15, 1993, and its first stable version (1.1) was released on June 17, 1996. The Debian Stable branch is the most popular edition for personal computers and servers. Debian is also the basis for many other distributions that have different purposes, like Proxmox for servers, Ubuntu or Linux Mint for desktops, Kali for penetration testing, and Pardus and Astra for government use.

<span class="mw-page-title-main">Graphical user interface</span> User interface allowing interaction through graphical icons and visual indicators

A graphical user interface, or GUI, is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

ncurses Text-based user interface API

ncurses is a programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces (TUI) in a terminal-independent manner. It is a toolkit for developing "GUI-like" application software that runs under a terminal emulator. It also optimizes screen changes, in order to reduce the latency experienced when using remote shells.

<span class="mw-page-title-main">Package manager</span> Software tools for handling software packages

A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.

<span class="mw-page-title-main">YaST</span> Installation and configuration tool for openSUSE and SUSE Linux

YaST is a Linux operating system setup and configuration tool.

<span class="mw-page-title-main">APT (software)</span> Free software package management system

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.

dpkg is the software at the base of the package management system in the free operating system Debian and its numerous derivatives. dpkg is used to install, remove, and provide information about .deb packages.

curses (programming library) Terminal control library enabling construction of text user interfaces

curses is a terminal control library for Unix-like systems, enabling the construction of text user interface (TUI) applications.

<span class="mw-page-title-main">Synaptic (software)</span> GTK GUI front end for APT package manager

Synaptic is a GTK-based graphical user interface for the APT package manager used by the Debian Linux distribution and its derivatives. Synaptic is usually used on systems based on deb packages but can also be used on systems based on RPM packages. It can be used to install, remove and upgrade software packages and to add repositories.

<span class="mw-page-title-main">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of bitmapped displays and modern conventional graphical user interfaces (GUIs). Like modern GUIs, they can use the entire screen area and may accept mouse and other inputs. They may also use color and often structure the display using box-drawing characters such as ┌ and ╣. The modern context of use is usually a terminal emulator.

Wajig is a simplified wrapper to Debian's package management system dpkg/APT. Wajig provides the functionality of apt-get, dpkg, dpkg-deb, apt-cache and other tools. These tools launch as a subprocess. Wajig also provides extra functionality beyond that of the stock apt and dpkg tools. For example, the command wajig sizes provides a listing of all installed packages and the amount of disk space they require, from smallest to largest.

<span class="mw-page-title-main">VectorLinux</span> Linux distribution

VectorLinux, abbreviated VL, is a Linux distribution for the x86 platform based on the Slackware Linux distribution, originally developed by Canadian developers Robert S. Lange and Darell Stavem. Since version 7 the Standard Edition is also available for the x86-64 platform, known as VLocity64 7.

<span class="mw-page-title-main">Shell (computing)</span> Computer program that exposes an operating systems services to a human user or other programs

In computing, a shell is a computer program that exposes an operating system's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. It is named a shell because it is the outermost layer around the operating system.

<span class="mw-page-title-main">ClamTk</span> Computer antivirus software for Linux

ClamTk is a free software graphical interface for the ClamAV command line antivirus software program, for Linux desktop users. It provides both on-demand and scheduled scanning. The project was started by Dave Mauroni in February 2004 and remains under development.

<span class="mw-page-title-main">Cydia</span> iOS package manager

Cydia is a graphical user interface of APT for iOS. It enables a user to find and install software not authorized by Apple on jailbroken iPhones, iPads and iPod Touch devices. It also refers to the digital distribution platform for software on iOS accessed through Cydia software. Most of the software packages available through Cydia are free of charge, although some require purchasing.

<span class="mw-page-title-main">Salix OS</span> Linux distribution

Salix OS is a multi-purpose Linux distribution based on Slackware.

DebWrt is a discontinued, niche Linux distribution mainly installed on embedded systems. It was built on top of an OpenWrt base which was used to load a fully functional version of Debian from the RootFS stored on the attached USB storage device. For easy installation and deinstallation of packages it relied on the dpkg Package management system. DebWrt used the command-line interface of Bash. There was no web-based GUI interface.

<span class="mw-page-title-main">Raspberry Pi OS</span> Debian-based operating system for Raspberry Pi

Raspberry Pi OS is a Unix-like operating system based on the Debian GNU/Linux distribution for the Raspberry Pi family of compact single-board computers. First developed independently in 2012, it has been produced as the primary operating system for these boards since 2013, distributed by the Raspberry Pi Foundation.

<span class="mw-page-title-main">Anaconda (Python distribution)</span> Distribution of the Python and R languages for scientific computing

Anaconda is a distribution of the Python and R programming languages for scientific computing, that aims to simplify package management and deployment. The distribution includes data-science packages suitable for Windows, Linux, and macOS. It is developed and maintained by Anaconda, Inc., which was founded by Peter Wang and Travis Oliphant in 2012. As an Anaconda, Inc. product, it is also known as Anaconda Distribution or Anaconda Individual Edition, while other products from the company are Anaconda Team Edition and Anaconda Enterprise Edition, neither of which are free.

References

  1. Burrows, Daniel (2007-12-02). "projects/aptitude". Archived from the original on 2012-06-30. Retrieved 2015-07-03.
  2. "debian/0.8.13-5".
  3. 1 2 "Aptitude: advanced command-line APT frontend" . Retrieved 2015-07-03.
  4. "Aptitude - Debian Wiki".
  5. Hertzog, Raphaël (2011-06-20). "apt-get, aptitude, … pick the right Debian package manager for you" . Retrieved 2015-07-03.