.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "EXTREPO 1p" .TH EXTREPO 1p "2024-01-07" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" extrepo \- manage external Debian repositories .SH "SYNOPSIS" .IX Header "SYNOPSIS" extrepo search \fIsearch_key\fR .PP extrepo enable \fIrepository_name\fR .PP extrepo disable \fIrepository_name\fR .PP extrepo update \fIrepository_name\fR .SH "DESCRIPTION" .IX Header "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. .PP 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 \f(CW\*(C`extrepo search\*(C'\fR, and manage them through \&\f(CW\*(C`extrepo enable\*(C'\fR, \f(CW\*(C`extrepo disable\*(C'\fR, or \f(CW\*(C`extrepo update\*(C'\fR. .PP 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. .SH "OPTIONS" .IX Header "OPTIONS" .SS "\-\-url" .IX Subsection "--url" Specifies the \s-1URL\s0 from which extrepo will fetch the data for all repositories it manages. This makes it possible to use your own extrepo data server. .PP 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 \s-1GPG\s0 key infrastructure. .SS "\-\-offlinedata" .IX Subsection "--offlinedata" Equivalent to \-\-url file:///usr/share/extrepo/offline\-data. Makes it possible to use the extrepo data from the extrepo-offline-data package. .SS "\-\-mirror" .IX Subsection "--mirror" Overrides the \s-1URL\s0 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 \s-1GPG\s0 authentication that is provided by extrepo. .SS "\-\-tor" .IX Subsection "--tor" Define the tor mode. This can be one of the following options .IP "onion" 4 .IX Item "onion" When this option is selected, extrepo will try to use a .onion \s-1URL\s0 that is specified in the extrepo metadata. If no such \s-1URL\s0 is specified, extrepo will exit with an error message. Note that not all repositories in the extrepo metadata have a .onion \s-1URL\s0 set, because not all repositories even have a .onion \s-1URL\s0 assigned. .IP "tunnel" 4 .IX Item "tunnel" When this option is selected, extrepo will prepend \*(L"tor+\*(R" 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 \&\s-1URL\s0 exists in the extrepo metadata. .IP "auto" 4 .IX Item "auto" When this option is selected, extrepo will use a .onion \s-1URL\s0 if one is specified in the extrepo metadata, as though the \f(CW\*(C`onion\*(C'\fR option were selected. If no such \s-1URL\s0 is specified, extrepo will instead prepend \&\*(L"tor+\*(R" to the regular \s-1URL\s0 in the extrepo metadata, as if \f(CW\*(C`tunnel\*(C'\fR were selected. .IP "if-onion" 4 .IX Item "if-onion" When this option is selected, extrepo will use a .onion \s-1URL\s0 if one is specified in the extrepo metadata, as though the \f(CW\*(C`onion\*(C'\fR option were selected. If no such \s-1URL\s0 is specified, extrepo will instead use the regular \s-1URL\s0 without any tor configuration, as if \f(CW\*(C`off\*(C'\fR were selected. .IP "off (or not specified)" 4 .IX Item "off (or not specified)" When this option is selected, no tor configuration will be written by extrepo. This is the default. .PP It is possible to set a default other than \f(CW\*(C`off\*(C'\fR by adding a line to \&\f(CW\*(C`/etc/extrepo/config.yaml\*(C'\fR; e.g., .PP .Vb 1 \& tor: auto .Ve .PP sets the default to \*(L"auto\*(R". .PP It goes without saying that all the arguments for this option except \&\*(L"off\*(R" require the apt-transport-tor package to be installed. .SH "SUBCOMMANDS" .IX Header "SUBCOMMANDS" .SS "search \fIkey\fP" .IX Subsection "search key" Searches for a repository where the given argument \fIkey\fR (a regular expression) matches either the name of the repository, its description, or the \s-1URL\s0 of the repository in question. The full \s-1YAML\s0 configuration of all repositories that have a match are printed to standard output. .PP To search for all repositories, don't provide any search key. .SS "enable \fIrepository_name\fP" .IX Subsection "enable repository_name" Enable the repository named \fIrepository_name\fR. .PP There are two cases for this command: .IP "\(bu" 4 If the repository had not yet been created before, this creates its configuration from the current metadata. .IP "\(bu" 4 If the repository had been created before but disabled by way of the \&\f(CW\*(C`extrepo disable\*(C'\fR command, re-enable it \fIwithout\fR updating the metadata. If you want to update it, see the \f(CW\*(C`extrepo update\*(C'\fR command. .Sp If \-\-mirror is used, the \s-1URI\s0 of the repository to re-enable will also be updated. .SS "disable \fIrepository_name\fP" .IX Subsection "disable repository_name" This simply adds a line \*(L"Enabled: no\*(R" to the apt configuration file, so that the repository is not enabled. It can be re-enabled by changing the line to \*(L"Enabled: yes\*(R" (or removing it entirely), or by way of the \&\f(CW\*(C`extrepo enable\*(C'\fR command (second case). .SS "update \fIrepository_name\fP" .IX Subsection "update repository_name" Re-writes the apt configuration file for this repository, as well as the \&\s-1GPG\s0 keyring for it, from the current metadata. .SH "FILES" .IX Header "FILES" /etc/extrepo/config.yaml Extrepo configuration file. .SH "SEE ALSO" .IX Header "SEE ALSO" for instructions on adding your own repository .SH "AUTHOR" .IX Header "AUTHOR" Wouter Verhelst