EXTREPO(1p)
π EXTREPO π
okay bestie, sit DOWN, because this is the extrepo page from the User Contributed Perl Documentation corner of the manual β that's the 1p section for all you section-number girlies β and it's literally about managing external Debian repositories. let's get into it π
β¨ NAME β¨
extrepo β manage external Debian repositories. that's the whole vibe. π
πΈ SYNOPSIS πΈ
the four moves, in order:
extrepo search search_key
extrepo enable repository_name
extrepo disable repository_name
extrepo update repository_name
π¦ DESCRIPTION π¦
so the extrepo tool is what you use to manage external repositories in Debian. and before extrepo existed?? bestie. it was giving chaos. if you wanted software that wasn't packaged for Debian, you had to either:
- hand-write the apt configuration files yourself π
- run an unsigned script as root π
- or install an unsigned
.debpackage that had ALL the configuration stuffed inside it on your system π
and ngl, none of those methods were very secure. not one. zero of them. it was not the moment.
Extrepo fixes this by way of a metadata repository for external package repositories. iconic behaviour. so now you can search the list of metadata repositories with extrepo search, and manage them through extrepo enable, extrepo disable, or extrepo update. periodt. π
by default, only the main policy is enabled β which means only repositories with DFSG-free licensed packages get searched and can be enabled. want to change that? it's in the configuration file, bestie. β¨
π OPTIONS π
--url
specifies the URL that extrepo will fetch the data from for all the repositories it manages. this is your moment if you want to run your own extrepo data server. slay.
β οΈ warning, and I mean it: when you use--url file:///usr/share/extrepo/offline-data(see also--offlinedataright below, iykyk), extrepo bypasses the GPG-based integrity checks of theindex.yamlthat contains the repositories data. why is that okay-ish? because the files provided by theextrepo-offline-dataare supposed to be already validated through the normal Debian package GPG key infrastructure. so like... it's fine, but know that's what's happening. π
--offlinedata
equivalent to --url file:///usr/share/extrepo/offline-data. makes it possible to use the extrepo data from the extrepo-offline-data package. cute, short, same thing. π«Ά
--mirror
overrides the URL of the external repository. this option is only useful for the enable and update command. it lets you use your own mirror of external repositories while keeping the original GPG authentication that extrepo provides. best of both worlds, honestly. β¨
--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.onionURL 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.onionURL set, because not all repositories even have a.onionURL assigned. so like, it's not you, it's the metadata. πtunnelβ when this option is selected, extrepo will prependtor+to all URLs, but will disregard any.onionURLs that may exist. this tunnels all traffic through tor, but will not use the.onionURLs, even if such an URL exists in the extrepo metadata.autoβ when this option is selected, extrepo will use a.onionURL if one is specified in the extrepo metadata, as though theonionoption were selected. if no such URL is specified, extrepo will instead prependtor+to the regular URL in the extrepo metadata, as iftunnelwere selected. she's flexible!! πif-onionβ when this option is selected, extrepo will use a.onionURL if one is specified in the extrepo metadata, as though theonionoption were selected. if no such URL is specified, extrepo will instead use the regular URL without any tor configuration, as ifoffwere 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
...which sets the default to auto. yes bestie, one line, that's it.
it goes without saying (but I'm saying it anyway because I love you) that all the arguments for this option exceptoffrequire theapt-transport-torpackage to be installed. π
π SUBCOMMANDS π
search key
searches for a repository where the given argument key (a regular expression, hello regex girlies) 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. just vibes. β¨
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 disablecommand, re-enable it without updating the metadata. if you want to update it, see theextrepo updatecommand.
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). lowkey the simplest undo ever. π
update repository_name
re-writes the apt configuration file for this repository, as well as the GPG keyring for it, from the current metadata. fresh start, no cap. π¦
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. so it refreshes the files but respects the disabled ones. we love a respectful tool. π«Ά
π FILES π
/etc/extrepo/config.yamlβ extrepo configuration file. that's the one. π
β SEE ALSO β
- <https://salsa.debian.org/extrepo-team/extrepo-data> for instructions on adding your own repository β go add yours bestie, main character energy!! π
π AUTHOR π
Wouter Verhelst
and that's the whole page, bestie π this was extrepo from the User Contributed Perl Documentation, perl v5.40.1, dated 2026-02-17 β thank you for coming to my TED talk, go enable something responsibly, mwah πβ¨π¦
π¦ where this page comes from
- ubuntu resolute: extrepo 0.15 Β· GPL-2.0-or-later
- ubuntu stonking: extrepo 0.15 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms