Управление пакетами
   3332

Что делать с файлами .conf.pacnew

При обновлении системы pacman иногда (нечасто) предупреждает о том что конфигурационный файл "ххх.conf" устанавливается как "xхх.conf.pacnew"
Типа такого:
Управление пакетами: Что делать с файлами .conf.pacnew

Это означает что файл "ххх.conf" изменился со времени установки прошлой версии пакета "ххх" и pacman не рискует заменять его новой версией. Мало ли, вдруг пользователь специально изменил его? так что заменять не следует, но новую версию файла конфигурации следует записать рядом, с добавлением к имени ".pacnew"
Весь этот механизм подробно описан в Арчвики.

Возникает вопрос: что теперь с этими файлами делать? В большинстве случаев- ничего, все работает и так.
Да и не так часто это происходит. У меня на машине за год накопилось около десятка таких пар конфигов.
Проверить, сколько их у Вас на машине, можно командой
yaourt -C
и здесь же можно принять решение что делать с этими файлами. И даже просмотреть и отредактировать их в интерактивном режиме. Но это консоль, и придется работать с «великим и ужасным» vim.

Вообще, самое лучшее, что можно сделать с этими файлами- аккуратно слить вместе старую и новую версии.
Для сравнения файлов в *nix есть команда diff, а конкретно в pacman'e именно для этой задачи- скрипт pacdiff. Он ищет все файлы .pacnew, .pacorig и .pacsave и спрашивает Вас что с ними сделать. По умолчанию он тоже работает с vim, но есть способ заставить его работать с любым графическим редактором.

Работать с vim — многим непривычно. Или некомфортно.
Выход есть — для этих задач существуют специальные графические инструменты, например Kompare, diffuse и meld.
Вот такие:
Управление пакетами: Что делать с файлами .conf.pacnew Управление пакетами: Что делать с файлами .conf.pacnew Управление пакетами: Что делать с файлами .conf.pacnew

чтобы из скрипта pacdiff для просмотра, сравнения и редактирования пар файлов запускался, например, diffuse — нужно в терминале дать команду
sudo DIFFPROG=diffuse pacdiff

Далее- уже просто. Скрипт находит в папке /etc первую пару конфигов, предлагает на выбор несколько вариантов действий. Выбираете «Просмотреть», запускается редактор, где оба файла представлены рядом друг с другом, отличия в тексте уже размечены разноцветной заливкой. В визивиг-режиме вносите в .conf-файл изменения из файла .conf.pacnew, сохраняете его, закрываете редактор. Скрипт снова спрашивает, что делать. Удаляете файл .conf.pacnew, скрипт переходит к следующей паре конфигов. И так для всех найденных пар файлов.
С файлами .pacorig и .pacsave еще проще- это по сути обычные бекапы. На работу системы они никак не влияют, так что можно не обращать на них внимания пока не понадобятся.

Всё это баловство, конечно. Хотя я при правке конфигов пару ошибок там обнаружил и исправил, так что для понимания всё же полезно…
А рано или поздно если не консольный pacman, так графический pamac научится это делать автоматически. Ну, или полуавтоматически. :)
?
Правильные ответы начинаются с правильных вопросов.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.