В рамках моего рабочего процесса я использую сервер Ubuntu 20.04.3.
Поэтому я готовлю образ для виртуальной машины и развертываю его с помощью Ansible.
Поскольку это env без доступа к Интернету, все пакеты, которые я устанавливаю, были ранее загружены в формате .deb. путем выполнения простой команды оболочки:
dpkg -i deb_1.deb deb_2.deb deb_3.deb deb_4.deb
dpkg -i deb_5.deb deb_6.deb deb_7.deb deb_8.deb
Иногда ~ 5% случаев, я получаю эту ошибку совершенно спорадически, может возникнуть при первой установке
"stderr_lines": ["dpkg: ошибка: блокировка внешнего интерфейса dpkg заблокирована другим процессом",
«E: Подпроцесс dpkg --set-selections вернул код ошибки (2)», «E: Не удалось выполнить dpkg. Вы root?»]
Я пытался решить это:
- Пункт списка
Перед каждым шагом установки выполняйте ручное удаление файла блокировки
- /var/lib/dpkg/блокировка
- /var/lib/dpkg/lock-интерфейс
- /var/кэш/apt/архивы/замок
Но даже после ручного удаления ошибка продолжает появляться.
Пробовал устанавливать пакеты с модулем Ansible apt и аргументом "deb" - но поведение такое же.
Пытался выяснить, какому процессу на самом деле принадлежат файлы блокировки с помощью «lsof», но файл не принадлежал ни одному процессу.
Есть ли способ исправить это странное и глючное поведение?
Какой процесс отвечает за создание файлов блокировки иногда при запуске системы?