zaLinux.ru

Обновление пакетов: обновлять ли конфигурационный файл


Рассмотрим ситуацию, когда менеджер пакетов вашего дистрибутива Linux (Debian, Linux Mint, Ubuntu, Kali Linux) спрашивает про обновление конфигурационного файла — что нужно делать и как получить конфигурационный файл последней версии.

При некоторых обновлениях некоторых пакетов меняется структура конфигурационного файла. Как правило, в новом файле содержаться директивы и настройки, которые необходимы для новой версии программы, без которых она не может работать.

Настройка службы — это в почти всегда изменение конфигурационных файлов. Конечный файл может быть результатом длительной работы с конфигурацией и множества тестов. На это могут быть потрачены часы или даже дни.

Поэтому при необходимости обновить конфигурацию, возникает дилемма:

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

Именно по этой причине система спрашивает у вас каждый раз, что нужно сделать, если с обновлением программы обновляется и конфигурационный файл?

Пример сообщения, в котором менеджер пакетов спрашивает как поступить с новым конфигурационным файлом:

Configuration file '/etc/squid/squid.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** squid.conf (Y/I/N/O/D/Z) [default=N] ? 

Варианты:

  • Y или I — установить новый конфигурационный файл
  • N или O — сохранить используемый в настоящее время конфигурационный файл
  • D — показать различия между версиями
  • Z — открыть оболочку для изучения ситуации

Вариантом по умолчанию является сохранить текущий конфигурационный файл (N).

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

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

Для некоторых пакетов, например Tor, конфигурационный файл представляет собой просто набор комментариев, в котором не активна ни одна настройка — для таких файлов (если вы их не меняли), обновление является скорее формальностью.

Конфигурация пакета (Package configuration)

Ещё один вариант сообщения о новой версии конфигурационного файла:

Package configuration

  ┌──────────────────────────────────┤ Configuring privoxy ├──────────────────────────────────┐
  │ A new version (/etc/privoxy/config.ucftmp) of configuration file /etc/privoxy/config is   │ 
  │ available, but the version installed currently has been locally modified.                 │ 
  │                                                                                           │ 
  │ What do you want to do about modified configuration file config?                          │ 
  │                                                                                           │ 
  │                   install the package maintainer's version                                │ 
  │                   keep the local version currently installed                              │ 
  │                   show the differences between the versions                               │ 
  │                   show a side-by-side difference between the versions                     │ 
  │                   show a 3-way difference between available versions                      │ 
  │                   do a 3-way merge between available versions                             │ 
  │                   start a new shell to examine the situation                              │ 
  │                                                                                           │ 
  │                                                                                           │ 
  │                                          <Ok>                                             │ 
  │                                                                                           │

Перевод

Доступна новая версия (/etc/privoxy/config.ucftmp) файла конфигурации /etc/privoxy/config, но установленная в настоящее время версия была локально изменена.

Что вы хотите сделать с измененным файлом конфигурации config?


  • установить версию сопровождающего пакета
  • сохранить установленную локальную версию
  • показать различия между версиями
  • показать бок о бок различия между версиями
  • показать трёхстороннюю разницу между доступными версиями
  • сделать трёхстороннее слияние между доступными версиями
  • запустить новую оболочку, чтобы изучить ситуацию

По умолчанию выбран вариант «keep the local version currently installed», то есть «сохранить установленную локальную версию». Это лучший вариант, если вы хотите сохранить сделанные ранее настройки. Чтобы продолжить обновление пакетов, нажмите клавишу «Tab», в результате вы переключитесь на кнопку «<Ok>».

И нажмите клавишу «Enter».

Если вы не хотите сохранить сделанные ранее настройки, а хотите получить новую версию конфигурационного файла, то с помощью курсорных клавиш выберите пункт «install the package maintainer's version» («установить версию сопровождающего пакета»). Затем вновь нажмите «Tab» и «Enter».


Обновление конфигурационных файлов в директории /etc/default/

Особым случаем, на мой взгляд, является директория /etc/default/.

К примеру, на следующем скриншоте видно, что делается запрос на обновление файла /etc/default/grub.

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

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

Как посмотреть новый конфигурационный файл

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

Один из способов это сделать — скачать последнюю версию пакета и посмотреть конфигурационный файл последней версии в этом пакете.

Скачиваем пакет командой вида:

apt download ПАКЕТ

Например, для скачивания пакета squid


apt download squid

Распакуйте скаченный установочный файл командой вида:

ar x ФАЙЛ.deb

Например:

ar x squid_5.1-2_amd64.deb

Теперь нам нужно распаковать файл, который называется data.tar.gz или data.tar.xz.

Посмотрите содержимое папки, чтобы узнать имя файла:

ls -l

Если файл имеет расширение .tar.gz, то команда следующая:

tar xzf data.tar.gz

Если файл имеет расширение .tar.xz, то команда такая:

tar xf data.tar.xz

Смотрите также: Работа с архивами в Linux

Вновь проверим содержимое текущей директории в поисках распакованных папок и файлов:

ls -l

Конфигурационные файлы в системе обычно помещаются в директорию /etc/, при распаковке пакета вы найдёте эту папку по пути ./etc/ (то есть в текущей папке).

К примеру, команда чтобы просмотреть интересующий меня конфигурационный файл пакета squid последней версии:

gedit ./etc/squid/squid.conf


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован.