Pourquoi ai-je le file .rpmnew après une mise à jour?

J'utilise yum pour mettre à jour mon Fedora. Après une énorme mise à jour, j'ai eu beaucoup de files .rpmnew et .rpmsave . Je pourrais comprendre si j'avais modifié ces files. Mais je suis sûr que je n'ai pas édité ces files.

Que dois-je faire avec ces files? Que se passera-t-il à la prochaine mise à jour?

Voici un exemple de ces files:

 /usr/share/texmf-var/fonts/map/dvipdfm/updmap/dvipdfm_dl14.map.rpmnew /usr/share/texmf-var/fonts/map/dvipdfm/updmap/dvipdfm_dl14.map.rpmsave 

Merci

Il y a deux cas:

  • Si un file a été installé dans le cadre d'un rpm, il s'agit d'un file de configuration (c.-à-d. Avec la balise %config ), vous avez édité le file par la suite et vous mettez maintenant à jour le rpm puis le nouveau file de configuration (des nouveaux rpm) replacea votre ancien file de configuration (c'est-à-dire devient le file actif). Ce dernier sera renommé avec le suffixe .rpmsave .
  • Si un file a été installé dans le cadre d'un rpm, il s'agit d'un file noreplace-config (c.-à-d. Avec la balise %config(noreplace) ), vous avez édité le file plus tard et vous mettez à jour les rpm, puis votre ancien file de configuration restr actif (c'est-à-dire restr actif) et le nouveau file de configuration (du nouveau rpm) sera copié sur le disque avec le suffixe .rpmnew .

Voir par exemple ce tableau pour tous les détails.

Dans les deux cas, vous ou un programme a modifié les files de configuration et c'est pourquoi vous voyez les files .rpmsave / .rpmnew après la mise à niveau, car rpm met à jour les files de configuration en silence et sans files de sauvegarde si le file local est intact.

Après une mise à niveau du système, il est judicieux de scanner votre système de files pour ces files et de s'assurer que les files de configuration corrects sont actifs et merge les nouveaux contenus des files .rpmnew dans les files de production. Vous pouvez supprimer les files .rpmsave et .rpmnew lorsque vous avez terminé.

Parfois, le gestionnaire de packageages devient un peu confus sur ce qui constitue un file modifié ou non. Habituellement, c'est parce qu'un programme ou l'autre a apporté des modifications (en particulier les files de carte TeX).

Il y a deux approches que j'utilise lorsque je traite ces types de files, en fonction de mon humeur, de la criticité du système et de ce que je connais du file en question:

  1. Après que le système a fonctionné correctement pendant un certain time, supprimez simplement ceux que je ne reconnais pas comme ayant changé (peut-être dangereux, mais je suppose que si c'était quelque chose de vraiment important, j'aurais remarqué maintenant. Notez que je ne le fais que ceci sur les systèmes «de faible valeur» que je peux me permettre de réparer quelque time si j'ai rembourré);
  2. Effectuez un diff unifié ( diff -u <current file> <new/save version> ) entre les différentes versions du file, examinez la sortie et intégrer les changements nécessaires entre les versions pour tout mettre en place, puis supprimez les sauvegarde / nouveaux files lorsque je suis heureux avec les choses. Beaucoup plus de travail (bien que de petits scripts shell pour find et diffuser les files aident) mais à peu près garantis de ne rien casser à less que je ne supporte la fusion.