I had a similar error, but the problem was not in dpkg.status
, but in an apt listing.
To check the likely cause, run strace -efile apt install something
. Then look for the last files accessed before the error message shows:
stat("/var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_xenial_main_i18n_Translation-en%5fUS.uncompressed", 0x7fffd2f39d00) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_xenial_main_i18n_Translation-en%5fUS", 0x7fffd2f39e50) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_InRelease", 0x7fffd2f39d10) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_InRelease", 0x7fffd2f396d0) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=57344, ...}) = 0
open("/tmp/fileutl.message.XlglFW", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
unlink("/tmp/fileutl.message.XlglFW") = 0
open("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", O_RDONLY) = 6
open("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", O_RDONLY) = 5
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
Reading package lists... Done
E: The package lists or status file could not be parsed or opened.
+++ exited with 100 +++
In my case, the last file (a Release
file from fossology) turned out to be 0 bytes long. Removing that repository enabled apt to resume normal functionality
38 ответов
Эта ошибка может быть вызвана тем, что диспетчер обновлений пытается автоматически обновить список пакетов в фоновом режиме, как правило, сразу после входа в систему, тем самым блокируя каталог.
В этом случае просто подождите несколько секунд (или больше, если последнее обновление было давно) для его завершения или запуска Update Manager для проверки состояния.
ответ дан Batsu
18 July 2018 в 04:25
поделиться
В моем случае я получал то же сообщение, не понимая, что переключился на пользователя root и пытался sudo apt-get. Как только я понял это, я просто побежал, и он сработал. Глупо, но это может объяснить ошибку для некоторых.
ответ дан BluePython
18 July 2018 в 04:25
поделиться
Удалите ваш файл /var/lib/dpkg/lock и реконфигурируйте пакет.
sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a
После этого он должен работать.
ответ дан Bruno Pereira
18 July 2018 в 04:25
поделиться
в моем случае, после:
Откройте Firefox. Open terminal
Я набрал
, тогда я получаю эти проблемы
sudo apt update
sudp apt upgrade
, я исправил это, выполнив команду, которая была показана мне после запуска sudo apt update
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?
apt list --upgradable
Эта команда покажет вам список программ в моем случае только Firefox, я закрыл Firefox, а затем смог запустить команду снова без проблем.
sudo apt upgrade
ответ дан christianbueno.1
18 July 2018 в 04:25
поделиться
Это произойдет, если у вас есть «Менеджер обновлений», работающий параллельно для любой проверки обновлений или установки, когда процесс установки помещает Lock. Если вы столкнулись с такой же ошибкой без запуска «Диспетчера обновлений», вам нужно удалить ее из /var/lib/dgkg/lock, что определенно вы не можете сделать это вручную
sudo fuser -cuk /var/lib/dpkg/lock
sudo rm -f /var/lib/dpkg/lock
работает нормально. Снято с: https://askubuntu.com/a/15469/68707
ответ дан Community
18 July 2018 в 04:25
поделиться
Это должно использоваться как последнее средство. Если вы используете это небрежно, вы можете оказаться в неисправной системе. Сначала попробуйте другие ответы.
Вы можете удалить файл блокировки с помощью следующей команды:
sudo rm /var/lib/apt/lists/lock
Вам также может потребоваться удалить файл блокировки в кеше directory
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
После этого попробуйте снова открыть Synaptic.
ответ дан Elder Geek
18 July 2018 в 04:25
поделиться
Я вижу почти все ответы, рекомендующие удалять блокировку. Я не рекомендую делать это в качестве первой меры; возможно, если альтернативы нет. Блокировка помещается, когда выполняется процесс apt, и удаляется, когда процесс завершается.
Если вы попытаетесь выполнить
ps aux | grep apt
, которые будут захватывать процессы, содержащие слово apt, по крайней мере. Если вы видите процесс apt-get или процесс aptitude, который выглядит застрявшим, вы можете попробовать
kill processnumber
, и если это не сработает, попробуйте
kill -9 processnumber
должен убить процесс и удалить блокировку. Убийство процесса apt или aptitude является безобидным, если оно фактически не находится в середине установки пакета. В любом случае, если процесс застрял, у вас, вероятно, нет выбора, кроме как убить его.
Убийство процесса dpkg напрямую, если оно присутствует, не является хорошей идеей, потому что если dpkg активен, возможно, он манипулирует базой данных пакета, и его уничтожение может оставить базу данных пакета в несогласованном состоянии; т. е. поврежден.
Убийство процесса apt-get или aptitude в целом намного безопаснее.
ответ дан Faheem Mitha
18 July 2018 в 04:25
поделиться
Просто sudo rm -f /var/lib/apt/lists/lock и повторите попытку.
apt-fast МОЖЕТ быть ответственным за неправильное разблокирование; это случается иногда, когда вы прерываете apt-get или dpkg тоже.
ответ дан ish
18 July 2018 в 04:25
поделиться
Пока что лучший способ заставить его работать, не нарушая возможную фоновый запуск установки (как это может произойти, удалив файл блокировки), останавливает службу с помощью apt:
Ошибка:
# sudo apt-get upgrade
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?`
Решение:
sudo systemctl stop apt-daily.timer
После обновления системы я предлагаю повторно включить ее, так как блокировка ошибок может быть исправлена при обновлении.
sudo systemctl start apt-daily.timer
Я не подтвердил, что эта ошибка исправлена после обновления. Я добавлю новый комментарий, как только у меня будет проверено
ответ дан Jairelee
18 July 2018 в 04:25
поделиться
У меня была эта проблема много раз. Для меня это было почти всегда вызвано apt-get или некоторым GUI, который назвал его зависающим по какой-то причине. Мне пришлось убить его, что оставило различные блокировки на месте.
В других ответах возникают очень хорошие моменты, связанные с тем, что в настоящее время не выполняется обновление, прежде чем делать что-либо радикальное, как удаление файлов блокировки. Однако, как только вы убедитесь, что это не так, для меня обычно работает следующее. Я получил это, прочитав много ответов на такие вопросы, как этот.
Хотя большинство или все это представлено в других ответах, это отводит исправление до нескольких команд.
sudo fuser -vki /var/lib/dpkg/lock
sudo fuser -vki /var/cache/apt/archives/lock
sudo fuser -vki /var/cache/debconf/config.dat
sudo dpkg --configure -a
Используется для разблокировки системы пакетов после того, как какое-либо обновление было повреждено или завершено, не закончив каким-либо другим способом. Эти команды должны выполняться в представленном порядке.
ответ дан Joe
18 July 2018 в 04:25
поделиться
Только одна программа может удерживать блокировку. Убедитесь, что вы не используете aptitude, synaptic или adept. Закройте программу и запустите ее снова, она должна работать. У вас может быть либо синаптический доступ, либо другое открытое окно терминала, работающее apt-get, либо работающий менеджер обновлений. Проверьте его и посмотрите, работает ли какой-либо из них, если какой-либо из них
Попробуйте эту команду в терминале, чтобы найти то, что работает
ps -e | grep -e apt -e adept | grep -v grep
Примечание: если это ничего не печатает, введите следующее в терминал для удаления блокировки
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
Теперь вы можете установить любые пакеты.
ответ дан kiri
18 July 2018 в 04:25
поделиться
Не будьте так быстро, чтобы что-то удалить, это может полностью повредить вашу систему; скорее подождите, пока текущая установка или удаление программы не завершит свою задачу, и после этого вы получите доступ. Если вы считаете, что в настоящее время нет установки или удаления, просто перезагрузите систему с помощью команды sudo reboot.
ответ дан kos
18 July 2018 в 04:25
поделиться
В моем случае я просто ждал несколько минут, и замок был выпущен (выглядит как aptd, используемый для его удержания). Все это произошло сразу после загрузки системы.
ответ дан Pavel Vlasov
18 July 2018 в 04:25
поделиться
Самый вероятный способ сделать это:
загрузить Ubuntu запустить тип терминала sudo apt-get install whatever
, а командная строка apt перекрывается с update-manager автоматическим опросом .
Итак, если вы попробуете снова через несколько минут, чтобы исправить это.
ответ дан poolie
18 July 2018 в 04:25
поделиться
Прежде всего, мы должны проверить, какой процесс создал файл блокировки с помощью lsof:
sudo lsof /var/lib/dpkg/lock
или в другой ситуации, где /var/lib/apt/lists/lock проблематично:
sudo lsof /var/lib/apt/lists/lock
Выход будет близок к чему-то вроде:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apt-get 12127 root 4uW REG 252,1 0 86 /var/lib/apt/lists/lock
Затем мы должны проверить, что делает commad, мы можем найти его с помощью ps, pgrep и т. Д .; команда apt-get, поэтому я запускаю:
pgrep apt-get -a
Переключатель -a перечисляет полную команду для меня, в моем случае это:
pgrep -a apt-get
12127 apt-get update
мы можем видеть что он работает подкомандой update, я мог бы запустить что-то вроде этого:
ps -f 12127
, который производит:
UID PID PPID C STIME TTY STAT TIME CMD
root 12127 12126 0 09:39 pts/0 S+ 0:00 apt-get update
В этом случае я подождал бы некоторую минуту для ресурса чтобы быть освобожденным, и если по истечении 2-3-минутной проблемы все еще существует или команда была чем-то, что мне не нравилось или не было вредно для системы (например, apt-get update), я посылаю SIGTERM в процесс:
sudo kill -15 12127
Он должен выполнить эту работу. Если бы я не отправил SIGINT на этот раз (это похоже на нажатие CTRL + C):
sudo kill -2 12127
If это тоже не сработало, мы должны отправить SIGHUP (kill -1), и, наконец, если ничего не работает, я просто убиваю процесс:
sudo kill -9 12127
или
sudo pkill -9 apt-get
Затем я удаляю загруженные ресурсы:
sudo rm /var/lib/apt/lists/lock
ответ дан Ravexina
18 July 2018 в 04:25
поделиться
Я не вижу этого ответа нигде выше, но на Ubuntu 16.04, я тоже столкнулся с этой проблемой. Причиной было то, что время на моем компьютере было установлено в будущее. (Это потому, что я нахожусь в системе с двойной загрузкой Windows + Ubuntu, и, я думаю, я перепутал местное время и время UTC.)
. Одна странная вещь заключалась в том, что дата и время заблокированного файла были точными дата и время, когда я запускал программу.
Затем я использовал «фьюзер», как описано в предыдущих сообщениях, и apt работал, но я получал жалобы на необходимость запуска dpkg -a -reconfigure. Когда я это сделал, у меня появились такие ошибки, как:
newline in field name #padding
в таких файлах, как ‘/var/lib/dpkg/updates/0003’.
Все это было очень странно, поскольку Я никогда раньше этого не видел. Итак, я думал, что это симптомы и изменил мои данные и время вручную. Я знал, что была проблема с датой / временем, когда я вошел в систему, но игнорировал ее. (Раньше он настраивал его автоматически через Интернет и NTP).
Затем все указанные проблемы были исправлены … Надеюсь, это поможет кому-то еще! Наиболее заметным признаком является дата / время файла блокировки, являющегося точной датой / временем, которое вы пытаетесь запустить.
ответ дан Ray
18 July 2018 в 04:25
поделиться
Если у вас есть обновления безопасности, установленные для автоматической установки, это будет происходить часто. Я буквально жду 30 секунд, и это исправляет проблему. Просто выбросьте это там, если кто-нибудь еще столкнется с этой проблемой.
ответ дан Wh33t
18 July 2018 в 04:25
поделиться
В моем случае X разбился, а apt-get все еще удалял старые ядра. Я использовал системный монитор, чтобы убедиться, что он все еще работает и не застревает. После завершения процесса все было в порядке.
ответ дан wjandrea
18 July 2018 в 04:25
поделиться
Эта ошибка может быть вызвана тем, что диспетчер обновлений пытается автоматически обновить список пакетов в фоновом режиме, как правило, сразу после входа в систему, тем самым блокируя каталог.
В этом случае просто подождите несколько секунд (или больше, если последнее обновление было давно) для его завершения или запуска Update Manager для проверки состояния.
ответ дан Batsu
24 July 2018 в 18:04
поделиться
В моем случае я получал то же сообщение, не понимая, что переключился на пользователя root и пытался sudo apt-get. Как только я понял это, я просто побежал, и он сработал. Глупо, но это может объяснить ошибку для некоторых.
ответ дан BluePython
24 July 2018 в 18:04
поделиться
Удалите ваш файл /var/lib/dpkg/lock и реконфигурируйте пакет.
sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a
После этого он должен работать.
ответ дан Bruno Pereira
24 July 2018 в 18:04
поделиться
в моем случае, после:
Откройте Firefox. Open terminal
Я набрал
, тогда я получаю эти проблемы
sudo apt update
sudp apt upgrade
, я исправил это, выполнив команду, которая была показана мне после запуска sudo apt update
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?
apt list --upgradable
Эта команда покажет вам список программ в моем случае только Firefox, я закрыл Firefox, а затем смог запустить команду снова без проблем.
sudo apt upgrade
ответ дан christianbueno.1
24 July 2018 в 18:04
поделиться
Это произойдет, если у вас есть «Менеджер обновлений», работающий параллельно для любой проверки обновлений или установки, когда процесс установки помещает Lock. Если вы столкнулись с такой же ошибкой без запуска «Диспетчера обновлений», вам нужно удалить ее из /var/lib/dgkg/lock, что определенно вы не можете сделать это вручную
sudo fuser -cuk /var/lib/dpkg/lock
sudo rm -f /var/lib/dpkg/lock
работает нормально. Снято с: https://askubuntu.com/a/15469/68707
ответ дан Community
24 July 2018 в 18:04
поделиться
Это должно использоваться как последнее средство. Если вы используете это небрежно, вы можете оказаться в неисправной системе. Сначала попробуйте другие ответы.
Вы можете удалить файл блокировки с помощью следующей команды:
sudo rm /var/lib/apt/lists/lock
Вам также может потребоваться удалить файл блокировки в кеше directory
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
После этого попробуйте снова открыть Synaptic.
ответ дан Elder Geek
24 July 2018 в 18:04
поделиться
Я вижу почти все ответы, рекомендующие удалять блокировку. Я не рекомендую делать это в качестве первой меры; возможно, если альтернативы нет. Блокировка помещается, когда выполняется процесс apt, и удаляется, когда процесс завершается.
Если вы попытаетесь выполнить
ps aux | grep apt
, которые будут захватывать процессы, содержащие слово apt, по крайней мере. Если вы видите процесс apt-get или процесс aptitude, который выглядит застрявшим, вы можете попробовать
kill processnumber
, и если это не сработает, попробуйте
kill -9 processnumber
должен убить процесс и удалить блокировку. Убийство процесса apt или aptitude является безобидным, если оно фактически не находится в середине установки пакета. В любом случае, если процесс застрял, у вас, вероятно, нет выбора, кроме как убить его.
Убийство процесса dpkg напрямую, если оно присутствует, не является хорошей идеей, потому что если dpkg активен, возможно, он манипулирует базой данных пакета, и его уничтожение может оставить базу данных пакета в несогласованном состоянии; т. е. поврежден.
Убийство процесса apt-get или aptitude в целом намного безопаснее.
ответ дан Faheem Mitha
24 July 2018 в 18:04
поделиться
Просто sudo rm -f /var/lib/apt/lists/lock и повторите попытку.
apt-fast МОЖЕТ быть ответственным за неправильное разблокирование; это случается иногда, когда вы прерываете apt-get или dpkg тоже.
ответ дан ish
24 July 2018 в 18:04
поделиться
Пока что лучший способ заставить его работать, не нарушая возможную фоновый запуск установки (как это может произойти, удалив файл блокировки), останавливает службу с помощью apt:
Ошибка:
# sudo apt-get upgrade
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?`
Решение:
sudo systemctl stop apt-daily.timer
После обновления системы я предлагаю повторно включить ее, так как блокировка ошибок может быть исправлена при обновлении.
sudo systemctl start apt-daily.timer
Я не подтвердил, что эта ошибка исправлена после обновления. Я добавлю новый комментарий, как только у меня будет проверено
ответ дан Jairelee
24 July 2018 в 18:04
поделиться
У меня была эта проблема много раз. Для меня это было почти всегда вызвано apt-get или некоторым GUI, который назвал его зависающим по какой-то причине. Мне пришлось убить его, что оставило различные блокировки на месте.
В других ответах возникают очень хорошие моменты, связанные с тем, что в настоящее время не выполняется обновление, прежде чем делать что-либо радикальное, как удаление файлов блокировки. Однако, как только вы убедитесь, что это не так, для меня обычно работает следующее. Я получил это, прочитав много ответов на такие вопросы, как этот.
Хотя большинство или все это представлено в других ответах, это отводит исправление до нескольких команд.
sudo fuser -vki /var/lib/dpkg/lock
sudo fuser -vki /var/cache/apt/archives/lock
sudo fuser -vki /var/cache/debconf/config.dat
sudo dpkg --configure -a
Используется для разблокировки системы пакетов после того, как какое-либо обновление было повреждено или завершено, не закончив каким-либо другим способом. Эти команды должны выполняться в представленном порядке.
ответ дан Joe
24 July 2018 в 18:04
поделиться
Только одна программа может удерживать блокировку. Убедитесь, что вы не используете aptitude, synaptic или adept. Закройте программу и запустите ее снова, она должна работать. У вас может быть либо синаптический доступ, либо другое открытое окно терминала, работающее apt-get, либо работающий менеджер обновлений. Проверьте его и посмотрите, работает ли какой-либо из них, если какой-либо из них
Попробуйте эту команду в терминале, чтобы найти то, что работает
ps -e | grep -e apt -e adept | grep -v grep
Примечание: если это ничего не печатает, введите следующее в терминал для удаления блокировки
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
Теперь вы можете установить любые пакеты.
ответ дан kiri
24 July 2018 в 18:04
поделиться
Не будьте так быстро, чтобы что-то удалить, это может полностью повредить вашу систему; скорее подождите, пока текущая установка или удаление программы не завершит свою задачу, и после этого вы получите доступ. Если вы считаете, что в настоящее время нет установки или удаления, просто перезагрузите систему с помощью команды sudo reboot.
ответ дан kos
24 July 2018 в 18:04
поделиться
I had a similar error, but the problem was not in dpkg.status
, but in an apt listing.
To check the likely cause, run strace -efile apt install something
. Then look for the last files accessed before the error message shows:
stat("/var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_xenial_main_i18n_Translation-en%5fUS.uncompressed", 0x7fffd2f39d00) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_xenial_main_i18n_Translation-en%5fUS", 0x7fffd2f39e50) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_InRelease", 0x7fffd2f39d10) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_InRelease", 0x7fffd2f396d0) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=57344, ...}) = 0
open("/tmp/fileutl.message.XlglFW", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
unlink("/tmp/fileutl.message.XlglFW") = 0
open("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", O_RDONLY) = 6
open("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", O_RDONLY) = 5
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
Reading package lists... Done
E: The package lists or status file could not be parsed or opened.
+++ exited with 100 +++
In my case, the last file (a Release
file from fossology) turned out to be 0 bytes long. Removing that repository enabled apt to resume normal functionality
- Печать
Страницы: [1] Вниз
Тема: Чтение списков пакетов… Ошибка! (Прочитано 3598 раз)
0 Пользователей и 1 Гость просматривают эту тему.
![Оффлайн](https://forum.ubuntu.ru/Themes/ubuntu-portal/images/png/useroff.png)
SSAo6
Здавствуйте!
после двух команд
sudo apt-get update
произошол сбой с интернетом, а теперь если набрать
sudo apt-get upgrade
sudo apt-get update
посулачаю сообщение об ошибке.
удалять данные с /var/cache/apt уже пробовал
код ошибки
Вчём может быть проблема? и как её решить?
![Оффлайн](https://forum.ubuntu.ru/Themes/ubuntu-portal/images/png/useroff.png)
easy2002
sudo rm /var/lib/apt/lists/ru.archive.ubuntu.com_ubuntu_dists_natty_multiverse_i18n_Translation-en
sudo apt-get update
Tempora mutantur et nos mutantur in illis
![Оффлайн](https://forum.ubuntu.ru/Themes/ubuntu-portal/images/png/useroff.png)
фирэфохэ
Уже третья тема за последние минут 30 .
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ — УГ. Дебиан — недоось.
![Оффлайн](https://forum.ubuntu.ru/Themes/ubuntu-portal/images/png/useroff.png)
SSAo6
sudo rm /var/lib/apt/lists/ru.archive.ubuntu.com_ubuntu_dists_natty_multiverse_i18n_Translation-en
sudo apt-get update
Спасибо, у меня всё заработало благодаря тебе, тему можно закрывать…
« Последнее редактирование: 18 Мая 2011, 22:20:58 от SSAo6 »
- Печать
Страницы: [1] Вверх
Во время установки программ с помощью пакетного менеджера apt в любом из дистрибутивов, использующих этот пакетный менеджер, вы можете столкнуться с ошибкой, что у вас зафиксированы сломанные пакеты. Это пакеты, которые не установились полностью потому что им не хватает зависимостей или процесс установки был по какой-либо причине прерван.
В этой статье мы рассмотрим что делать с такой ошибкой, как её исправить, а также я дам ссылки на другие материалы на сайте, которые помогут справится с проблемой.
Как исправить у вас зафиксированы сломанные пакеты?
1. Обновите списки пакетов
Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:
sudo apt update --fix-missing
2. Установите битые пакеты
После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:
sudo apt install -f
3. Очистите лишние пакеты
Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:
sudo apt clean
Затем:
sudo apt autoremove
Утилита отобразит список всех битых пакетов, которые не установлены, вы можете попытаться их удалить с помощью команды:
sudo dpkg --remove -force --force-remove-reinstreq имя_пакета
4. Используйте dpkg
Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:
sudo dpkg --configure -a
Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:
sudo dpkg --remove -force --force-remove-reinstreq имя_пакета
5. Разрешите зависимости
Битые пакеты чаще всего появляются из-за того, что пакетный менеджер не может найти для них нужные зависимости. Если вам всё же очень нужно установить такой пакет, просто разрешите эти зависимости. Для этого можно скачать и установить их вручную или если вы уверенны, что зависимости в пакете указаны неверно, можно скачать его распаковать и удалить мешающие зависимости. Подробнее об этом читайте в этой статье.
Выводы
В этой небольшой статье мы рассмотрели что делать если в вашей системе появились битые пакеты и как их исправить. Здесь решение проблемы очень сильно зависит от вашей ситуации, но здесь приведены основные варианты решения, которые должны помочь вернуть пакетный менеджер к работе. Иногда рекомендуют удалить пакет вручную из базы данных dpkg /var/lib/dpkg/status, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.