Forum Linux.debian/ubuntu ne pas écrasez les fichiers de conf d'un package

Posté par  (site web personnel) .
Étiquettes :
0
1
mar.
2005
Bonsoir,

j'ai fais un package debian, pour un programme, qui utilise des fichiers de conf. Ce programme modifie lui même les fichiers de conf, il s'en sert comme mini(mini) database.

Or jusqu'à présent, la liste de ces fichiers (de conf) se trouvait dans debian/conffiles
Problème, à chaque mise à jour, apt-get me demande quelle version je dois garder ?

Dans la doc officiel du mainteneur Debian :
http://www.debian.org/doc/maint-guide/ch-dother.fr.html#s-conffiles(...)
Je cite:
"Si votre programme utilise des fichiers de configuration, mais les réécrit aussi de son côté, il vaut mieux ne pas les marquer comme conffiles, parce que dpkg va alors interroger les utilisateurs pour vérifier les modifications tout le temps."

"Il vaut mieux ne pas les marquer comme conffiles" oui mais quoi alors ?
Comment faut-il faire dans ce cas de figure ??

Merci d'avance.
  • # reportbug.

    Posté par  (site web personnel) . Évalué à -1.

    tu peux faire un rapport de bug mineur demandant de splitter la conf entre plusieur fichiers de conf ... mais je pense qu il serait encore plus propre de demander de passer les conf dependant du package dans /usr, et laisser dans /etc ce que l utilisateur voudra modifier.

    Je sais que /etc signifies EtCeteri, mais il est parfois bon de mettre quelques fichiers de gonf par default dans /usr ...
  • # Plus d'info dans le Policy Manue

    Posté par  . Évalué à 2.

    Le Debian Policy Manual contient plus d'infos à ce sujet.
    cf. http://www.debian.org/doc/debian-policy/ch-files.html#s-config-file(...)

    Les deux cas courants sont les suivants :

    - Le fichier de conf est assez standard, une config par défaut peut être proposée et sera peu modifiée (il peut être personnalisé par l'administrateur au besoin mais on peut très bien l'utiliser tel quel). Dans ce cas on le marque en "confile" et à chaque mise à jour dpkg demande s'il faut conserver l'ancien ou installer le nouveau.

    - Il n'y a pas vraiment de conf par défaut, le fichier pourra (et sera même souvent) lourdement modifié. Dans ce cas ce fichier doit être maintenu par les scripts des paquets. C'est par exemple le cas de XF86Config. Il n'y a pas de config par défaut. Le script est créé de toutes pièces via les scripts et est maintenu par eux. Les scripts ne tentent de mettre à jour le fichier que si sa somme md5 correspond à celle qui a été calculée après l'avoir généré.

    La deuxième solution est beaucoup plus lourde. Il suffit de jetter un oeil aux scripts des paquets XFree. C'est quasiment une appli à eux seuls.
    • [^] # Re: Plus d'info dans le Policy Manue

      Posté par  (site web personnel) . Évalué à 2.

      La 1ère solution empeche toute mise à jour automatique, la 2eme est lourde effectivement .... :-/
      • [^] # Re: Plus d'info dans le Policy Manue

        Posté par  (site web personnel) . Évalué à 2.

        Pourquoi est-ce qu'elle empêcherait toute mise à jour automatique ?
        Tu n'as jamais utilisé debconf ?
        • [^] # Re: Plus d'info dans le Policy Manue

          Posté par  (site web personnel) . Évalué à 2.

          Pour chaque fichier de conf modifié, debconf pose la question si je veux garder ma conf ou mettre celle du mainteneur du paquet.

          Si tu connais un moyen pour qu'il réponde toujours "Y" ou "N" ça m'interresse (quoi que ça reste dangereux...)

          J'ai opté pour la 2eme solution.
          • [^] # Re: Plus d'info dans le Policy Manue

            Posté par  (site web personnel) . Évalué à 3.

            Justement, debconf dispose d'un mode non-interactif.
            En outre, voici ce que conseille Raphaël Hertzog dans son livre[1] à propos de Sarge:

            Pour dpkg, on peut lui passer les options --force-oldconf ou --force-confdef.
            Pour apt, l'option --assume-yes permet de répondre "oui" à chaque question posée.
            Pour debconf, il suffit de le configurer avec l'interface non-interactive, via la commande dpkg-reconfigure debconf.
            Pour le reste, il propose de supprimer l'entrée standart ou d'y brancher un flux continu de retour à la ligne.
            Ce qui nous donne ceci:

            # export DEBIAN_FRONTED=noninteractive
            # yes '' | apt-get -y -o Dpkg::Options::="--force-confdef" \
            -o Dpkg::Options::="--force-confold" dist-upgrade

            [1]: http://www.ouaza.com/livre/admin-debian/(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.