4

Я получаю эту ошибку при попытке установить unrar unarchiver для файлов .rar с терминала в Ubuntu.

E: Could not open lock file /var/lib/dpkg/lock - open (2: No such file or directory)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

3 ответа3

7

Запустите следующую команду:

sudo rm /var/lib/dpkg/lock

Создайте отсутствующие папки (сначала используйте команду ls -l /var/lib/dpkg/ чтобы отобразить существующие папки, если некоторые флопдеры существуют, не создавайте их заново):

sudo mkdir -p /var/lib/dpkg/{alternatives,info,parts,triggers,updates,methods,available,diversions}

Переместите dpkg.status.0 и восстановите базовый файл:

sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo apt-get download dpkg
sudo dpkg -i dpkg*.deb
sudo apt-get download base-files
sudo dpkg -i base-files*.deb
sudo apt update && sudo apt upgrade

Проверьте и исправьте нарушенные зависимости:

sudo apt-get check
sudo apt -f install
0
  • В сообщении об ошибке спрашивается, являетесь ли вы пользователем root, чтобы получить разрешение на запуск команды для установки программного обеспечения с терминала. Используйте sudo перед командой, чтобы запустить команду с привилегиями root, например так:

    sudo apt install example-package  
    

    В этом примере команда устанавливает пакет с именем example-package.

  • Если по-прежнему возникает ошибка блокировки, закройте Ubuntu Software Center (Ubuntu 14.04) или Software (Ubuntu 16.04) и терминал, чтобы разблокировать /var/lib/dpkg/ , снова откройте терминал и повторите команду.

  • Если вы все еще получаете ошибку блокировки, запустите эту команду, чтобы показать подробности о процессе блокировки.

    ps -e | grep -e apt -e adept | grep -v grep  
    

    Затем откройте приложение System Monitor и завершите процесс, который имеет тот же идентификатор процесса, что и результаты предыдущей команды.


Для ошибки, указанной в комментарии:

Errors were encountered while processing: /var/cache/apt/archives/libgtk-3-bin_3.18.9-1ubuntu3.1_amd64.deb   
E: Sub-process /usr/bin/dpkg returned an error code (1)  

Попробуйте исправить это, выполнив следующие команды:

sudo apt-get clean  
sudo apt update  
sudo apt upgrade  
sudo dpkg --configure -a  
sudo apt-get -f install  

Затем попробуйте снова запустить команду, которая вызвала сообщение об ошибке.

-1

Запустите приведенную ниже команду, чтобы сгенерировать список всех процессов , имя которых состоит из слова apt. Вы получите список, включающий все процессы apt или apt-get, используя команды ps и grep вместе с конвейером.

ps -A | grep apt

Для каждого процесса apt-get или apt, который вы видите в выводе команды выше, уничтожьте каждый процесс с помощью команды ниже.

Идентификатор процесса (PID) находится в первом столбце на снимке экрана выше.

sudo kill -9 processnumber
or
sudo kill -SIGKILL processnumber

Например, в приведенной ниже команде, где 9 - номер сигнала для сигнала SIGKILL, завершит первый процесс apt:

sudo kill -9 13431
or
sudo kill -SIGKILL 13431

Сначала выполните приведенную ниже команду, чтобы удалить файл блокировки в каталоге /var/lib/dpkg/ :

sudo rm /var/lib/dpkg/lock

Затем вынудите пакет (ы) перенастроить так:

sudo dpkg --configure -a

Или удалите файлы блокировки в каталоге /var/lib/apt/lists/ и кэше, как показано ниже:

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock

Затем обновите список источников пакетов следующим образом:

sudo apt update
or
sudo apt-get update

Полная информация https://www.tecmint.com/fix-unable-to-lock-the-administration-directory-var-lib-dpkg-lock/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .