Bonjour,
J’ai un CD d’installation preseed (ou simplecdd mais le problème va être le même).
Dans cette installation complètement automatisée, j’ai besoin de remplacer des fichiers de configurations de certains paquets officiels.
Le besoin de les remplacer est tout simplement du au fait qu’il est bien trop difficile de modifier le fichier existant, soit parce qu’il y a trop de choses à modifier, soit parce que sa structure est trop complexe pour le faire et qu’il est plus simple de le remplacer avec la version voulue.
Le nombre de ces fichiers est assez important (en l’état actuel 83 fichiers pour être exact).
J’ai donc créé un package Debian, .deb, pour installer ces fichiers. Étant donné qu’il ne s’agit que de poser des fichiers sans compilation et autres manipulations c’est assez simple à faire, du moins en apparence.
En apparence car quand on veut installer le fichier avec un simple dpkg -i paquet.deb
, il y a un message d’erreur indiquant qu’il y a des ficheirs appartenant à d’autres paquets (comme par exemple dhcpd.conf qui appartient à isc-dhcp-server) et qu’il ne peut pas réaliser l’opération.
Normal et tout à fait compréhensible. Le seul moyen à ce moment pour installer le fichier c’est de faire dpkg -i --force-overwrite paquet.deb
.
A ce moment là, l’opération se réalise avec une information de remplacement du fichier d’un autre paquet.
Seulement, si le paquet d’origine doit être mis à jour, par apt update && apt upgrade
, il y a alors une erreur sur les paquets correspondant aux fichiers remplacés, et l’installation des paquets en question se termine en erreur, parce que le fichier existant n’est plus un fichier du paquet mais celui de mon paquet.
dans mon exemple, le fichier /etc/dhcp/dhcpd.conf
n’appartien plus à isc-dhcp-server mais à monpaquet.deb.
je pense qu’il doit y avoir un problème de checksum ou quelque chose d’approchant quelque part.
Y-a-t-il un moyen de faire en sorte de pouvoir installer les fichier via un paquet .deb unofficial, sans que cela génère ensuite une erreur à la mise à jour du paquet official auquel le fichier modifié correspond?