Назад | Перейти на главную страницу

Debian - что делать, если при обновлении пакетов в файле конфигурации есть изменения?

Я новичок в системном администрировании и помогаю администрировать сервер студенческой группы. Мне было интересно, что лучше всего использовать, когда вы обновляете пакеты и в файле конфигурации есть изменения. Я смотрел на различия, а затем обычно просто оставлял старую версию, если не похоже, что есть что-то важное, что нужно добавить, и в противном случае слияние файлов конфигурации вручную с помощью kdiff3, но есть ли лучший способ сделать это?

Кроме того, должен ли я сам делать резервную копию старого файла или dpkg автоматически делает резервную копию? Иногда я замечал файлы .old в некоторых каталогах для старых версий файлов конфигурации.

Эта проблема усложняется тем, что, поскольку я новичок в этой группе, я не знаю, почему некоторые изменения такие, какие они есть, но, если сомневаюсь, я отложил до существующей версии.

Кстати, хотелось бы немного конкретики. Например, когда dpkg предлагает вам целиком Y / N / I / O / D / и т. Д., Что вы делаете? Вы делаете резервную копию старого файла, устанавливаете новый и затем объединяете, или есть лучший способ объединить файлы, когда вы находитесь в этой подсказке ncurses?

это кажется разумным способом сделать это. похоже на то, что я делал около 15 лет (использую debian с 1994 года). у меня всегда работало :)

Я начинаю с основного предположения, что если я модифицировал файл конфигурации, то у меня была для этого веская причина, и мои изменения, вероятно, будут лучше / важнее, чем что-либо в новом файле конфигурации по умолчанию.

Затем я проверяю свою конфигурацию и новую упакованную версию, а также:

  1. полностью игнорировать любые различия, потому что они либо не важны, либо не имеют отношения к моей настройке.

  2. объединить все полезное из новой конфигурации в мою существующую.

  3. если есть много нового и только небольшое количество моих изменений, которые я хочу сохранить, я делаю обратное и объединяю свои изменения в новый файл конфигурации, а затем использую его.

Я не использую для этого никаких специализированных инструментов или инструментов с графическим интерфейсом. я просто использую 'diff -u' и less и vi, а также иногда некоторые стандартные инструменты обработки текста, такие как sed или perl. colordiff тоже хорош, когда вывод diff превышает экран или около того.

Только что заметил этот пост в поисках ответа на мой похожий вопрос.

В конце концов я решил открыть терминал, выполнить трехстороннее слияние с объединением,

meld file.conf file.conf.dpkg-old file.conf.dpkg-new

сохраните результат в file.conf и продолжайте с этим

Хотя я согласен с ответом Крейга Сандерса, я должен добавить одно предостережение: во время многих обновлений (обычно между выпусками - например, Hardy -> Intrepid) apt сообщает файлы конфигурации как изменения, когда я их не менял. Если я уверен, что не менял конфигурационный файл, я просто выброшу старый и сохраню версию сопровождающего пакета.

Да, лучше всего, ИМХО, получить версию сопровождающего и сообщить в ней настроенные значения.

Таким образом, у вас будет самый последний файл конфигурации с обновленными комментариями, закомментированными значениями по умолчанию и т. Д.

Когда у вас возник конфликт в процессе обновления из-за новой версии файла конфигурации, лучше всего сохранить лучшее между нашей версией и версией сопровождающей, запишите файл для проверки, а затем вручную отредактируйте файл, чтобы объединить различия рукой (vimdiff - очень мощный способ, но kdiff тоже хороший выбор :)

Очень важно помнить, что избегать устаревания пользовательских конфигурационных файлов!

Мои 2 цента :)