reprepro (1) Linux Manual Page
NAME
reprepro – produce, manage and sync a local repository of Debian packages
SYNOPSIS
reprepro –help
reprepro [ options ] command [ per-command-arguments ]
DESCRIPTION
reprepro is a tool to manage a repository of Debian packages (.deb, .udeb, .dsc, …). It stores files either being injected manually or downloaded from some other repository (partially) mirrored into a pool/ hierarchy. Managed packages and checksums of files are stored in a Berkeley DB database file, so no database server is needed. Checking signatures of mirrored repositories and creating signatures of the generated Package indices is supported.
Former working title of this program was mirrorer.
GLOBAL OPTIONS
Options can be specified before the command. Each affects a different subset of commands and is ignored by other commands.
-h –help- Displays a short list of options and commands with description.
-v, -V, –verbose- Be more verbose. Can be applied multiple times. One uppercase
-Vcounts as five lowercase-v. –silent- Be less verbose. Can be applied multiple times. One
-vand one-scancel each other out. -f, –force- This option is ignored, as it no longer exists.
-b, –basedirbasedir- Sets the base-dir all other default directories are relative to. If none is supplied and the
REPREPRO_BASE_DIRenvironment variable is not set either, the current directory will be used. –outdiroutdir- Sets the base-dir of the repository to manage, i.e. where the
pool/subdirectory resides. And in which thedists/directory is placed by default. If this starts with ‘+b/‘, it is relative to basedir.The default for this is basedir.
–confdirconfdir- Sets the directory where the configuration is searched in.
If this starts with ‘
+b/‘, it is relative to basedir.If none is given,
+b/conf(i.e. basedir/conf) will be used. –distdirdistdir- Sets the directory to generate index files relatively to. (i.e. things like Packages.gz, Sources.gz and Release.gpg)
If this starts with ‘
+b/‘, it is relative to basedir, if starting with ‘+o/‘ relative to outdir.If none is given,
+o/dists(i.e. outdir/dists) is used.Note:apt hasdistshard-coded in it, so this is mostly only useful for testing or when your webserver pretends another directory structure than your physical layout.Warning:Beware when changing this forth and back between two values not ending in the same directory. Reprepro only looks if files it wants are there. If nothing of the content changed and there is a file it will not touch it, assuming it is the one it wrote last time, assuming any different–distdirended in the same directory. So either clean a directory before setting–distdirto it or do anexportwith the new one first to have a consistent state. –logdirlogdir- The directory where files generated by the
Log:directive are stored if they have no absolute path.If this starts with ‘
+b/‘, it is relative to basedir, if starting with ‘+o/‘ relative to outdir, with ‘+c/‘ relative to confdir.If none is given,
+b/logs(i.e. basedir/logs) is used. –dbdirdbdir- Sets the directory where reprepro keeps its databases.
If this starts with ‘
+b/‘, it is relative to basedir, if starting with ‘+o/‘ relative to outdir, with ‘+c/‘ relative to confdir.If none is given,
+b/db(i.e. basedir/db) is used.Note:This is permanent data, no cache. One has almost to regenerate the whole repository when this is lost. –listdirlistdir- Sets the directory where downloads it downloads indices to when importing from other repositories. This is temporary data and can be safely deleted when not in an update run.
If this starts with ‘
+b/‘, it is relative to basedir, if starting with ‘+o/‘ relative to outdir, with ‘+c/‘ relative to confdir.If none is given,
+b/lists(i.e. basedir/lists) is used. –morguedirmorguedir- Files deleted from the pool are stored into morguedir.
If this starts with ‘
+b/‘, it is relative to basedir, if starting with ‘+o/‘ relative to outdir, with ‘+c/‘ relative to confdir.If none is given, deleted files are just deleted.
–methoddirmethoddir- Look in methoddir instead of
/usr/lib/apt/methodsfor methods to call when importing from other repositories. -C, –componentcomponents- Limit the specified command to this components only. This will force added packages to this components, limit removing packages from this components, only list packages in this components, and/or otherwise only look at packages in this components, depending on the command in question.
Multiple components are specified by separating them with
|, as in-C ‘main|contrib’. -A, –architecturearchitectures- Limit the specified command to this architectures only. (i.e. only list such packages, only remove packages from the specified architectures, or otherwise only look at/act on this architectures depending on the specific command).
Multiple architectures are specified by separating them with
|, as in-A ‘sparc|i386’.Note that architecture
allpackages can be included to each architecture but are then handled separately. Thus by using-Ain a specific way one can have different versions of an architectureallpackage in different architectures of the same distribution. -T, –typedsc|deb|udeb- Limit the specified command to this packagetypes only. (i.e. only list such packages, only remove such packages, only include such packages, …)
-S, –sectionsection- Overrides the section of inclusions. (Also override possible override files)
-P, –prioritypriority- Overrides the priority of inclusions. (Also override possible override files)
–export=(never|changed|lookedat|force)- This option specify whether and how the high level actions (e.g. install, update, pull, delete) should export the index files of the distributions they work with.
–export=lookedat- In this mode every distribution the action handled will be exported, unless there was an error possibly corrupting it.
Note that only missing files and files whose intended content changed between before and after the action will be written. To get a guaranteed current export, use theexportaction.
For backwards compatibility,lookedatis also available under the old namenormal. The namenormalis deprecated and will be removed in future versions. –export=changed- In this mode every distribution actually changed will be exported, unless there was an error possibly corrupting it. (i.e. if nothing changed, not even missing files will be created.)
Note that only missing files and files whose intended content changed between before and after the action will be written. To get a guaranteed current export, use theexportaction. –export=force- Always export all distributions looked at, even if there was some error possibly bringing it into a inconsistent state.
–export=never- No index files are exported. You will have to call
exportlater.
Note that you most likely additionally need the–keepunreferencedfilesoption, if you do not want some of the files pointed to by the untouched index files to vanish. –ignore=what- Ignore errors of type what. See the section
ERROR IGNORINGfor possible values. –nolistsdownload- When running
update,checkupdateorpredeletedo not download any Release or index files. This is hardly useful except when you just run one of those command for the same distributions. And even then reprepro is usually good in not downloading exceptReleaseandRelease.gpgfiles again. –nothingiserror- If nothing was done, return with exitcode 1 instead of the usual 0.
Note that "nothing was done" means the primary purpose of the action in question. Auxillary actions (opening and closeing the database, exporting missing files with –export=lookedat, …) usually do not count. Also note that this is not very well tested. If you find an action that claims to have done something in some cases where you think it should not, please let me know.
–keeptemporaries- Do not delete temporary
.newfiles when exporting a distribution fails. (reprepro first create.newfiles in thedistsdirectory and only if everything is generated, all files are put into their final place at once. If this option is not specified and something fails, all are deleted to keepdistsclean). –keepunreferencedfiles- Do not delete files that are no longer used because the package they are from is deleted/replaced with a newer version from the last distribution it was in.
–keepunusednewfiles- The include, includedsc, includedeb and processincoming by default delete any file they added to the pool that is not marked used at the end of the operation. While this keeps the pool clean and allows changing before trying to add again, this needs copying and checksum calculation every time one tries to add a file.
–keepdirectories- Do not try to rmdir parent directories after files or directories have been removed from them. (Do this if your directories have special permissions you want keep, do not want to be pestered with warnings about errors to remove them, or have a buggy rmdir call deleting non-empty directories.)
–ask-passphrase- Ask for passphrases when signing things and one is needed. This is a quick and dirty implementation using the obsolete
getpass(3)function with the description gpgme is supplying. So the prompt will look quite funny and support for passphrases with more than 8 characters depend on your libc. I suggest using gpg-agent or something like that instead. –noskipold- When updating do not skip targets where no new index files and no files marked as already processed are available.
If you changed a script to preprocess downloaded index files or changed a Listfilter, you most likely want to call reprepro with –noskipold.
–waitforlockcount- If there is a lockfile indicating another instance of reprepro is currently using the database, retry count times after waiting for 10 seconds each time. The default is 0 and means to error out instantly.
–spacecheck full|none- The default is
full:
In the update commands, check for every to be downloaded file which filesystem it is on and how much space is left.
To disable this behaviour, usenone. –dbsafetymarginbytes-count- If checking for free space, reserve byte-count bytes on the filesystem containing the
db/directory. The default is 104857600 (i.e. 100MB), which is quite large. But as there is no way to know in advance how large the databases will grow and libdb is extremely touchy in that regard, lower only when you know what you do. –safetymarginbytes-count- If checking for free space, reserve byte-count bytes on filesystems not containing the
db/directory. The default is 1048576 (i.e. 1MB). –noguessgpgtty- Don’t set the environment variable
GPG_TTY, even when it is not set, stdin is terminal and/proc/self/fd/0is a readable symbolic link. –gnupghome- Set the
GNUPGHOMEevnironment variable to the given directory as argument to this option. And your gpg will most likely use the content of this variable instead of "~/.gnupg". Take a look atgpg(1) to be sure. This option in the command line is usually not very useful, as it is possible to set the environment variable directly. Its main reason for existance is that it can be used in conf/options. –gunzipgz-uncompressor- While reprepro links against
libz, it will look for the program given with this option (orgunzipif not given) and use that when uncompressing index files while downloading from remote repositories. (So that downloading and uncompression can happen at the same time). If the program is not found or isNONE(all-uppercase) then uncompressing will always be done using the built in uncompression method. The program has to accept the compressed file as stdin and write the uncompressed file into stdout. –bunzip2bz2-uncompressor- When uncompressing downloaded index files or when not linked against
libbz2reprepro will use this program to uncompress.bz2files. The default value isbunzip2. If the program is not found or isNONE(all-uppercase) then uncompressing will always be done using the built in uncompression method or not be possible when not linked againstlibbz2. The program has to accept the compressed file as stdin and write the uncompressed file into stdout. –unlzmalzma-uncompressor- When trying to uncompress or read lzma compressed files, this program will be used. The default value is
unlzma. If the program is not found or isNONE(all-uppercase) then uncompressing lzma files will not be possible. The program has to accept the compressed file as stdin and write the uncompressed file into stdout. –unxzxz-uncompressor- When trying to uncompress or read xz compressed files, this program will be used. The default value is
unxz. If the program is not found or isNONE(all-uppercase) then uncompressing xz files will not be possible. The program has to accept the compressed file as stdin and write the uncompressed file into stdout. –lunziplzip-uncompressor- When trying to uncompress or read lzip compressed files, this program will be used. The default value is
lunzip. If the program is not found or isNONE(all-uppercase) then uncompressing lz files will not be possible. The program has to accept the compressed file as stdin and write the uncompressed file into stdout. –list-maxcount- Limits the output of
list,listmatchedandlistfilterto the first count results. The default is 0, which means unlimited. –list-skipcount- Omitts the first count results from the output of
list,listmatchedandlistfilter. –list-formatformat- Set the output format of
list,listmatchedandlistfiltercommands. The format is similar to dpkg-query’s–showformat: fields are specified as${fieldname}or${fieldname;length}. Zero length or no length means unlimited. Positive numbers mean fill with spaces right, negative fill with spaces left.,
,
,
