Система пакетов не работает. Как это исправить?

45

Недавно я купил arduino и требует, чтобы gcc-avr / avrdude собирал программное обеспечение. Я установил avr для другого компонента микропроцессора некоторое время назад, но, очевидно, устаревшая версия (gcc version 3.3 20030512 (preerelease)), поэтому я пошел обновлять их, но это не сработало.

(Обратите внимание, что перед раздачей я также сломал свой aptdaemon через неполную установку вина (не смог получить согласие на установку шрифта), но я исправил это, переустановив, затем согласившись с соглашением.)

Я пытаюсь обновить их, запустив скрипт сборки bingo но требуемые зависимости не могут быть установлены из-за сообщений avr ... terminal

Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
libncurses5-dev is already the newest version.
libncurses5-dev set to manually installed.
libusb-0.1-4 is already the newest version.
libx11-dev is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arduino-core : Depends: gcc-avr but it is not going to be installed
avr-libc : Depends: gcc-avr (>= 1:4.3.4) but it is not going to be installed
Depends: binutils-avr (>= 2.20) but it is not going to be installed
binutils-dev : Depends: binutils (= 2.21.0.20110327-2ubuntu3) but 2.21.0.20110327-2ubuntu2 is to be installed
libcwidget-dev : Depends: libcwidget3 (= 0.5.16-3ubuntu2) but it is not going to be installed
Depends: libsigc++-2.0-dev but it is not going to be installed
Depends: libncursesw5-dev but it is not going to be installed
libmpfr-dev : Depends: libgmp3-dev (>= 4.2.dfsg-1) but it is not going to be installed
python-dev : Depends: python (= 2.7.1-0ubuntu5.1) but 2.7.1-0ubuntu5 is to be installed
Depends: python2.7-dev (>= 2.7.1-1~) but it is not going to be installed
tk8.4-dev : Depends: tk8.4 (= 8.4.19-4) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Но запуск

apt-get -f install

приводит к

(Reading database ... 163021 files and directories currently installed.)
Unpacking binutils-avr (from .../binutils-avr_2.20.1-1ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-size', which is also in package avr-binutils 2.13.90.030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking gcc-avr (from .../gcc-avr_1%3a4.3.5-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-g++', which is also in package avr-gcc-c++ 3.2.90.20030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb
/var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

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

The following packages have unmet dependencies:
arduino-core: Depends: gcc-avr but it is not installed
avr-libc: Depends: gcc-avr (>= 1:4.3.4) but it is not installed
Depends: binutils-avr (>= 2.20) but it is not installed

, который затем подскажет мне попробовать запустить apt-get -f install, который будет выглядеть так же, как в прошлый раз.

Итак, как я могу исправить свою систему, мне действительно нужен новый avr, пожалуйста :) BTW, моя система Ubuntu 11.04

    
задан Vigi 04.04.2012 в 03:41
источник

6 ответов

31

После получения этой ошибки попробуйте sudo apt-get -f install , чтобы принудительно установить файлы, которые не были загружены из-за ошибки.

Затем повторите попытку sudo apt-get update , sudo apt-get -f install назад и вперед, пока не останется только пакет с ошибкой.

sudo dpkg --configure -a

и очистите кеш

sudo apt-get clean

    
ответ дан Ringtail 04.04.2012 в 04:41
17

Обычно это происходит из-за «Неудовлетворенных зависимостей для установленных пакетов».

Вот простое решение, если у вас установлен «Synaptic»:

  • Откройте Synaptic.
  • Перейдите в «Статус» (в левой навигации).
  • Выберите «Broken».
  • Удалите эти сломанные пакеты.

В противном случае его можно обрабатывать через CLI:

Откройте терминал и запустите эту команду:

sudo apt-get clean

Выше команда очистит локальный репозиторий полученного файла пакета.

sudo apt-get install -f

Будет исправлено нарушение зависимостей, т. е. -f здесь означает «исправление неисправности».

sudo dpkg --configure -a

настроит все ( -a ) пакеты, которые еще не настроены. В конце запустите команду update sudo apt-get update .

    
ответ дан Nabeel Ahmed 21.04.2013 в 16:22
14

Откройте синаптический .ЗатемперейдитекстатусуивыберитеРазбитый.Затемполностьюудалитесломанныепакеты.

Этодолжноисправитьвашусистему.

    
ответ дан user61928 03.10.2012 в 12:34
3

Попробуйте: sudo apt-get update && sudo apt-get -f install
Я надеюсь, что это решит проблему.

    
ответ дан Frantique 03.10.2012 в 12:09
1

Если вы еще этого не сделали, попробуйте изменить ссылку на репозиторий вашего пакета на «Главная» или в США . Выполнение этой задачи устранило мою проблему с неудовлетворенными зависимостями Python-dev (моя установка 12.04 была с использованием репозитория пакетов Соединенного Королевства ранее).

  1. В «Ubuntu Software Center» (USC) перейдите в меню / вкладку «Редактировать = > Источники программного обеспечения.
  2. Измените раскрывающееся значение «Загрузить с» на «Основной сервер» или на сервер в Соединенных Штатах.
  3. Оставьте USC, открыть «Менеджер обновлений» из меню программы Ubuntu и «Проверить» для обновления программного обеспечения (или выпустить «sudo apt-get update» в окне терминала).
  4. Обновите программное обеспечение, как обычно, например. через «Update Manager» или apt-get / aptitude в терминале.

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

Прежде чем исправить мою проблему с помощью приведенных выше инструкций, различные команды aptitude / apt-get предложили удалить многие, многие пакеты, но, как вы можете оценить, я не хотел потерять свои 6-месячные + дополнения к пакетам и это даже при том, что время от времени снижаю список пакетов (см. мой gist для подсказок)! Я очень рад, что узнал о инструкциях, которые я оставляю здесь.

Надеюсь, что это поможет.

    
ответ дан Big Rich 12.04.2013 в 00:38
0

Имела ту же проблему,

sudo apt-get clean

, за которым следует

sudo apt-get update

, за которым следует

sudo apt-get upgrade -f

зафиксировал его. Надеюсь, это поможет!

    
ответ дан user152730 28.04.2013 в 02:40