AWS Не удалось установить пакет Ubuntu 18.04 AMI - PullRequest
0 голосов
/ 17 апреля 2020

Всякий раз, когда группа автоматического масштабирования AWS запускает новый экземпляр ubuntu, и я пытаюсь установить на него любой пакет, он выдает мне следующую ошибку:

[stderr]E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
[stderr]E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend),

Есть ли другой процесс, использующий его?

Я пытался найти решение и исправил его вручную, но я не знаю, почему всякий раз, когда группа автомасштабирования запускает новый экземпляр Ubuntu, она выдает следующую ошибку.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

S SH в экземпляр до / во время выполнения UserData и проверьте, какой процесс получил блокировку:

$ lsof /var/lib/dpkg/lock-frontend

Также попробуйте включить агент CodeDeploy на последнем шаге после выполнения всех остальных шаги в UserData, такие как:

0 голосов
/ 17 апреля 2020

Когда любая команда обновляет Ubuntu или устанавливает новое приложение, она блокирует dpkg (менеджер пакетов Debian). Чтобы определить проблему, посмотрите журналы

  1. Если ваша система устанавливает некоторые обновления, вы можете найти журналы journalctl journalctl -u apt-daily.service. Обычно это происходит, когда система настроена на обновление своего уровня, и вы заметите такую ​​активность с помощью ps -ef | grep apt.systemd.daily, и вы можете проверить эти настройки в файле /etc/apt/apt.conf.d/20auto-upgrades
  2. /var/log/dpkg.log* (так как он может быть повернут) проверьте эти журналы, чтобы найти, какие службы пытались установить

После того, как вы определили проблему, вы можете решить с помощью следующих методов:

  1. Если система обновляется, затем попробуйте подождать, выполнив команду sleep в --user-data вашего сценария начальной загрузки
  2. Если ваша первая установка службы / приложения блокирует другую, тогда поставьте условие ожидания / ожидания, пока первая служба не будет и так далее с остальными службами, которые вы устанавливаете. Это было распространенной проблемой в Ubuntu 16.04 LTS, и вы можете найти то же самое с кодом решения https://forums.aws.amazon.com/thread.jspa?threadID=251663

Фрагмент кода по указанной ссылке: until service codedeploy-agent status >/dev/null 2>&1; do sleep 60 rm -f install wget https://aws-codedeploy-us-west-2.s3.amazonaws.com/latest/install chmod +x ./install sudo ./install auto service codedeploy-agent restart done

...