Найти в Дзене
Plectrom

Как обновляются пакеты в Linux?

Вы запускаете компьютер и видите уведомление о том, что было бы неплохо обновить некоторые приложения. Открываете менеджер пакетов, загружаете обновления, подтверждаете изменения и все - ваша система находится в актуальном состоянии.

Но как прошло обновление? Что стало со старыми версиями приложений? И когда применятся изменения? Давайте разбираться.

В Linux используются различные менеджеры пакетов и действуют они немного по-разному. Но принцип работы у них общий.

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

Многие почему-то считают, что новые пакеты просто вытесняют старые, а те отправляются в скрытую папку на диске. Но это не так.

Обновления в Linux носят необратимый характер, в большинстве случаев. Старые файлы просто стираются и заменяются на новые. Так что если вы хотите обезопасить себя от возможных проблем после обновления, используйте файловую систему со снимками - Btrfs или утилиты резервного копирования - Timeshift или Snapper.

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

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