Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

Planet Libre  -  Raphaël Hertzog : Tout ce qu’il faut savoir sur les conffiles: les fichiers de configuration gérés par dpkg

 -  Décembre 2010 - 

La charte Debian enjoint chaque mainteneur de paquet à conserver, lors des mises à jour, les modifications des fichiers de configuration effectuées par l’utilisateur. Cet article a pour but de présenter la manière dont la plupart des paquets accomplissent cette tâche. Il s’agit d’un sujet critique pour quiconque est amené à gérer des mises à jour, avec en ligne de mire une automatisation aisée du processus et une réduction des effets de bord !

Comment dpkg gère les fichiers de configuration

La plupart des paquets se basent sur dpkg pour installer correctement leurs fichiers de configuration. Dpkg garde une somme de contrôle de la version originale de chaque fichier de configuration, de sorte qu’à chaque mise-à-jour la comparaison entre la somme de contrôle originale et celle du fichier de configuration actuel suffit à savoir si l’utilisateur y a apporté des modifications, ou non. Si tel est le cas — les sommes de contrôle sont alors différentes — le remplacement du fichier de configuration est intercepté et le système demande à l’utilisateur quoi faire. Vous avez probablement déjà croisé ces quelques lignes :

Fichier de configuration "/etc/bash.bashrc"
 ==> Modifié (par vous ou par un script) depuis l'installation.
 ==> Le mainteneur du paquet a envoyé une version mise à jour.
   Que voulez-vous faire ? Les options sont les suivantes
    Y or I  : installer la version du responsable de paquet
    N or O  : garder votre version actuellement installée
      D     : afficher les différences entre les versions
      Z     : suspendre ce processus pour examiner la situation
 L'action par défaut garde votre version actuelle.
*** bash.bashrc (Y/I/N/O/D/Z) [défaut=N] ?

Dans l’exemple précédent, la réponse « Y » (« Yes ») ou « I » (« Install ») entraînera l’installation de la version mise à jour de /etc/bash.bashrc, ainsi que la sauvegarde de la version actuelle sous le nom de /etc/bash.bashrc.dpkg-old. Dans le cas inverse (option « N » (« No ») ou « O » (« Old »)), dpkg laissera au contraire la version actuelle de /etc/bash.bashrc intacte, tandis que la nouvelle version sera sauvegardée dans le fichier /etc/bash.bashrc.dpkg-dist. Les deux options restantes permettent de suspendre la mise à jour, le temps d’examiner la situation. Dans le cas où vous décidez de lancer un terminal (« Z »), la nouvelle version est alors disponible en tant que /etc/bash.bashrc.dpkg-new (les variables d’environnement — apparues avec Squeeze — $DPKG_CONFFILE_OLD et $DPKG_CONFFILE_NEW permettant de créer un script de comparaison « maison »).

Le nom de « conffiles » donné aux fichiers de configuration traités par dpkg leur vient du nom du champ dans lequel ils sont enregistrés dans la base de données dpkg. L’option --status permet d’afficher la liste des conffiles pour n’importe quel paquet :

$ dpkg --status bash
[...]
Conffiles:
 /etc/skel/.profile ecb6d3479ac3823f1da7f314d871989b
 /etc/skel/.bashrc 2afdd6c53990f2387a7ef9989af0bc07
 /etc/skel/.bash_logout 22bfb8c1dd94b5f3813a2b25da67463f
 /etc/bash.bashrc 5b3c3bc73d236e4e1b6f9b6c1ed5964e
[...]

La commande « dpkg-query --showformat='${Conffiles}\\n' --show bash » vous permet de restreindre la sortie à cette information uniquement. Les 32 caractères à droite de chaque chemin d’accès correspondent à la somme de contrôle MD5 du fichier de configuration original correspondant.

Éviter l’indécision due aux fichiers de configuration

