apt-get:几乎所有软件包“没有安装候选”

apt-get:几乎所有软件包“没有安装候选”

笔记:我知道这个问题似乎是重复的“E:软件包 '' 没有安装候选”,但该问题中唯一发布的答案根本没有帮助我。我试图包含比该问题更多的信息,包括评论和答案中每项建议的结果。


背景:我有一个 Raspberry Pi 1 Model B,运行 Raspbian Wheezy,我之前在上面安装了 ROS(机器人操作系统),但没有做太多其他事情。本周,我一直在尝试从源代码安装几个额外的 ROS 软件包。在尝试修复各种编译器和依赖项问题时(我承认,我在从互联网上运行随机命令时遇到了麻烦 - 问题是在我尝试升级 libboost 后开始的,然后尝试将其恢复到以前的版本),我已经显然成功地彻底冲洗了apt-get系统。

我的问题是apt-get不再能够成功安装任何东西。我尝试过的所有操作最终都会出现“E:软件包'package-name'没有安装候选”错误(是的,我已经sudo apt-get update反复运行过,sources.list 的几个变体)。根据apt-get upgrade和,一切都是最新的apt-get dist-upgradeaptitude在安装东西方面并没有表现得更好。

我想修复现有的安装,但如果系统在不进行大量工作的情况下无法挽救,我愿意从新映像重新启动 - 我已经备份了所有重要的内容。


以下是 /etc/apt/ 目录中所有 .list 文件的内容:

pi@raspberrypi ~ $ find /etc/apt/ -path *.list | xargs tail -n +1
==> /etc/apt/sources.list.d/collabora.list <==
deb http://raspberrypi.collabora.com wheezy rpi

==> /etc/apt/sources.list.d/ros-latest.list <==
deb http://packages.ros.org/ros/ubuntu wheezy main

==> /etc/apt/sources.list.d/raspi.list <==
deb http://archive.raspberrypi.org/debian/ wheezy main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ wheezy main

==> /etc/apt/sources.list <==
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi

#deb http://raspbian.mirrors.lucidnetworks.net/raspbian/ wheezy main contrib non-free rpi

#deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
# Source repository to add
#deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
#deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
#deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
# Source repository to add
#deb-src http://archive.raspbian.org/raspbian jessie main contrib non-free rpi

apt-get update这是、apt-get upgrade和 的输出apt-get upgrade

pi@raspberrypi ~ $ sudo apt-get update
Hit http://packages.ros.org wheezy Release.gpg
Hit http://raspberrypi.collabora.com wheezy Release.gpg
Hit http://archive.raspberrypi.org wheezy Release.gpg
Hit http://packages.ros.org wheezy Release
Hit http://raspberrypi.collabora.com wheezy Release
Hit http://archive.raspberrypi.org wheezy Release
Hit http://mirrordirector.raspbian.org wheezy Release.gpg
Hit http://mirrordirector.raspbian.org testing Release.gpg
Hit http://packages.ros.org wheezy/main armhf Packages
Hit http://mirrordirector.raspbian.org wheezy Release
Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages
Hit http://mirrordirector.raspbian.org testing Release
Hit http://archive.raspberrypi.org wheezy/main armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/main armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/contrib armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/non-free armhf Packages
Ign http://packages.ros.org wheezy/main Translation-en_GB
Ign http://packages.ros.org wheezy/main Translation-en
Hit http://mirrordirector.raspbian.org wheezy/rpi armhf Packages
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB
Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en
Ign http://archive.raspberrypi.org wheezy/main Translation-en
Hit http://mirrordirector.raspbian.org testing/main Sources
Hit http://mirrordirector.raspbian.org testing/contrib Sources
Hit http://mirrordirector.raspbian.org testing/non-free Sources
Hit http://mirrordirector.raspbian.org testing/rpi Sources
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Reading package lists... Done

pi@raspberrypi ~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

pi@raspberrypi ~ $ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

当我尝试安装一个漂亮、简单的程序 bc 时,会发生以下情况:

pi@raspberrypi ~ $ sudo apt-get install bc
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package bc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'bc' has no installation candidate

最后,这里有一些可能相关的 apt-cache 结果。我确实安装了所有依赖项,尽管我不确定 install-info 的(最低要求?)版本号为“(null)”是否正常。

