---
name: "debconf-copydb"
section: "1"
platform: "linux"
package: "debconf"
version: "1.5.91"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/debconf-copydb"
---

# debconf-copydb(1)

copy a debconf database

## NAME

debconf-copydb - copy a debconf database

## SYNOPSIS

```
 debconf-copydb sourcedb destdb [--pattern=pattern] [--owner-pattern=pattern] [--config=Foo:bar]
```

## DESCRIPTION

**debconf-copydb** copies items from an existing debconf database into another, possibly new database. The two databases may have different formats; if so a conversion will automatically be done.

## OPTIONS

- *sourcedb*

  The name of the source database. Typically it will be defined in your debconf.conf (or .debconfrc) file.

- *destdb*

  The name of the destination database. It may be defined in debconf.conf or .debconfrc, or you might define it on the command line (see below).

- **-p** *pattern*, **--pattern** *pattern*

  If this is specified, only items in *sourcedb* whose names match the pattern will be copied.

- **--owner-pattern** *pattern*

  If this is specified, only items in *sourcedb* whose owners match the pattern will be copied.

- **-c** *foo:bar*, **--config** *Foo:bar*

  Set option Foo to bar. This is similar to writing:

  ```
    Foo: bar
  ```

  In debconf.conf, except you probably want to leave off the space on the command line (or quote it: "Foo: bar"). Generally must be used multiple times, to build up a full configuration stanza. While blank lines are used to separate stanzas in debconf.conf, this program will assume that "Name:dbname" denotes the beginning of a new stanza.

## EXAMPLES

```
  debconf-copydb configdb backup
```

Copy all of configdb to backup, assuming you already have the backup database defined in debconf.conf.

```
  debconf-copydb configdb newdb --pattern='^slrn/' \
        --config=Name:newdb --config=Driver:File \
        --config=Filename:newdb.dat
```

Copy slrn's data out of configdb, and into newdb. newdb is not defined in the rc file, so the --config switches set up the database on the fly.

```
  debconf-copydb configdb stdout -c Name:stdout -c Driver:Pipe \
        -c InFd:none --pattern='^foo/'
```

Spit out all the items in the debconf database related to package foo.

```
  debconf-copydb configdb pipe --config=Name:pipe \
                --config=Driver:Pipe --config=InFd:none | \
        ssh remotehost debconf-copydb pipe configdb \
                --config=Name:pipe --config=Driver:Pipe
```

This uses the special purpose pipe driver to copy a database to a remote system.

## SEE ALSO

[**debconf.conf**(5)](/debconf.conf/5.md)

## AUTHOR

Joey Hess \<joeyh@debian.org\>
