LinuxCommandLibrary

deb-get

Install Debian packages from third-party repositories

TLDR

Update the list of available packages and versions

$ deb-get update
copy

Search for a given package
$ deb-get search [package]
copy

Show information about a package
$ deb-get show [package]
copy

Install a package, or update it to the latest available version
$ deb-get install [package]
copy

Remove a package (using purge instead also removes its configuration files)
$ deb-get remove [package]
copy

Upgrade all installed packages to their newest available versions
$ deb-get upgrade
copy

List all available packages
$ deb-get list
copy

SYNOPSIS

deb-get [OPTIONS] COMMAND [ARGUMENTS]

PARAMETERS

-h, --help
    Displays general help or help for a specific command.

-v, --version
    Shows the installed deb-get version.

-y, --yes, --no-prompt
    Assume 'yes' to all prompts, running non-interactively.

--dry-run
    Simulate actions without making any actual changes to the system.

--no-install-recommends
    Do not install recommended packages, similar to apt's option.

install <package>
    Downloads and installs the specified package.

remove <package>
    Removes the specified package, analogous to apt remove.

update
    Refreshes the list of available packages from deb-get's index.

upgrade
    Upgrades all installed deb-get managed packages to their latest versions.

list
    Lists all packages known to deb-get, or optionally only installed ones.

search <keyword>
    Searches for packages matching the given keyword in the deb-get index.

info <package>
    Displays detailed information about a specific package, including its source.

cleanup
    Removes cached .deb files and other temporary data.

self-update
    Updates deb-get itself to the latest version.

DESCRIPTION

deb-get is a command-line utility designed to simplify the installation of .deb packages that are not available in standard APT repositories. While APT is the primary package manager for Debian-based systems, many modern applications, especially proprietary software or tools from smaller projects, distribute their software as standalone .deb files or via GitHub releases, rather than through official APT repositories or PPAs.

deb-get acts as a convenient wrapper, enabling users to install these packages with an apt-like syntax (e.g., deb-get install <package>). It maintains an index of known packages and their download locations, often directly linking to official developer sites or GitHub release pages. When a package is requested, deb-get intelligently fetches the correct .deb file for the user's architecture, verifies its integrity (where possible), and then leverages apt (specifically apt install ./package.deb) to perform the actual installation, ensuring all dependencies are correctly resolved and handled by the system's robust package management infrastructure.

This tool bridges the gap between traditional APT package management and the need to easily install software distributed outside of official channels, reducing the manual effort of downloading, verifying, and installing .deb files, and subsequently resolving dependencies. It aims to provide a smoother, more integrated experience for managing a broader range of software on Debian/Ubuntu systems.

CAVEATS

deb-get is a third-party tool and not part of the official Debian or Ubuntu package management system. While it leverages apt for installation, it relies on its own curated list of packages and their external download sources. Users should be aware that the integrity and security of packages depend on the trustworthiness of the original upstream developers and the deb-get project's maintenance of its package index. Unlike apt's official repositories, there isn't the same level of cryptographic signing and verification infrastructure for packages sourced directly by deb-get. It is designed to complement, not replace, apt.

PACKAGE INDEX

deb-get maintains an internal index (a YAML file in its GitHub repository) of available packages, their versions, architectures, and the URLs from which their .deb files can be downloaded. This index is regularly updated when you run deb-get update, ensuring access to the latest available software versions. This model allows it to support a wide array of applications without requiring each application to host its own APT repository.

DEPENDENCY HANDLING

Crucially, after deb-get downloads the appropriate .deb file, it hands off the actual installation process to apt (e.g., via sudo apt install ./package.deb). This means that all dependency resolution, conflict checking, and post-installation scripting are handled by apt, leveraging the robustness and security of the underlying Debian package management system.

HISTORY

deb-get was created by Martin Wimpress, well-known in the Linux community for his work on Ubuntu MATE and Snap packaging. It was developed to address a common pain point for Linux users: installing modern, often cross-platform software that provides .deb packages but doesn't maintain its own APT repository. The project began as a pragmatic solution to simplify the process of finding, downloading, and installing these applications, providing an apt-like interface for a broader range of software. It quickly gained traction among users looking for a streamlined way to manage applications like Zoom, VS Code, Slack, and various developer tools without manually adding PPAs or managing individual .deb files.

SEE ALSO

apt(8), dpkg(1), curl(1)

Copied to clipboard