LinuxCommandLibrary

extrepo

Manage external software repositories easily

TLDR

Search for a given package

$ extrepo search [package]
copy

Enable the repository
$ sudo extrepo enable [repository_name]
copy

Disable the repository
$ sudo extrepo disable [repository_name]
copy

Update the repository
$ sudo extrepo update [repository_name]
copy

SYNOPSIS

extrepo {add|list|remove|enable|disable} [repository] [options]

PARAMETERS

add repository
    Add a predefined external repository (e.g., winehq-stable). Fetches keys and adds to sources.list.d.

list
    List all installed external repositories with status (enabled/disabled).

remove repository
    Remove a specific external repository and its GPG key.

enable repository
    Enable a previously disabled repository.

disable repository
    Disable a repository without removing it (comments out sources).

--help
    Show help for the command or subcommand.

--version
    Display extrepo version.

-v, --verbose
    Increase output verbosity.

--allow-unauthenticated (add only)
    Allow adding unsigned repositories (insecure, use cautiously).

--allow-insecure (add only)
    Skip some security checks for problematic repos.

DESCRIPTION

extrepo is a command-line tool for Debian-based systems (Debian, Ubuntu) that simplifies adding, listing, removing, enabling, and disabling external APT repositories from trusted third-party sources. It automates GPG key import, sources.list integration, and metadata verification to enhance security and prevent common errors from manual configuration.

Unlike apt-add-repository, extrepo uses predefined repository definitions from a central database, supporting popular sources like WineHQ, Google Chrome, VirtualBox, and NVIDIA drivers. This ensures repositories are correctly configured with proper signing keys and architectures. Repositories can be toggled without deletion, allowing temporary disables for stability testing.

It promotes best practices by warning about insecure repos and requiring root privileges. Ideal for sysadmins and users needing non-free software not in official repos, reducing risks from unverified PPA or .list files.

CAVEATS

Requires root privileges (use sudo). Limited to predefined repositories; custom repos unsupported. Always run apt update after changes.

SUPPORTED REPOSITORIES

Predefined: winehq-stable, google-chrome, virtualbox, nvidia, steam. Run extrepo list --available for full list.

EXAMPLES

sudo extrepo add winehq-stable
sudo extrepo list
sudo extrepo disable google-chrome

HISTORY

Developed for Debian 11+ (Bullseye) as part of the extrepo package. Created to standardize external repo management amid growing third-party sources. Actively maintained by Debian maintainers.

SEE ALSO

Copied to clipboard