---
name: "dh_installnss"
section: "1"
platform: "linux"
package: "dh-nss"
version: "1.7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dh_installnss"
---

# dh\_installnss(1)

enable NSS services

## NAME

dh\_installnss - enable NSS services

## SYNOPSIS

**dh\_installnss** \[*debhelper options*\]

## DESCRIPTION

**dh\_installnss** is a debhelper program that is responsible for injecting NSS (Name Service Switch) services into */etc/nsswitch.conf*.

## FILES

- debian/*package*.nss

  Lists the services to inject into */etc/nsswitch.conf* when a package is configured and to remove when a package is removed or purged.

  Each line in that file (a *directive*) should be of the form

  *db* *position* *service* *action* *condition*

  where the fields contain the following pieces of information:

  - *db*

    The NSS database in which the service will be added. Usually `"hosts"`.

  - *position*

    Where to add the NSS service.

    Possible values are `"first"`, `"last"`, `"before=`*service*`"`, `"after=`*service*`"`, plus the pseudo-positions `"remove-only"`, `"database-add"` and `"database-require"`.

    The pseudo-position `"remove-only"` is used to mark services that are not going to be added during the installation of the package, but that will be removed during its deinstallation (e.g., legacy services).

    The pseudo-position `"database-add"` is used to request the addition of a non-standard NSS database to */etc/nsswitch.conf* during the installation of the package and its removal during the deinstallation of the package. When `"database-add"` is used, all other fields in the directive should be left empty.

    The pseudo-position `"database-require"` is used to announce that one or more services in the *nss* file will be installed under a non-standard NSS database added by another package. When `"database-require"` is used, all other fields in the directive should be left empty.

  - *service*

    The name of the NSS service to add.

  - *action*

    Optional action specification `"[STATE=ACTION]"`.

  - *condition*

    Optional set of conditions to better define when a service should (or should not) be installed.

    Only one kind of condition is currently defined: `"skip-if-present=`*service,service,...*`"`.

  Additionally, text between a `"#"` character and the end of line is ignored.

## EXAMPLES

An example *debian/nss* file could look like this:

```
    hosts before=dns mdns4
    hosts before=mdns4 mdns4_minimal [NOTFOUND=return]
    hosts remove-only mdns    # In case the user manually added it
```

After the installation of this package, the original configuration of the **hosts** database in **/etc/nsswitch.conf** will change from:

```
    hosts:    files dns
```

to:

```
    hosts:    files mdns4_minimal [NOTFOUND=return] mdns4 dns
```

## CAVEATS

### Non-standard NSS databases

Directives in a *package.nss* file can reference a non-standard NSS database only if that database has been first declared with a `"database-add"` or `"database-require"` directive in the same file.

Non-standard NSS databases are all databases that are not defined in */etc/nsswitch.conf* as shipped by the package **base-files**.

If a directive references an undeclared non-standard NSS database (e.g., `"somedb"`), **dh\_installnss** will exit with the error message `"Unknown NSS database 'somedb'"`.

A non-standard NSS database can be declared by at most one installed package. In other words, if the directives in the **nss** files of two packages A and B reference the same non-standard NSS database `"somedb"` and both packages can be installed at the same time, one of the following two solutions must be implemented:

- 1\.

  Package A supplies the `"somedb database-add"` directive, package B *Pre-Depend*s on A and uses a `"somedb database-require"` directive.

- 2\.

  The shared package C supplies the `"somedb database-add"` directive, both package A and B *Pre-Depend* on C and use a `"somedb database-require"` directive.

## SEE ALSO

[**debhelper**(7)](/debhelper/7.md)

This program is a debhelper addon.

## AUTHOR

Gioele Barabucci \<gioele@svario.it\>