Chaque fois que dpkg se trouvera dans la situation de devoir installer un fichier de configuration dont vous aurez modifié la version précédente (ou supprimé, ce qui n’est qu’un cas particulier de la modification pour dpkg), il suspendra le processus dans l’attente d’une décision de votre part. Ce qui peut-être particulièrement ennuyeux lors de mises à jour conséquentes. Pour parer à de telles situations, le comportement de dpkg peut être prédéterminé à l’aide des options --force-conf* :

  • --force-confold: la version actuelle est systématiquement conservée, la nouvelle étant installée avec le suffixe .dpkg-dist. Cette option passée seule entraîne également le non-remplacement des anciens fichiers de configuration que vous n’avez pas modifiés. L’option --force-confdef doit être également passée pour que ces derniers soient remplacés.
  • --force-confnew: installer systématiquement la nouvelle version du fichier, l’ancienne étant conservée avec le suffixe .dpkg-old.
  • --force-confdef: comportement standard de dpkg, à savoir décider seul si possible et demander à l’utilisateur sinon. Utile principalement en combinaison avec l’option --force-confold.
  • --force-confmiss: avec cette option, dpkg installera le fichier de configuration s’il n’est pas présent sur le système (par exemple parce que vous l’avez supprimé par erreur).

Ces options peuvent être passées à dpkg lors de l’utilisation d’Apt, grâce à une syntaxe similaire à celle ci-dessous :

$ apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade

Ce comportement peut être retenu de manière permanente via la création du fichier /etc/apt/apt.conf.d/local :

Dpkg::Options {
   "--force-confdef";
   "--force-confold";
}

Laisser le choix à l’utilisateur systématiquement

Dpkg ne demandera l’avis de l’utilisateur que dans le cas où le paquet contient une nouvelle version du fichier de configuration. Réinstaller la même version du paquet n’entraînera par conséquent aucune demande, à moins de passer l’option --force-confask. Cette option, apparue dans Squeeze, ne demandera le choix de l’utilisateur que dans le cas de fichiers modifiés localement.

Cet article est une traduction de Everything you need to know about conffiles: configuration files managed by dpkg contribuée par Weierstrass01. Ne manquez pas une occasion de parfaire vos connaissances de Debian ou Ubuntu, abonnez-vous à ma newsletter en cliquant ici.

Aucun commentaire pour le moment | Vous avez aimé ? Cliquez ici. | Ce blog utilise Flattr.

Gravatar de Raphaël Hertzog
Original post of Raphaël Hertzog.
Votez pour ce billet sur Planet Libre.

par Raphaël Hertzog

Planet Libre

Le Planet sur Linux et les Logiciels Libres

Mathias : Enregistrement DNS de type CAA

 -  Mai 2021 - 

IntroductionDéfini en 2013 par la RFC6844, le CAA est un type d’enregistrement DNS qui permet aux propriétaires de sites de préciser quelles (...)


genma : Nextcloud - Suppression des fichiers fournis par défaut dans le dossier utilisateur

 -  Avril 2021 - 

Des fichiers par défautVous pouvez fournir à vos nouveaux utilisateurs un ensemble de fichiers par défaut qui apparaîtront dans leur Nextcloud (...)


genma : Nextcloud et l'accessibilité 1/ ?

 -  Mars 2021 - 

J'ai écrit quelques billets de blog sur le sujet de l'accessibilité au cours des années et ce sujet, même si j'en parle peu, me tient à coeur. C'est (...)


antistress : Mon nouveau téléphone : Samsung Galaxy S5 sous LineageOS

 -  Février 2021 - 

Tout d'abord il me faut indiquer quels usages je fais de mon téléphone.J'utilise surtout les fonctions SMS et MMS, appareil photo et voix – dans (...)


Carl Chenet : Le télétravail, c’est pas que pour la pandémie !

 -  Février 2021 - 

Ton chef rage en mode “c’était mieux avant”, tu le vois continuer à organiser des réunions-fleuve où personne ne répond. Le reste du temps (et pendant (...)