Skip to content

Latest commit

 

History

History
100 lines (76 loc) · 3.36 KB

README.md

File metadata and controls

100 lines (76 loc) · 3.36 KB

APT

apt is the main command-line package manager for Debian and its derivatives. It provides command-line tools for searching and managing as well as querying information about packages and low-level access to all features provided by the libapt-pkg and libapt-inst libraries which higher-level package managers can depend upon.

Included tools are:

  • apt-get for retrieval of packages and information about them from authenticated sources and for installation, upgrade and removal of packages together with their dependencies.
  • apt-cache for querying available information about installed as well as available packages.
  • apt-cdrom to use removable media as a source for packages.
  • apt-config as an interface to the configuration settings.
  • apt-key as an interface to manage authentication keys.
  • apt-extracttemplates to be used by debconf to prompt for configuration questions before installation.
  • apt-ftparchive creates Packages and other index files needed to publish an archive of deb packages.
  • apt-sortpkgs is a Packages/Sources file normalizer.
  • apt is a high-level command-line interface for better interactive usage.

APTUM

APTUM expands APT with the following features:

  • Temporary state support (save state / rollback):
    • apt save: initialize a temporary state, for further rollback
    • apt rollback: rollback from a previously initialized temporary state
    • apt apply: apply a previously initialized temporary state
    • apt log: display the package changes since the initialization of the temporary state
  • Shortcut to display close history:
    • apt history: print the history of commands:
    • apt history -f: print the full history
  • Always asking for confirmation before installing a package

Building

First, you need to install some dependency packages:

# Building tools
build-essential
pkg-config
triehash
cmake

# Dependencies
gnutls-dev
libdb-dev
libudev-dev
libbz2-dev
libzstd-dev
libsystemd-dev
libseccomp-dev
libgcrypt20-dev
libxxhash-dev
liblzma-dev
liblz4-dev
zlib1g-dev

# Native-language support
gettext

# Documentation building
doxygen
docbook-xsl
xsltproc
po4a
w3m

# Tests running
libgtest-dev

Then to start the configuration, you need to run the following from a build directory:

cmake <path to source directory>

Example of standard build:

cmake -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=ON -DWITH_TESTS=ON .

Testing

There is an extensive integration test suite available which can be run via:

./test/integration/run-tests

Additional documentation

Many more things could and should be said about APT and its usage but are more targeted at developers of related programs or only of special interest.