![无法使用 sudo apt-get install 安装任何软件包](https://linux22.com/image/59344/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20sudo%20apt-get%20install%20%E5%AE%89%E8%A3%85%E4%BB%BB%E4%BD%95%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
我在今天刚刚设置的 Raspberry Pi 上运行 Raspbian,问题是每次我尝试安装任何软件包时都会收到错误,例如 sudo apt-get install samba 给我:
The following packages have unmet dependencies:
libc6 : Depends: libgcc1 but it is not going to be installed
samba : Depends: samba-common (= 2:3.6.6-6+deb7u4) but it is not going to be installed
Depends: libwbclient0 (= 2:3.6.6-6+deb7u4) but it is not going to be installed
Depends: libacl1 (>= 2.2.51-8) but it is not going to be installed
Depends: libattr1 (>= 1:2.4.46-8) but it is not going to be installed
Depends: libcap2 (>= 2.10) but it is not going to be installed
Depends: libcomerr2 (>= 1.01) but it is not going to be installed
Depends: libcups2 (>= 1.4.0) but it is not going to be installed
Depends: libgcc1 (>= 1:4.4.0) but it is not going to be installed
Depends: libgssapi-krb5-2 (>= 1.10+dfsg~) but it is not going to be installed
(...)
Try 'apt-get -f install' with no packages (or specify a solution).
所以我尝试执行 sudo apt-get -f install 但这给了我:
$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
libgcc1
The following NEW packages will be installed:
libgcc1
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2 not fully installed or removed.
Need to get 0 B/54.2 kB of archives. Continue [Y/n]? y
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/Debconf/Format/822.pm line 65, line 1.
Use of uninitialized value $item in hash element at /usr/share/perl5/Debconf/DbDriver/File.pm line 85, chunk 1.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/Debconf/Format/822.pm line 65, line 1.
Use of uninitialized value $item in hash element at /usr/share/perl5/Debconf/DbDriver/File.pm line 85, chunk 1.
E: Cannot get debconf version. Is debconf installed?
debconf: apt-extracttemplates failed: No such file or directory
dpkg: regarding .../libgcc1_1%3a4.8.2-21~rpi3rpi1_armhf.deb containing libgcc1:armhf, pre-dependency problem: libgcc1 pre-depends on multiarch-support, multiarch-support is unpacked, but has never been configured.
dpkg: error processing /var/cache/apt/archives/libgcc1_1%3a4.8.2-21~rpi3rpi1_armhf.deb (--unpack): pre-dependency problem - not installing libgcc1:armhf
Errors were encountered while processing: /var/cache/apt/archives/libgcc1_1%3a4.8.2-21~rpi3rpi1_armhf.deb
E:Sub-process /usr/bin/dpkg returned an error code (1)
然后我试图弄清楚如何修复这些新错误,最后我得到了这里:http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=48737
所以我按照以下步骤操作:https://askubuntu.com/questions/55099/dpkg-error-parsing-file-var-lib-dpkg-available-near-line-0
因为这似乎对另一个人有用,但它仍然给我同样的错误,看起来数据包管理有问题,有谁知道我将如何解决这个问题?
答案1
从这个答案https://askubuntu.com/a/485293
免责声明:我不确定这会对我的整体软件包设置产生什么影响,或者导致后续升级出现任何问题。
手动强制多架构支持的安装状态:
nano /var/lib/dpkg/status
找到以 Package: 开头的行,例如:
Package: multiarch-support
Status: install ok unpacked
改成unpacked
installed
保存并退出
sudo apt-get install -f
这应该现在可以修复您的依赖关系
sudo apt-get install git
答案2
其他一些报告此问题的人通过/var/cache
在启动时进入 tmpfs 造成了这个问题。 Raspbian 默认情况下不是这样的,系统也不会那样工作,所以如果你已经这样做了,你最好重新安装。
如果不是的话,可能是SD卡的问题。即使它是一张新卡,其中一小部分可能天生就失效了,如果昨天有 10 000 人做同样的事情,只有一个人最终遇到这个问题,那么你的可能性就是(注意大多数人可能永远不会有)生活中存在这样的问题,但确实存在的问题往往会引起很大的噪音)。
首先使用 检查第二个分区e2fsck
。为此,您需要将其放入另一个 Linux 盒子中。如果您没有,请获取一张 Live CD 并使用它,从长远来看,这可能会让您使用 pi 的生活变得更轻松。将卡插入并找出卡上第二个分区的设备节点是什么(一些弹出窗口可能会告诉您,或者您可以比较ls /dev
插入之前和之后)。您不希望它安装,如果它自动安装则撤消该操作。那么如果是/dev/sdb2
:
e2fsck -c /dev/sdb2
不要弄错该设备节点。非常确定。这可能需要一段时间,但不会太长。它应该完成且没有错误。如果它开始出现很多问题,您可以停止它并重新启动,以-y
自动对所有内容回答“是”,或者,由于您的根文件系统显然已损坏,请重新刷新该卡。或者你可以在卡上捐款。如果您连续两次经历这种情况,一定要尝试另一次。
如果一切顺利,那么随机腐败或多或少就被排除了。那时我有又发现一处货物崇拜。重新启动 pi 并:
sudo apt-get install debconf --reinstall
但同样,在检查分区 w/ 之前不要担心这一切e2fsck
。
答案3
第一次尝试:
dpkg -a --configure
之后运行之前的“apt-get 命令”。 'libgcc1'与gcc编译器无关,它与网络有关。经过上述尝试后,请尝试:
apt-get --reinstall install libgcc1
如果您没有得到任何答复,请报告。