Я недавно установил новую версию Ubuntu LTS 12.04. Я использовал LTS 10.4 и сохранил мой package.list и был планированием использования
$> sudo dpkg --set-selections < package.list && apt-get dselect-upgrade
устанавливать те же пакеты в новой версии
Однако компьютеру не удается работать с ошибкой
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
Простые ответы на это были бы, я - корень или член sudo?
$> whoami
surfer
$> groups
surfer adm cdrom sudo dip plugdev lpadmin sambashare
Так для легкого ответа.
На подобное сообщение, Не могущее заблокировать каталог администрирования (/var/lib/dpkg/), другой процесс использует его? Рекомендуемое решение
$> sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock
После выполнения той команды мой экран идет пробел, клавиатура становится безразличной, и моя единственная опция состоит в том, чтобы нажать кнопку питания и перезагрузку... (Я думал бы, что это было злонамеренным предложением, но многим другим, казалось, понравилось оно.)
Я попытался перечислить любые программы, которые могут использовать /var/lib/dpkg/lock
$> sudo lsof
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/surfer/.gvfs
Output information may be incomplete.
Отметьте, нет никаких перечисленных программ.
Точно так же никакая удача с
$> ps -e | grep -e apt -e adept | grep -v grep
Ничто перечисленное.
BTW, я могу работать склонный - добираются из командной строки.
$> sudo apt-get update
выполнения как ожидалось и обновления мои списки пакета...
@izx: После попытки Вашего предложения я не мог работать
$> sudo dpkg --set-selections < package.list && apt-get dselect-upgrade
Это перестало работать с той же ошибкой. Я попробовал это
a) сразу после комнаты управляют в терминале F1
b) выполнение команды комнаты и возврат X с Ctrl+Alt+F7
c) выполнение команды комнаты и перезагрузка
Из интереса только опция c) привела к другому (но подобное сообщение об ошибке), который был
dpkg: error: dpkg status database is locked by another process
Хотя я не могу уничтожить использование процессов /var/lib/dpkg/lock
с fuser
, Я действительно получал следующий вывод для процессов, которые связаны с ним.
$> fuser -cv /var/lib/dpkg/lock
USER PID ACCESS COMMAND
/var/lib/dpkg/lock: root kernel mount (root)/var
surfer 1641 ....m (surfer)gnome-settings-
surfer 1656 ....m (surfer)compiz
surfer 1679 ....m (surfer)nm-applet
surfer 1688 ....m (surfer)nautilus
surfer 1731 ....m (surfer)gtk-window-deco
surfer 1733 ....m (surfer)unity-panel-ser
surfer 1831 ....m (surfer)gnome-terminal
surfer 1899 f.... (surfer)unity-applicati
surfer 2029 F...m (surfer)update-notifier
Таким образом, я попытался уничтожить каждый процесс от терминала F1 и удалил файл блокировки.Нет проблем. Результат был
$> fuser -cv /var/lib/dpkg/lock
USER PID ACCESS COMMAND
/var/lib/dpkg/lock: root kernel mount (root)/var
$> ls /var/lib/dpkg/lock
ls: cannot access /var/lib/dpkg/lock: No such file or directory
файл и ссылки, кажется, заканчиваются, но после выполнения dpkg
команда, я получаю ту же ошибку..., и файл блокировки вернулся.
Я действительно скорее озадачен и приветствовал бы любую справку.
sudo dpkg --configure -a
Затем повторите попытку.
Эта проблема также может возникнуть, если запущены другие установки.
В редких случаях вы можете получить эту проблему без других блокировок процесса dpkg
пользователем с привилегией sudo.
Я столкнулся с этой проблемой по неизвестным причинам, потому что я потерял эту папку.
Я перепробовал все другие решения, предложенные здесь, но ни одно не помогло. Моим простым способом было скопировать папку /var/lib/dpkg
с другого сервера с той же версией Ubuntu.
Надеюсь, это поможет, если с кем-то еще случится то же самое.
Попробуйте с
sudo apt-get update
Если вы все еще получаете ошибку блокировки, попробуйте эту команду. Она даст подробности процесса
ps -e | grep -e apt -e adept | grep -v grep
. Затем завершите процесс, используя идентификатор процесса, затем выполните команду обновления.
А также вы можете удалить этот файл, который решит ваша проблема
rm /var/lib/dpkg/lock
sudo dpkg --set-selections < package.list && sudo apt-get dselect-upgrade
Ваш самый первый шаг должен был быть
sudo dpkg --set-selections < package.list && sudo apt-get dselect-upgrade
Следующая ошибка
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
имела бы никогда , даже second time
вы использовали то же самое код, и получил ту же ошибку.
Попробуйте правильную команду, добавив sudo , как описано выше, и опубликуйте свои выводы.
ПРИМЕЧАНИЕ : Использование & amp; позволяет выполнять несколько команд в одной строке, в обычном смысле & amp; выполняет только команда second , если команда first возвращает значение, сообщающее об успехе . Следовательно, sudo здесь необходимо указать в second command.
У меня была та же ошибка, у меня это сработало:
Эта ошибка означает, что вы (или какая-либо программа / скрипт) изменили права доступа к файлу / var / lib / dpkg / status. Пожалуйста, измените их обратно через: "sudo chmod 644 / var / lib / dpkg / status", чтобы исправить проблему.
Я закончил тем, что открыл терминал:
sudo nautilus
перешел к папкам / файлам и изменил разрешения на
Я - ПАПКА: ПОЛНЫЙ ДОСТУП / ФАЙЛЫ: READ WRITE
ROOT - FOLDER: ПОЛНЫЙ ДОСТУП / ФАЙЛЫ: READ ONLY
Проблема возникла, когда мои разрешения были повреждены при попытке исправить проблему с ядром, возникшую у меня с драйвером Nvidia. ..но это другая история ..
Надеюсь, это поможет ...