При использовании Linux вы можете столкнуться с различными ошибками. Одна из них может быть ошибкой «/var/lib/dpkg/lock». Это поправимо? Ну да! Это не паническая ошибка. Но прежде чем мы узнаем, как исправить эту ошибку, давайте разберемся, почему она возникает.
Эта ошибка обычно возникает, когда процесс обновляет систему, а вы пытаетесь получить доступ к системе для выполнения какой-либо другой операции. Например, система Ubuntu блокирует доступ «dpkg», чтобы операционная система не завершила процесс обновления. Это также может произойти из-за произвольного процесса, который постоянно работает в фоновом режиме и сохраняет задействованным «/var/lib/dpkg».
Эти процессы не позволяют вам устанавливать новые приложения или выполнять команды. Есть несколько способов решить эту проблему. Сначала тщательно диагностируйте проблемы, а затем приступайте к их исправлению. Давайте разберемся, как исправить эту проблему.
Как обсуждалось выше, прежде чем приступить к исправлению, сначала убедитесь, что все в системе идеально. Затем убедитесь, что никакое приложение не устанавливается и не обновляет систему; если да, то дождитесь, пока приложение завершит установку. После этого вопросы будут автоматически решены.
Если очевидной проблемы нет, но вы все еще получаете эту ошибку, проверьте процесс, использующий диспетчер пакетов, введя команду ниже:
$ ps aux | grep -i apt
В нашем случае обновляется Ubuntu. Во время этого процесса «dpkg» заблокирован, и я не могу выполнять другие задачи, как показано на следующем изображении.
Чтобы исправить это, просто дождитесь завершения обновления. Если это не помогает, эту проблему также можно решить, убив процесс, который удерживал «dpkg» задействованным. Во-первых, определите процесс. Во многих случаях идентификатор процесса упоминается в сообщении об ошибке, или вы можете получить список процессов, используя «apt» с помощью указанной ниже команды:
$ ps aux | grep -i apt
Теперь, чтобы завершить процесс, используйте:
$ sudo kill [идентификатор процесса]
Если это не решит проблему, принудительно завершите процесс с помощью сигнала SIGKILL:
$ sudo kill -9 [идентификатор процесса]
Самый простой способ — убить все процессы, занимающие «apt» и «apt-get», как указано ниже:
$ sudo killall apt apt-get
Вы можете столкнуться с более сложной ситуацией, и проблема может заключаться в «заблокированных» файлах. Файлы блокировки ограничивают доступ к системным файлам до тех пор, пока не будет выполнена определенная операция. По завершении процесса блокировка будет автоматически снята для выполнения дальнейших операций системы. Итак, чтобы решить эту проблему, вам необходимо удалить файлы блокировки. Во-первых, проверьте файл блокировки, используя:
$ sudo lsof /var/lib/dpkg/lock-frontend
Если вы видите что-то «автоматическое» в выводе, дождитесь завершения этого процесса, потому что система работает над обновлениями.
В противном случае получите идентификаторы процессов и завершите их с помощью:
$ sudo kill -9 [ идентификатор процесса ]
После этого вы можете удалить файл блокировки:
$ sudo rm /var/lib/dpkg/lock-frontend
Убедитесь, что вы перенастроили «dpkg» после удаления файла блокировки:
$ sudo dpkg --configure -a
Чтобы убедиться, что все в порядке и ошибка исправлена, запустите:
$ sudo apt update
Различные ошибки «/var/lib/dpkg» обычно возникают, когда система запрещает пользователю выполнять операцию, потому что другие ключевые процессы используют системные файлы. В этой статье мы обсудили различные стратегии избавления от этой ошибки. Более того, мы также узнали, как удалить ошибку «/var/lib/dpkg/lock-frontend».
Ошибка возникает из-за файлов блокировки, и безопасное удаление файлов блокировки может решить эту проблему. Хотя не рекомендуется удалять файлы блокировки, чтобы избежать каких-либо проблем, убедитесь, что вы используете правильный метод для удаления файла блокировки.