dpkg-divert(1)

NOM
dpkg-divert - Remplacer la version d'un fichier contenu dans un paquet.

SYNOPSIS
dpkg-divert [option...] commande

DESCRIPTION
dpkg-divert sert à créer et à mettre à jour la liste des détournements.

Le détournement de fichier est un moyen d'obliger dpkg(1) à installer un fichier non pas dans l'emplacement prévu mais dans un autre. Les scripts des paquets Debian se servent du détournement pour déplacer les fichiers qui créent des conflits. Les administrateurs s'en servent, lors de l'installation d'une version plus récente d'un paquet, pour remplacer les fichiers de configuration de certains paquets ou bien à chaque fois que des fichiers (qui ne sont pas des « conffiles ») doivent être préservés par dpkg.

COMMANDES

[--add] fichier
    Ajoute un détournement pour fichier. Le fichier n'est pas renommé actuellement, voir --rename.

--remove fichier
    Supprime un détournement pour fichier. Le fichier n'est pas renommé actuellement, voir --rename.

--list [motif-global]
    Liste tous les détournements, ou ceux qui correspondent à motif-global.

--listpackage fichier
    Affiche le nom du paquet qui détourne fichier (depuis dpkg 1.15.0). Affiche LOCAL si fichier est détourné localement et n'affiche rien si fichier n'est pas détourné.

--truename fichier
    Affiche le vrai nom d'un fichier détourné.

OPTIONS

--admindir répertoire
    Définit le répertoire d'administration comme répertoire. Par défaut c'est « /var/lib/dpkg » si DPKG_ADMINDIR n'a pas été défini.

--instdir répertoire
    Définit le répertoire d'installation qui désigne le répertoire où les paquets sont installés (depuis dpkg 1.19.2). Par défaut c'est « / » si DPKG_ROOT n'a pas été défini.

--root répertoire
    Définit le répertoire root à directory, ce qui définit le répertoire d'installation à « répertoire » et le répertoire d'administration à « répertoire/var/lib/dpkg » (depuis dpkg 1.19.2) si DPKG_ROOT n'a pas été défini.

--divert détourner-dans
    détourner-dans est l'emplacement vers lequel les versions de fichier, tel qu'il est donné par d'autres paquets, seront détournées.

--local
    Indique que toutes les versions de ce fichier sont détournées. Cela signifie qu'il n'y a pas d'exception et quel que soit le paquet installé, ce fichier sera détourné. Un administrateur peut par exemple installer une version modifiée localement.

--package paquet
    paquet est le nom du paquet dont la copie de fichier ne sera pas détournée. Autrement dit, fichier sera détourné sauf s'il appartient à paquet.

--quiet
    Mode silencieux, pas de bavardage.

--rename
    Met en fait le fichier de côté. Quand le fichier de destination existe, dpkg-divert interrompt l'opération. C'est le comportement courant utilisé pour les détournements de fichiers à partir de l'ensemble de paquets non-Essential (voir --no-rename pour plus de détails).

--no-rename
    Indique que le fichier ne doit pas être renommé lors de l'ajout ou du retrait d'un détournement de la base de données (depuis dpkg 1.19.1). Cela est destiné au détournement de fichiers de l'ensemble de paquets essential, où la disparition temporaire du fichier original n'est pas acceptable, car il rend non fonctionnel le système. C'est le comportement par défaut, mais cela changera durant le cycle de dpkg 1.20.x.

--test
    Mode de test, ne modifie rien réellement, montre seulement.

-?, --help
    Afficher un message d'aide puis quitter.

--version
    Afficher le numéro de version puis quitter.

CODE DE SORTIE

0   L'action demandée s'est correctement déroulée.

2   Erreur fatale ou irrécupérable due à l'utilisation d'une ligne de commande non valable, ou interactions avec le système, telles que des accès à la base de données, des allocations de mémoire, etc.

ENVIRONNEMENT

DPKG_ROOT
    Si cette variable est positionnée et que les options --admindir ou --root ne sont pas précisées, ce répertoire sera utilisé comme répertoire racine du système de fichiers (depuis dpkg 1.19.2).

DPKG_ADMINDIR
    Si cette variable est positionnée et que les options --admindir ou --root ne sont pas précisées, ce répertoire sera utilisé comme répertoire de données pour dpkg.

DPKG_MAINTSCRIPT_PACKAGE
    Si cette variable est positionnée et que les options --local et --package ne le sont pas, dpkg-divert en utilisera la valeur comme nom de paquet.

DPKG_DEBUG
    Définit le masque de débogage (depuis dpkg 1.21.10) à partir d'une valeur octale. Actuellement, les drapeaux acceptés sont décrits dans l'option dpkg --debug, mais ces drapeaux n'auront pas tous un effet sur ce programme.

DPKG_COLORS
    Définit le mode de couleur (depuis dpkg 1.18.5). Les valeurs actuellement acceptées sont auto (par défaut), always et never.

FICHIERS

/var/lib/dpkg/diversions
    Ce fichier contient la liste des détournements en œuvre sur le système. Il se trouve dans le répertoire d'administration de dpkg, avec d'autres fichiers importants comme status ou available.

    Note : dpkg-divert préserve l'ancienne copie de ce fichier, avec l'extension -old, avant de la remplacer par la nouvelle.

NOTES
Pour l'ajout, le défaut est --local et --divert original.distrib. Pour la suppression, --package ou --local et --divert doivent correspondre quand ils sont précisés.

On ne peut pas détourner des répertoires avec dpkg-divert.

Il faut faire attention quand une bibliothèque partagée est détournée. ldconfig(8) crée un lien symbolique à partir du champ DT_SONAME embarqué dans la bibliothèque. ldconfig ne connaît pas les détournements (seul dpkg le fait), et si une bibliothèque détournée possède le même SONAME que la bibliothèque non détournée, le lien symbolique peut pointer en fin de compte sur la bibliothèque détournée.

EXEMPLES
Pour détourner toutes les copies de /usr/bin/example vers /usr/bin/example.toto, c'est-à-dire demander aux paquets qui fournissent /usr/bin/example de l'installer dans /usr/bin/example.toto, en effectuant le changement de nom si nécessaire :

 dpkg-divert --divert /usr/bin/example.toto --rename /usr/bin/example

Pour supprimer ce détournement :

 dpkg-divert --rename --remove /usr/bin/example

Pour détourner n'importe quel paquet qui veut installer /usr/bin/example dans /usr/bin/example.toto, sauf votre propre paquet wibble :

 dpkg-divert --package wibble --divert /usr/bin/example.toto \
    --rename /usr/bin/example

Pour supprimer ce détournement :

 dpkg-divert --package wibble --rename --remove /usr/bin/example

VOIR AUSSI
dpkg(1).

TRADUCTION
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.