Могу ли я предотвратить раздражающую ошибку блокировки dpkg от возвращения? [duplicate]

Есть ли способ навсегда справиться с этой постоянно повторяющейся ошибкой:

dpkg: error: dpkg frontend is locked by another process

И:

E: Could not get lock /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/cache/apt/archives/

Я пробовал все sudo rm решения, но она продолжает возвращаться снова и снова.

Я использую Ubuntu 18.04.03.

1
задан 9 September 2019 в 22:40

2 ответа

Ошибки блокировки диспетчера пакетов обычно происходят только при одном из следующих обстоятельств:

  • Вы, оказывается, случайно, запускаете два приложения диспетчера пакетов (Синаптический, способный, Центр программного обеспечения, и т.д.) одновременно. Это - довольно частая ошибка, сделанная несколько раз новыми пользователями. Этого легко решить: Используйте только по одному. Не прерывайтесь рабочий диспетчер пакетов - ожидают его для окончания.

    Так как они все совместно используют общую базу данных пакетов и общий кэш deb файлов, только одно приложение может использовать базу данных и кэш за один раз. lockfiles предотвращают ужасное повреждение, которое могло бы следовать из двух одновременных операций на той же базе данных файловой системы.

  • Вы, оказывается, случайно, используете диспетчер пакетов во время minute-two каждый день, что Необслуживаемое приложение Обновлений бесшумно устанавливает обновления системы защиты. Этого также очень легко решить: Ожидайте минута или два и попробуйте еще раз. Не пытайтесь прерваться, Необслуживаемые Обновления - позволяют ему закончиться.

    Вот одна легкая команда, чтобы сказать, блокируют ли Необслуживаемые Обновления Ваше использование Кв.: Ищите apt-daily-upgrade.timer. Если таймер совсем недавно передал, то Необслуживаемые Обновления являются вероятным преступником.

    $ systemctl list-timers apt-daily-upgrade.timer
    NEXT                         LEFT    LAST                         PASSED  UNIT                    ACTIVATES
    Tue 2019-09-10 06:26:27 CDT  23h left Mon 2019-09-09 06:26:12 CDT  2m ago apt-daily-upgrade.timer apt-daily-upgrade.service
    

    В этом случае, Необслуживаемые Обновления был инициирован две минуты назад и будет работать снова завтра. Вот почему мое способное задание было заблокировано lockfile. Я просто ожидаю UU для окончания, затем мое способное задание будет работать правильно.

  • Ваша система или файловая система не были завершением работы чисто, но вместо этого были выключены или потерянный доступ для чтения-записи к диску в то время как посреди операции пакета. Это имеет потенциал, чтобы быть ДЕЙСТВИТЕЛЬНО ПЛОХИМ, и могло бы иногда делать Вашу систему незагрузочной, так попытайтесь не позволить этому произойти. В этом случае, вручную удаляя lockfile с sudo rm требуется начиная с исходного приложения, завершенного прежде, чем удалить, это - блокировка.

    (За мои 15 лет с помощью Debian и Ubuntu на многих, многих системах, я должен был вручную удалить lockfile поэтому только однажды. И первопричиной был мой отказ, не Ubuntu.)

  • Наконец и очень редко, частое повторение таинственного lockfiles могло бы быть признаком повреждения Вашей системы или возможно ошибкой, которую Вы обнаружили. Так или иначе не предполагайте, что все другие страдают. Мы, вероятно, нет.

0
ответ дан 7 December 2019 в 18:50

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

Например:

$ systemctl status apt*
● apt-daily.timer - Daily apt download activities
   Loaded: loaded (/lib/systemd/system/apt-daily.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Wed 2019-09-04 04:35:25 MDT; 5 days ago

Sep 04 04:35:25 alien systemd[1]: Started Daily apt download activities.

● apt-daily-upgrade.timer - Daily apt upgrade and clean activities
   Loaded: loaded (/lib/systemd/system/apt-daily-upgrade.timer; enabled; vendor preset: enab
   Active: active (waiting) since Wed 2019-09-04 04:35:25 MDT; 5 days ago

Sep 04 04:35:25 alien systemd[1]: Started Daily apt upgrade and clean activities.

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

sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily-upgrade.timer
sudo reboot

Теперь они не будут работать и запирать Ваш apt система. Можно работать:

sudo apt update
sudo apt upgrade
sudo apt install -f

и т.д., и т.д. и видят, какие сообщения об ошибках присутствуют.

После фиксации состояния ошибки повторно включают сервисы:

sudo systemctl enable apt-daily.timer
sudo systemctl enable apt-daily-upgrade.timer

Ответы на других сообщениях, рекомендующих уничтожить файл блокировки, возможно, совершенно не нужный и, могут нанести больше ущерба, чем хороший. Многие из тех ответов были отправлены, прежде чем systemd был изобретен / опубликованный.

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

0
ответ дан 7 December 2019 в 18:50

Другие вопросы по тегам:

Похожие вопросы: