如何修复 E: 内部错误,libc6 没有文件名,这样会显示如果我这样做:
$ sudo apt-get upgrade
or
$ sudo apt-get install package
Run Code Online (Sandbox Code Playgroud)
这是示例:
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
ginn hplip hplip-data libdrm-dev libdrm-intel1 libdrm-nouveau1a
libdrm-radeon1 libdrm2 libgrip0 libhpmud0 libkms1 libsane-hpaio
libunity-2d-private0 libunity-core-5.0-5 linux-generic-pae
linux-headers-generic-pae linux-image-generic-pae printer-driver-hpcups
printer-driver-hpijs unity unity-2d-common unity-2d-panel unity-2d-shell
unity-2d-spread unity-common unity-services
The following packages will be upgraded:
alsa-base firefox firefox-globalmenu firefox-gnome-support firefox-locale-en
icedtea-6-jre-cacao icedtea-6-jre-jamvm icedtea-7-jre-jamvm libdbus-glib-1-2
libdbus-glib-1-dev libgnutls-dev libgnutls-openssl27 libgnutls26
libgnutlsxx27 libssl-dev libssl-doc libssl1.0.0 linux-sound-base
openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib openjdk-7-jdk
openjdk-7-jre openjdk-7-jre-headless openjdk-7-jre-lib openssl sudo
27 upgraded, 0 newly installed, 0 to remove and 26 not upgraded.
3 not fully installed or removed.
Need to get 0 B/126 MB of archives.
After this operation, 3,072 B of additional disk space will be used.
Do you want to continue [Y/n]? y
E: Internal Error, No file name for libc6
Run Code Online (Sandbox Code Playgroud)
我已经按照这里的说明如何解决 E: 使用 apt-get remove 时出现内部错误?. 哪个做:
sudo apt-get update
sudo apt-get clean
sudo apt-get install -fy
sudo dpkg -i /var/cache/apt/archives/*.deb
sudo dpkg --configure -a
sudo apt-get install -fy
sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)
但是E: Internal Error, No file name for libc6在执行命令时遇到 同样的错误sudo apt-get install -fy。
我一直在寻找谷歌,但直到现在还没有成功。
谢谢。
Ada*_* A. 20
我知道这是旧线程,但我最近在升级 12.04 LTS 时遇到了这个问题。这里的解决方案都没有完全解决我的问题。深入研究后,发现与升级时libc6 i386的升级有关:
$> dpkg -i /var/cache/apt/archives/libc6_2.15-0ubuntu10.6_i386.deb
(Reading database ... 259895 files and directories currently
installed.) Preparing to replace libc6:i386 2.15-0ubuntu10.5 (using
.../libc6_2.15-0ubuntu10.6_i386.deb) ... dpkg: error processing
/var/cache/apt/archives/libc6_2.15-0ubuntu10.6_i386.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
Run Code Online (Sandbox Code Playgroud)
经过多次修补,这似乎奏效了。目标是删除无法升级的攻击性 libc6 包,并逐步使其余升级工作,最终也会升级 libc6 包。
运行升级(会失败):
sudo apt-get upgrade
然后安装我们可以从缓存中获取的文件(某些会成功,但其他人会失败):
sudo dpkg -i /var/cache/apt/archives/*.deb
删除令人反感的 libc6(不要清除)。它会导致很多依赖关系中断,别担心我们会尽快修复它们。
sudo dpkg -r --force-depends libc6:i386
重新配置它和其他包(大部分会成功):
sudo dpkg --configure -a
从缓存中取得更多进展(某些人成功,其他人失败):
sudo dpkg -i /var/cache/apt/archives/*.deb
现在运行另一个升级,它将下载所需的软件包(安装失败):
sudo apt-get upgrade
如果幸运的话,它可能会从这里开始工作,但如果不是,则再进行一轮缓存安装即可。
从缓存中再次安装(会成功!)
sudo dpkg -i /var/cache/apt/archives/*.deb
现在您可以检查进一步的安装/升级是否会成功。
ima*_*man 13
尝试这个:
sudo rm -f /etc/apt/sources.list.d/*
sudo dpkg --configure -a
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79383 次 |
| 最近记录: |