DH_INSTALLNSS(1) | User Contributed Perl Documentation | DH_INSTALLNSS(1) |
dh_installnss - enable NSS services
dh_installnss [debhelper options]
dh_installnss is a debhelper program that is responsible for injecting NSS (Name Service Switch) services into /etc/nsswitch.conf.
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:
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.
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.
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
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:
This program is a debhelper addon.
Gioele Barabucci <gioele@svario.it>
2022-11-01 | perl v5.36.0 |