Skip to content
forked from Debian/apt

The APT package management tool, integrated with more advanced features including rollbacks and selective installation.

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
COPYING
GPL-2.0
COPYING.GPL
Notifications You must be signed in to change notification settings

RubisetCie/aptum

 
 

Repository files navigation

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.

About

The APT package management tool, integrated with more advanced features including rollbacks and selective installation.

Resources

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
COPYING
GPL-2.0
COPYING.GPL

Stars

Watchers

Forks

Languages

  • C++ 67.8%
  • Shell 30.5%
  • CMake 1.4%
  • Other 0.3%