Provided by: extrepo_0.14_all 

NAME
extrepo - manage external Debian repositories
SYNOPSIS
extrepo search search_key
extrepo enable repository_name
extrepo disable repository_name
extrepo update repository_name
DESCRIPTION
The extrepo tool is used to manage external repositories in Debian. Before extrepo, users who wished to
use software not packaged for Debian had to manually write the apt configuration files, run an unsigned
script as root, or install an unsigned .deb package that contained all the configuration on their system.
None of these methods were very secure.
Extrepo remedies this by way of a metadata repository for external package repositories. The user can
search the list of metadata repositories by way of "extrepo search", and manage them through "extrepo
enable", "extrepo disable", or "extrepo update".
By default, only the main policy is enabled, which means only repositories with DFSG-free licensed
packages are searched and can be enabled. This can be changed in the configuration file.
OPTIONS
--url
Specifies the URL from which extrepo will fetch the data for all repositories it manages. This makes it
possible to use your own extrepo data server.
Warning: when using --url file:///usr/share/extrepo/offline-data (see also --offlinedata below), extrepo
bypasses the GPG-based integrity checks of the index.yaml containing the repositories data, as the files
provided by the extrepo-offline-data are supposed to be already validated through the normal Debian
package GPG key infrastructure.
--offlinedata
Equivalent to --url file:///usr/share/extrepo/offline-data. Makes it possible to use the extrepo data
from the extrepo-offline-data package.
--mirror
Overrides the URL of the external repository. This options is only useful for the enable and update
command. It makes it possible to use your own mirror of external repositories, but keeping the original
GPG authentication that is provided by extrepo.
--tor
Define the tor mode. This can be one of the following options
onion
When this option is selected, extrepo will try to use a .onion URL that is specified in the extrepo
metadata. If no such URL is specified, extrepo will exit with an error message. Note that not all
repositories in the extrepo metadata have a .onion URL set, because not all repositories even have a
.onion URL assigned.
tunnel
When this option is selected, extrepo will prepend "tor+" to all URLs, but will disregard any .onion
URLs that may exist. This tunnels all traffic through tor, but will not use the .onion URLs, even if
such an URL exists in the extrepo metadata.
auto
When this option is selected, extrepo will use a .onion URL if one is specified in the extrepo
metadata, as though the "onion" option were selected. If no such URL is specified, extrepo will
instead prepend "tor+" to the regular URL in the extrepo metadata, as if "tunnel" were selected.
if-onion
When this option is selected, extrepo will use a .onion URL if one is specified in the extrepo
metadata, as though the "onion" option were selected. If no such URL is specified, extrepo will
instead use the regular URL without any tor configuration, as if "off" were selected.
off (or not specified)
When this option is selected, no tor configuration will be written by extrepo. This is the default.
It is possible to set a default other than "off" by adding a line to "/etc/extrepo/config.yaml"; e.g.,
tor: auto
sets the default to "auto".
It goes without saying that all the arguments for this option except "off" require the apt-transport-tor
package to be installed.
SUBCOMMANDS
search key
Searches for a repository where the given argument key (a regular expression) matches either the name of
the repository, its description, or the URL of the repository in question. The full YAML configuration of
all repositories that have a match are printed to standard output.
To search for all repositories, don't provide any search key.
enable repository_name
Enable the repository named repository_name.
There are two cases for this command:
• If the repository had not yet been created before, this creates its configuration from the current
metadata.
• If the repository had been created before but disabled by way of the "extrepo disable" command, re-
enable it without updating the metadata. If you want to update it, see the "extrepo update" command.
If --mirror is used, the URI of the repository to re-enable will also be updated.
disable repository_name
This simply adds a line "Enabled: no" to the apt configuration file, so that the repository is not
enabled. It can be re-enabled by changing the line to "Enabled: yes" (or removing it entirely), or by way
of the "extrepo enable" command (second case).
update repository_name
Re-writes the apt configuration file for this repository, as well as the GPG keyring for it, from the
current metadata.
As of extrepo 0.13, the parameter repository_name may be dropped; in that case, all known repositories
will be updated. Note that doing so will update all files that exist in /etc/apt/sources.list.d and whose
name starts with "extrepo_", even those that are disabled; however, any disabled repositories will not be
enabled.
FILES
/etc/extrepo/config.yaml Extrepo configuration file.
SEE ALSO
<https://salsa.debian.org/extrepo-team/extrepo-data> for instructions on adding your own repository
AUTHOR
Wouter Verhelst
perl v5.40.0 2025-01-04 EXTREPO(1p)