dpkg-divert - Remplacer la version d'un fichier contenu dans un paquet.
dpkg-divert [
option...]
commande
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.
- [--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é.
-
--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.
- 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.
- 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.
- /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.
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.
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
dpkg(1).
Ariel VARDI <
[email protected]>, 2002. Philippe Batailler, 2006.
Nicolas François, 2006. Veuillez signaler toute erreur à
<
[email protected]>.