包裹系统坏了。如何解决?


50

我最近刚购买了arduino,并需要gcc-avr / avrdude来编译软件。不久前,我为另一个微处理器组件安装了avr,但是显然它是一个过时的版本(gcc版本3.3 20030512(预发行版)),因此我继续更新了这些组件,但是没有用。

(请注意,在此之前,我还通过一个不完整的wine安装(无法通过字体安装协议)打破了我的aptdaemon,但我通过重新安装并接受了该协议来解决了这个问题。)

我正在尝试通过运行bingo的构建脚本来更新这些文件,但是由于avr而无法安装它所需的依赖项...终端报告

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,请:)顺便说一句,我的系统是Ubuntu 11.04


您的系统中是否安装了突触?!

是的,为什么?我不应该有吗
2012年

同样的错误(但基于libboost)。没有答案对我有用。
同构2014年

Answers:


41

收到该错误后,请尝试sudo apt-get -f install强制安装由于该错误而未加载的文件。

然后sudo apt-get updatesudo apt-get -f install来回尝试,直到只剩下有错误的软件包。

sudo dpkg --configure -a

并清理缓存

sudo apt-get clean


3
感谢您的回答,但正如您在发布此文章时找到了一个解决方案:PI打开了突触包管理器,并过滤出两个损坏的包,然后我用SPM删除了它们,现在一切运行起来都很顺畅。设法安装依赖项,现在我要使用宾果脚本安装avr!:)尚未完成,但是如果失败,我将尝试您的答案
Vigi 2012年

很高兴听到它的固定
Ringtail '04 -4-4

好的,只需删除11.04分区并重新安装11.10。现在与Windows Vista一起运行。所以现在我安装了最新的avr / binutils / libs等。现在,我可以为arduino编译东西了:)
维吉

由于此问题,我也无法加载鼠标驱动程序和WLAN驱动程序。这意味着我没有更多的互联网连接,无法使用sudo apt-get -f install
John Slegers 2015年

21

这通常是由于“未满足已安装软件包的依赖关系”而导致的。

如果您已安装“ Synaptic”,这是一个简单的解决方案:

  • 打开突触。
  • 转到“状态”(在左侧导航栏中)。
  • 选择“损坏”。
  • 删除这些损坏的程序包。

否则可以通过CLI处理:

打开终端并运行以下命令:

sudo apt-get clean

上面的命令将清除本地获取的打包文件的仓库。

sudo apt-get install -f

将纠正损坏的依赖关系,即-f此处代表“修复损坏”。

sudo dpkg --configure -a

将配置所有(-a)尚未配置的软件包。最后,请运行update命令sudo apt-get update


由于此问题,我也无法加载鼠标驱动程序和WLAN驱动程序。这意味着我没有更多的互联网连接,无法使用sudo apt-get -f install
John Slegers 2015年

您可以使用脱机/便携式软件包管理器,例如Keryx或Cube-帮助您从其他具有Internet连接的计算机(Linux或Windows)下载软件包和最新存储库(在文件夹中或直接到pendrive),完成后将pendrive插入没有互联网连接的计算机,然后安装下载的软件包。
Nabeel Ahmed

一步一步的教程使用立方(没有用它自己) - community.linuxmint.com/tutorial/view/1583
纳比尔·艾哈迈德

另一个使用逐步Keryx设置的askubuntu答案-askubuntu.com/a/181913/58950
Nabeel Ahmed

我能够解决使用sudo apt-get install -fsudo dpkg --configure -a..重新启动后,我重新获得网络,音频等问题的原因:)
Luke

16

开放突触安装突触。然后进入状态并选择破碎。然后完全取出损坏的包装。

这应该纠正您的系统。

在此处输入图片说明


我在Ubuntu 12.04上。当我打开Synaptics软件中心时,它说目录已损坏并且必须修复,并为我提供了一个修复按钮,可以立即解决问题。
Tyler Collier 2015年

3

尝试:sudo apt-get update && sudo apt-get -f install
我希望这可以解决问题。


2
没有为我解决。
Damien Roche

由于此问题,我也无法加载鼠标驱动程序和WLAN驱动程序。这意味着我没有更多的互联网连接,无法使用sudo apt-get -f install
John Slegers 2015年

1

如果还没有,请尝试将软件包存储库引用更改为“ Main”或“美国”。这样做解决了我的Python-dev未满足依赖性问题(我的12.04安装以前使用的是英国软件包存储库)。

  1. 在“ Ubuntu软件中心”(USC)中,转到菜单/标签“编辑=>软件源”。
  2. 将“下载自”下拉值更改为“主服务器”或美国的服务器。
  3. 离开USC,从Ubuntu的程序菜单中打开“更新管理器”,并“检查”软件更新(或在终端窗口中发出“ sudo apt-get update”)。
  4. 像平常一样更新软件,例如通过“更新管理器”或终端中的apt-get / aptitude。

这修复了我的存储库,然后我照常继续安装以后需要的任何东西。

在通过上述说明纠正我的问题之前,各种aptitude / apt-get命令建议我删除很多软件包,但是,正如您所知,我并不希望失去6个月以上的软件包补充,尽管我有时会快照软件包列表(请参阅要点以获取提示)!我很高兴能找到我要离开这里的指示。

希望这可以帮助。


1

遇到同样的问题,

sudo apt-get clean

其次是

sudo apt-get update

其次是

sudo apt-get upgrade -f

修复。我希望这有帮助!


1
由于此问题,我也无法加载鼠标驱动程序和WLAN驱动程序。这意味着我没有更多的互联网连接,无法使用sudo apt-get -f install
John Slegers
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.