Linux Labs

Пакеты, службы, журналы / Ступень 3 из 13

Установка, обновление и удаление пакетов

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 4 из 8 · теория · 5 мин

Обновление и своя правка настройки

Обновление ставит новую версию поверх старой. Вопрос появляется, когда настройку поменяли и ты, и авторы пакета.

Новая версия ставится той же командой: sudo dpkg -i с архивом новой версии или sudo apt upgrade из репозиториев. dpkg распаковывает новые файлы поверх старых и снова проверяет зависимости. Требование вида (= 2.0-1) новая версия выполнит, только если вместе с ней обновится и пакет, от которого она зависит.

С conffile dpkg поступает так. Не менял файл ты — dpkg ставит новую версию молча. Не менялся файл в пакете — dpkg молча оставляет твою. Изменились обе — dpkg останавливается и спрашивает:

text
Configuration file '/etc/lab-pkg-report.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.

D показывает разницу двух версий. Ответ N оставляет твою, а новую dpkg кладёт рядом, в lab-pkg-report.conf.dpkg-dist. Ответ Y ставит новую, а твоя сохраняется как .dpkg-old.

Проверь себя 1 вопрос

dpkg спросил о /etc/lab-pkg-report.conf, и ты ответил N. Где после обновления окажется настройка из новой версии пакета?

  • N — «оставить мою»: в /etc/lab-pkg-report.conf остаётся твоя правка. Новую версию ставит ответ Y.

  • dpkg ничего не выбрасывает: отвергнутую версию он кладёт рядом. ls /etc/lab-pkg-report.conf* покажет второй файл.

Ответ N оставляет твою настройку на месте, а версию из пакета dpkg кладёт в .dpkg-dist. Сравнить их можно diff /etc/lab-pkg-report.conf /etc/lab-pkg-report.conf.dpkg-dist.

Главное в шаге

  • Обновление — установка новой версии поверх старой, с той же проверкой зависимостей.
  • Вопрос о conffile бывает, только когда изменились и твой файл, и файл в пакете.
  • Отвергнутая версия настройки остаётся рядом: .dpkg-dist или .dpkg-old.
Ubuntu 24.04
Загрузка…