Apt / Synaptic необходимо переустановить пакет, но не могу найти архив для него

36

При запуске Synaptic я получаю следующее сообщение об ошибке:

E: The package hl1440lpr needs to be reinstalled, but I can't find an archive for it.
E: Internal error opening cache (1). Please report.

После принятия сообщения Synaptic завершает работу.

Дэвид
источник
3
Каким набором инструкций / веб-сайта вы следовали и с какой проблемой вы столкнулись?
Пантера

Ответы:

65

Ну, нам может понадобиться несколько шагов, чтобы это исправить.

  1. Начните с:

    sudo dpkg --remove --force-all hl1440lpr
    
  2. Если это не удается:

    sudo rm -i /var/lib/dpkg/info/hl1440lpr.*
    sudo dpkg --remove --force-remove-reinstreq hl1440lpr
    
  3. Подтвердите, что Apt исправлен. Следующая команда не должна возвращать ошибок:

    sudo apt-get update
    
пантера
источник
Я столкнулся с этой ситуацией, когда обновлялся до Ubuntu 12.10, но случайно остановил компьютер на полпути. После пробуждения компьютера обновление (очевидно) не удалось, и рядом с индикатором батареи появился красный значок, который сказал, что, как E:The package xterm needs to be reinstalled, but I can't find an archive for it.только я применил это предложение, sudo dpkg --remove --force-all xtermвсе было исправлено. Благодарность! PS, было бы неплохо, если бы вы могли отредактировать, sodoчтобы сказать sudo, что я не придирюсь, но это расстроит кого-то, кто ничего не знает о Linux.
Дилан Мерфи
1
Спасибо, бодхи.Зазен. Ваше решение сработало для моего неисправного брата-водителя; dcpj4110dwlpr.
v2r
Отлично! Первое решение не удалось, и процесс завис, но второе сработало. Благодарность! (пробовал на сервере Debian)
Shautieh
Просто дополнение к @panther. Sudo dpkg --remove --force-all hl1440lpr работал для других пакетов, у меня был libperl5.22, который, похоже, вылетал при обновлении. Единственная проблема заключалась в том, что это требовало от меня прав суперпользователя. Поскольку я был в облаке Google, su не работал, пока я не сделал пароль.
JustAGrump
6

Оказывается, это не будет исправлено с помощью обычных команд, потому что я отключил multiverseхранилище в окне программного обеспечения и обновлений после установки пакета .

Я прочитал, чтобы сделать это в посте где-то еще, и только в другом прочитанном мною посте я дважды проверил, чтобы убедиться, что он был ВКЛЮЧЕН , затем я понял, что вообще не должен был это отключать.

Включение многооборотного репозитория снова позволило мне переустановить пакет.


Поэтому, как правило, в случае возникновения ошибок такого рода убедитесь, что вы не отключили источник программного обеспечения, из которого поступает этот пакет.

EmileBeaulieu
источник
3
dpkg --remove --force-remove-reinstreq   broken---stuff

(плюс удаление файла)

работает как шарм. Синаптик должен предложить эту функцию вместо того, чтобы умирать и оставлять людей с огромным беспорядком. synaptic не является удобным для пользователя.

синаптический не любитель
источник
2
Вы должны быть осторожны с этой командой, в зависимости от того, что вы удаляете, она может каскадно удалить весь ваш рабочий стол.
ravery