Почему у меня есть файл.rpmnew после обновления?
Я использую yum для обновления своей Fedora. После огромного обновления я получил много .rpmnew
а также .rpmsave
файлы. Я мог понять, изменил ли я эти файлы. Но я уверен, что я не редактировал эти файлы.
Что мне делать с этими файлами? Что будет при следующем обновлении?
Вот образец этих файлов:
/usr/share/texmf-var/fonts/map/dvipdfm/updmap/dvipdfm_dl14.map.rpmnew
/usr/share/texmf-var/fonts/map/dvipdfm/updmap/dvipdfm_dl14.map.rpmsave
Спасибо
2 ответа
Есть два случая:
- Если файл был установлен как часть rpm, это файл конфигурации (т.е. помеченный
%config
тег), вы отредактировали файл после этого, и теперь вы обновляете rpm, после чего новый файл конфигурации (из более новых rpm) заменит ваш старый файл конфигурации (то есть станет активным файлом). Последний будет переименован с.rpmsave
суффикс. - Если файл был установлен как часть rpm, это файл конфигурации noreplace (т.е. помеченный
%config(noreplace)
тегом), вы отредактировали файл после этого и теперь обновляете rpm, тогда ваш старый файл конфигурации останется на месте (т.е. останется активным), а новый файл конфигурации (из более новых rpm) будет скопирован на диск с.rpmnew
суффикс.
Смотрите, например, эту таблицу для всех деталей.
В обоих случаях вы или какая-либо программа отредактировали конфигурационные файлы, и поэтому вы видите .rpmsave
/ .rpmnew
файлы после обновления, потому что rpm будет обновлять файлы конфигурации без уведомления и без файлов резервных копий, если локальный файл не тронут.
После обновления системы рекомендуется проверить файловую систему на наличие этих файлов и убедиться, что правильные файлы конфигурации активны, и, возможно, объединить новое содержимое из файлов.rpmnew с рабочими файлами. Вы можете удалить .rpmsave
а также .rpmnew
файлы, когда вы закончите.
Иногда менеджер пакетов просто запутывается из-за того, что представляет собой измененный файл или нет. Обычно это происходит потому, что какая-то программа внесла изменения (особенно те файлы карт TeX).
Есть два подхода, которые я использую при работе с файлами такого типа, в зависимости от моего настроения, критичности системы и насколько я знаю о рассматриваемом файле:
- После того, как система некоторое время работала нормально, просто удалите те, которые я не распознал как изменившиеся (возможно, опасные, но я предполагаю, что если бы это было что-то действительно важное, я бы заметил это сейчас. Обратите внимание, что я только делаю это в системах с "низкой стоимостью", которые я могу позволить себе потратить некоторое время на исправление, если я заболел);
- Выполните унифицированную разность (
diff -u <current file> <new/save version>
) между различными версиями файла, просмотрите выходные данные и интегрируйте необходимые изменения между версиями, чтобы привести все в порядок, а затем удалите сохраненные / новые файлы, когда меня все устроит. Намного больше работы (хотя небольшие командные сценарии для поиска и различий файлов помогают), но в значительной степени гарантированно ничего не сломает, если я не испорчу слияние.