Ошибка с dpkg - невозможно настроить (текущее состояние «половина установки») [dублировать]

Я столкнулся с тем же, и, наконец, понял, что это потому, что я зашифровал свой домашний каталог. SSH не может прочитать файл authorized_keys до входа в систему, поэтому в основном это заставляет вас сначала аутентифицировать пароль. См. Раздел о зашифрованном домашнем каталоге по следующей ссылке:

https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Encrypted_Home_Directory

30
задан 13 July 2014 в 14:58

10 ответов

sudo dpkg --remove --force-remove-reinstreq --dry-run libgfortran3:amd64

Это просто сухой пробег. Я не уверен, что удаление libgfortran3 будет выполняться с ним, но запустите это и посмотрите. Предполагая, что он не собирается собирать всю систему, запустите ее снова без --dry-run, а затем вы можете sudo apt-get install ... вернуть пакеты.

30
ответ дан 18 July 2018 в 11:08
sudo dpkg --remove --force-remove-reinstreq --dry-run libgfortran3:amd64

Это просто сухой пробег. Я не уверен, что удаление libgfortran3 будет выполняться с ним, но запустите это и посмотрите. Предполагая, что он не собирается собирать всю систему, запустите ее снова без --dry-run, а затем вы можете sudo apt-get install ... вернуть пакеты.

30
ответ дан 24 July 2018 в 19:43

Это должно устранить проблему без повторной установки пакета.

sudo dpkg --force-remove-reinstreq --remove <package_name here>

Далее следуют: sudo apt-get update

2
ответ дан 18 July 2018 в 11:08

Если вы хотите исправить это через графический интерфейс, вы можете использовать синаптический интерфейс. Synaptic - отличный инструмент управления пакетами, который раньше включался в более старые версии ubuntu. Чтобы установить его:

sudo apt-get install synaptic

нажмите на исправление сломанных пакетов.

2
ответ дан 18 July 2018 в 11:08

Для половины установленной ошибки пакета, --reinstall работал для меня:

sudo apt-get install --reinstall packagename
49
ответ дан 18 July 2018 в 11:08
sudo apt install --reinstall packagename

Это работает как шарм. Он разрешил проблему, которую я испытывал в течение нескольких месяцев. Мой случай был с пакетом libmysqlcppconn7v5

Все, что я сделал, было выполнено sudo apt install --reinstall libmysqlcppconn7v5

5
ответ дан 18 July 2018 в 11:08

Это должно устранить проблему без повторной установки пакета.

sudo dpkg --force-remove-reinstreq --remove <package_name here>

Далее следуют: sudo apt-get update

2
ответ дан 24 July 2018 в 19:43
  • 1
    Почему --force-remove-reinstreq? Менеджер пакетов не указывает, что требуется переустановка. Как правило, регулярное удаление просто отлично подходит для неконфигурированных пакетов. -1 – David Foerster 12 September 2016 в 23:21
  • 2
    Это то, что я делаю, когда sudo apt-get remove <package недоступен, и я не хочу переустанавливать этот полуприложенный пакет. Затем я использую --force-remove-reinstreq, чтобы удалить эти джонки. PS: Это на Linux Mint .. Я сомневаюсь, что это будет по-другому, поскольку Linux основан на Ubuntu .. – Prashant Shahi 14 September 2016 в 00:44
  • 3
    Менеджер пакетов работает одинаково во всех дистрибутивах на основе Debian (это значит, что dpkg стоит в конце концов), но вы не должны использовать --force-* «на всякий случай». Сообщения об ошибках появляются по какой-либо причине и не должны восприниматься неопытными пользователями, поэтому вам не следует предлагать ненужные опции --force-*. В противном случае мы могли бы просто рекомендовать всегда использовать --force-all или, еще лучше, удалить опции --force-* из dpkg в целом и заставить их быть по умолчанию, потому что это было бы проще и удобнее. – David Foerster 14 September 2016 в 01:28
  • 4
    Хорошо, признай это ... Меня больше беспокоило о том, чтобы сделать работу, чем, зная, что и как именно это делается .. Извинения .. – Prashant Shahi 14 September 2016 в 02:31
  • 5
    Хм ... Я просто вижу, что принятый ответ предлагает то же самое. Поэтому я мог ошибаться в том, что --force-remove-reinstreq не нужен. Но это также означает, что ваш ответ (почти) дублирует его. Повезет в следующий раз. – David Foerster 14 September 2016 в 02:47

Если вы хотите исправить это через графический интерфейс, вы можете использовать синаптический интерфейс. Synaptic - отличный инструмент управления пакетами, который раньше включался в более старые версии ubuntu. Чтобы установить его:

sudo apt-get install synaptic

нажмите на исправление сломанных пакетов.

2
ответ дан 24 July 2018 в 19:43
  • 1
    synaptic не перечисляет пакет в сломанной категории :( – Barun 2 July 2014 в 13:00

Для половины установленной ошибки пакета, --reinstall работал для меня:

sudo apt-get install --reinstall packagename
49
ответ дан 24 July 2018 в 19:43
  • 1
    Да, но предупреждение, что после переустановки packagename, apt-get затем перейдет к настройке любых настроенных пакетов. – Cedric Knight 23 October 2015 в 16:53
  • 2
    это безопаснее, чем принятый ответ imho. – Zanna 25 June 2017 в 17:44
  • 3
    sudo apt-get install --reinstal ncurses-base, а позже я запускал обновление sudo apt-get с помощью пользователя root (sudo -s), он работал именно так ... – ArifMustafa 13 June 2018 в 05:36
  • 4
    Великий. только это решение решило мою проблему – iWizard 4 July 2018 в 16:33
sudo apt install --reinstall packagename

Это работает как шарм. Он разрешил проблему, которую я испытывал в течение нескольких месяцев. Мой случай был с пакетом libmysqlcppconn7v5

Все, что я сделал, было выполнено sudo apt install --reinstall libmysqlcppconn7v5

5
ответ дан 24 July 2018 в 19:43

Другие вопросы по тегам:

Похожие вопросы: