Реакция терминала на ошибку
Мой ноутбук работает на Ubuntu 16.04. Когда я ввожу команду в окне терминала для установки нового программного обеспечения, выдается следующая ошибка:
ashutosh@ashutosh-HP-Pavilion-g4-Notebook-PC:~$ sudo apt-get install arduino
[sudo] password for ashutosh:
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?
Можете ли вы сказать мне причину этого..??
1 ответ
Ну, это говорит о том, что происходит: apt-get не может получить "блокировку" для файлов управления пакетами (в основном, гарантия, что это единственный, кто может получить к нему доступ) Итак, первая идея заключается в том, что что-то еще устанавливается. Вы получаете это, например, если "Software Updater" обновляет вашу систему, и в то же время вы думаете: "Ну и дела, я хочу что-то установить". "Software Updater" получил блокировку, вы пытаетесь ее получить, и она явно отказалась.
Теперь вам нужно выяснить, какой процесс на самом деле имеет блокировку. Для этого мы будем использовать lsof, что означает "список открытых файлов". Интересующий файл - "/var/lib/dpkg/lock".
$ lsof /var/lib/dpkg/lock
Обычно это должно дать вам процесс, который "имеет" блокировку. Закройте этот процесс, и все будет в порядке.
Если нет процесса, скорее всего, это устаревшая блокировка. Хотя мне никогда не нужно было этого делать, я бы снял блокировку, выполнив:
sudo rm /var/lib/dpkg/lock
Обратите внимание, что вы можете получить сообщение об ошибке, когда вы забудете "sudo" в командах менеджера пакетов (apt, apt-get, aptitude и т. Д.), Но ваша ошибка включена.