На самом деле, если мы приостанавливаем какое-либо приложение, устанавливаемое в середине или приостанавливаем обновления, то автоматически при возобновлении мы получим некоторые проблемы, например
E: Could not get lock /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/cache/apt/archives/
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
. Я знаю, как решить эти проблемы, сняв блокировку. но я хочу знать, почему будет происходить блокировка при выполнении обновлений / установки.
Вполне просто блокировки используются для их исходного намерения: помешать другим процессам слоняться без дела с установками. Вообразите следующий сценарий:
Process1 запускается для установки basex
, который зависит от default-jre
Process2 начинает удалять default-jre
. basex
уже происходит, таким образом, этому нельзя сообщить об этом удалении.
Концы Process2.
Концы Process1. Существует нерабочая система. Это хуже, если тот же пакет установлен, то удаленный одновременно.
В то время как это может быть разрешено путем содержания блокировки на пакет, сохраненной для пакета и любых пакетов, которые должны существовать (Зависимости), я не знаю, почему это не сделано.
Подобная проблема может произойти, если существуют пакеты тот конфликт. Например, один пакет мог бы быть установлен, и другой конфликтующий можно было быть установлен одновременно (как зависимость или иначе).