---
name: "dpkg-scanpackages"
section: "8"
platform: "linux"
package: "dpkg-multicd"
version: "0.19"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/dpkg-scanpackages/8"
---

# dpkg-scanpackages(8)

create Packages files

## NAME

dpkg-scanpackages - create Packages files

## SYNOPSIS

**dpkg-scanpackages** \[**-m *medium***\] *binarydir* *overridefile* \[*pathprefix*\] **\>** *Packages*

## DESCRIPTION

**dpkg-scanpackages** sorts through a tree of Debian binary packages and creates a Packages file, used by [**dselect**(8)](/dselect/8.md) to tell the user what packages are available for installation.  These Packages files are the same as those found on Debian archive sites and CD-ROMs.  You might use **dpkg-scanpackages** yourself if making a directory of local packages to install on a cluster of machines.

\[**-m *medium***\] has to be used if you plan to create a set of multiple binary CD-ROMs.

*binarydir* is the name of the binary tree to process (for example, **contrib/binary-i386**). It is best to make this relative to the root of the Debian archive, because every Filename field in the new Packages file will start with this string.

*overridefile* is the name of a file to read which contains information about how the package fits into the distribution; see below.  This file may be compressed with [**gzip**(1)](/gzip/1.md) like it is found in the */pub/debian/indices/* directory on the Debian FTP archive.

*pathprefix* is an optional string to be prepended to the Filename fields.

## THE OVERRIDE FILE

While most information about a package can be found in the control file, some must be filled in by the distribution czars rather than by the maintainer, because they relate to the arrangement of files for release rather than the actual dependencies and description of the package. This information is found in the override file.

The override file has a simple whitespace-delimited format.  Comments are allowed (denoted with a **#**).

*package* *priority* *section* \[*maintainerinfo*\]

*package* is the name of the package.  Entries in the override file for packages not found in the binary tree are ignored.

*priority* and *section* place the package within the release tree; these ought not to be found in the control file.  If the package is found in a subdirectory of *binarydir*, that will be checked against *section*.

*maintainerinfo*, if present, can be either the name of a maintainer for an unconditional override, or else *oldmaintainer* **=\>** *newmaintainer* to perform a substitution.

The override files used to make the official Packages lists may be found in the *indices* directory on any Debian mirror.

## DIAGNOSTICS

**dpkg-scanpackages** outputs the usual self-explanatory errors.  It also warns about packages that are in the wrong subdirectory, are duplicated, have a Filename field in their control file, are missing from the override file, or have maintainer substitutions which do not take effect.

## SEE ALSO

[**dpkg**(8)](/dpkg/8.md), [**dselect**(8)](/dselect/8.md), */usr/share/doc/multicd/readme.txt.gz.*
