LinuxCommandLibrary

apkeep

Manage automatically installed packages on Android

TLDR

Download an APK file to the specified directory

$ apkeep --app [com.example.application] [path/to/directory]
copy

List all available versions for download
$ apkeep --app [com.example.application] --list-versions [path/to/directory]
copy

Specify a store to download from
$ apkeep --app [com.example.application] --download-source [apk-pure|google-play|f-droid|huawei-app-gallery] [path/to/directory]
copy

SYNOPSIS

apkeep [options] [arguments]

PARAMETERS

-h, --help
    Show help message and exit.

-V, --version
    Show program's version number and exit.

update
    Update apkeep's database of known configuration files.

upgrade
    Perform a system upgrade, automatically merging configuration file changes.

dist-upgrade
    Perform a distribution upgrade, automatically merging configuration file changes.

full-upgrade
    Alias for dist-upgrade

DESCRIPTION

apkeep is a utility designed to simplify the process of managing configuration file changes during package upgrades on Debian-based systems, especially when using APT. During package upgrades, maintainer scripts sometimes modify configuration files. If a local administrator has also modified the same file, APT presents a prompt asking the user how to proceed (keep the old version, install the package maintainer's version, etc.). apkeep aims to intelligently handle these conflicts by tracking configuration file changes and automatically merging modifications when possible. It works by analyzing changes in configuration files since the package was last installed or upgraded, and comparing them to changes introduced by the new package version.

If the changes are compatible, apkeep merges them automatically. If conflicts are detected, it still allows for interactive resolution but minimizes the number of manual interventions required, leading to a less disruptive and more automated upgrade experience. This is extremely useful for servers and automated tasks, because the task doesn't need to wait for user input to continue.

CAVEATS

apkeep relies on accurately tracking configuration file changes. It may not handle all possible conflict scenarios perfectly. Manual intervention may still be required in some cases. It is generally best used on systems where the administrator understands the types of configuration file changes being made.

CONFIGURATION FILE TRACKING

apkeep maintains its own database to track the state of configuration files. It is crucial to periodically update this database using the 'update' command to ensure it accurately reflects the current system state.

LIMITATIONS

apkeep is not a replacement for careful system administration. It automates certain aspects of configuration file management, but it's still important to understand the impact of package upgrades and configuration changes.

SEE ALSO

apt(8), dpkg(8), ucf(1)

Copied to clipboard