pi@raspberrypi ~ $ dpkg --print-architecture
armhf

pi@raspberrypi ~ $ apt-cache dump | grep -m 1 -A 9 'Package: bc$'
Package: bc
 Version: 1.06.95-2
     File: /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
  Depends: libc6 2.4
  Depends: libreadline6 6.0
  Depends: dpkg 1.15.4
  Depends: install-info (null)
 Description Language:
                 File: /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
                  MD5: 5d0bd9bd305e8d8ca79ea90107c2ec5a

pi@raspberrypi ~ $ apt-cache policy bc
bc:
  Installed: (none)
  Candidate: (none)
  Version table:
     1.06.95-2 0
        -10 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages

pi@raspberrypi ~ $ apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://packages.ros.org/ros/ubuntu/ wheezy/main armhf Packages
     release o=ROS,a=wheezy,n=wheezy,l=ROS wheezy,c=main
     origin packages.ros.org
 500 http://archive.raspberrypi.org/debian/ wheezy/main armhf Packages
     release o=Raspberry Pi Foundation,a=oldstable,n=wheezy,l=Raspberry Pi Foundation,c=main
     origin archive.raspberrypi.org
 500 http://raspberrypi.collabora.com/ wheezy/rpi armhf Packages
     release o=Collabora,n=wheezy,l=Collabora Raspberry Pi graphics enablement,c=rpi
     origin raspberrypi.collabora.com
 -10 http://mirrordirector.raspbian.org/raspbian/ wheezy/rpi armhf Packages
     release v=7.0,o=Raspbian,a=oldstable,n=wheezy,l=Raspbian,c=rpi
     origin mirrordirector.raspbian.org
 -10 http://mirrordirector.raspbian.org/raspbian/ wheezy/non-free armhf Packages
     release v=7.0,o=Raspbian,a=oldstable,n=wheezy,l=Raspbian,c=non-free
     origin mirrordirector.raspbian.org
 -10 http://mirrordirector.raspbian.org/raspbian/ wheezy/contrib armhf Packages
     release v=7.0,o=Raspbian,a=oldstable,n=wheezy,l=Raspbian,c=contrib
     origin mirrordirector.raspbian.org
 -10 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages
     release v=7.0,o=Raspbian,a=oldstable,n=wheezy,l=Raspbian,c=main
     origin mirrordirector.raspbian.org
Pinned packages:

pi@raspberrypi ~ $ apt-cache showpkg bc
Package: bc
Versions:
1.06.95-2 (/var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages)
 Description Language:
                 File: /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
                  MD5: 5d0bd9bd305e8d8ca79ea90107c2ec5a


Reverse Depends:
  simbamond,bc
  videogen,bc
  shorewall-lite,bc
  shorewall-core,bc
  shorewall,bc
  secvpn,bc
  lsb-core,bc
  linux-source-3.18,bc
  linux-source-3.12,bc
  linux-source-3.10,bc
  junior-math,bc
  ibid,bc
  fish,bc
  education-common,bc
  debian-cd,bc
  cups,bc
  calamaris,bc
  apt-move,bc
Dependencies:
1.06.95-2 - libc6 (2 2.4) libreadline6 (2 6.0) dpkg (18 1.15.4) install-info (0 (null))
Provides:
1.06.95-2 -
Reverse Provides:

pi@raspberrypi ~ $ apt-cache madison bc
        bc |  1.06.95-2 | http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages
        bc |  1.06.95-9 | http://mirrordirector.raspbian.org/raspbian/ testing/main Sources

我没有用完磁盘空间:

pi@raspberrypi ~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        59G  6.1G   50G  11% /
devtmpfs        214M     0  214M   0% /dev
tmpfs            44M  252K   44M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            87M     0   87M   0% /run/shm
/dev/mmcblk0p1   56M   20M   36M  36% /boot

编辑:为了回应吉尔斯的评论,这是我的/etc/apt/preferences

pi@raspberrypi ~ $ ls /etc/apt/preferences.d
pi@raspberrypi ~ $ cat /etc/apt/preferences
Package: *
Pin: release n=wheezy
Pin-Priority: 900
Package: *
Pin: release n=jessie
Pin-Priority: 300
Package: *
Pin: release o=Raspbian
Pin-Priority: -10

相关内容