ubuntu下卸载软件出错

YueZheng 发布于 2012/07/25 10:46
阅读 3K+
收藏 0

ubuntu12.04下使用apt-get remove 卸载软件时,出现下面的错误:

E: Internal Error, No file name for libssl1.0.0

请问是怎么回事?如何解决

 

加载中
0
JustForFly
JustForFly

引用来自“YueZheng”的答案

引用来自“JustForFly”的答案

你要先确认你同过apt-get install 安装了libssl1.0.0,注意安装后的名称。

可能是 libssl 而不是 libssl1.0.0

下面是报错的信息:

 

root@molic-ProLiant-DL380-G5-compute1:/# apt-get upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
您也许需要运行“apt-get -f install”来修正上面的错误。
下列软件包有未满足的依赖关系:
 libssl1.0.0 : 破坏: libssl1.0.0:i386 (!= 1.0.1-4ubuntu5.3) 但是 1.0.0e-2ubuntu4.5 已经安装
 libssl1.0.0:i386 : 依赖: libc6:i386 (>= 2.7) 但是它还没有被安装
                    依赖: zlib1g:i386 (>= 1:1.1.4) 但是它还没有被安装
                    破坏: libssl1.0.0 (!= 1.0.0e-2ubuntu4.5) 但是 1.0.1-4ubuntu5.3 已经安装
E: 不能满足依赖关系。不妨试一下 -f 选项。
 
root@molic-ProLiant-DL380-G5-compute1:/# apt-get install -f
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在更正依赖关系... 完成
下列软件包是自动安装的并且现在不需要了:
  libnet-daemon-perl libdbi-perl dbconfig-common libhtml-template-perl
  libapache2-mod-php5 mysql-server-core-5.5 libmcrypt4 mysql-client-core-5.5
  libdbd-mysql-perl python-passlib php5-mcrypt libplrpc-perl php5-mysql php5-common
  mysql-server-5.5 mysql-client-5.5
使用'apt-get autoremove'来卸载它们
将会安装下列额外的软件包:
  gcc-4.6-base:i386 libc6:i386 libgcc1:i386 libssl1.0.0:i386 zlib1g:i386
建议安装的软件包:
  glibc-doc:i386 locales:i386
下列【新】软件包将被安装:
  gcc-4.6-base:i386 libc6:i386 libgcc1:i386 zlib1g:i386
下列软件包将被升级:
  libssl1.0.0:i386
升级了 1 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 135 个软件包未被升级。
有 11 个软件包没有被完全安装或卸载。
需要下载 0 B/5,110 kB 的软件包。
解压缩后会消耗掉 9,846 kB 的额外空间。
您希望继续执行吗?[Y/n]y
E: Internal Error, No file name for libssl1.0.0

不好意思,下午有点事离开了。

你这个看上去是要升级libssl啊。

建议,你先用 dpkg -l *libssl* 这个命令看看是否系统中安装的libssl的状态。

然后,检查你的apt的源是否正确,文件为:/etc/apt/sources.list ,所有apt安装的文件都是来自这里。

看看你最近是否修改过这个文件,如果修改过,需要使用apt-get update更新源。

我也是linux新手,希望可以帮到你。

JustForFly
JustForFly
因为从 E: Internal Error, No file name for libssl1.0.0 判断,是在更新的时候,在apt源里面找不到libssl1.0.0这一项,所以怀疑你的apt源被修改过
0
JustForFly
JustForFly

你要先确认你同过apt-get install 安装了libssl1.0.0,注意安装后的名称。

可能是 libssl 而不是 libssl1.0.0

YueZheng
YueZheng
我把报错贴在下面了,帮忙看下,谢谢
0
YueZheng
YueZheng

引用来自“JustForFly”的答案

你要先确认你同过apt-get install 安装了libssl1.0.0,注意安装后的名称。

可能是 libssl 而不是 libssl1.0.0

下面是报错的信息:

 

root@molic-ProLiant-DL380-G5-compute1:/# apt-get upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
您也许需要运行“apt-get -f install”来修正上面的错误。
下列软件包有未满足的依赖关系:
 libssl1.0.0 : 破坏: libssl1.0.0:i386 (!= 1.0.1-4ubuntu5.3) 但是 1.0.0e-2ubuntu4.5 已经安装
 libssl1.0.0:i386 : 依赖: libc6:i386 (>= 2.7) 但是它还没有被安装
                    依赖: zlib1g:i386 (>= 1:1.1.4) 但是它还没有被安装
                    破坏: libssl1.0.0 (!= 1.0.0e-2ubuntu4.5) 但是 1.0.1-4ubuntu5.3 已经安装
E: 不能满足依赖关系。不妨试一下 -f 选项。
 
root@molic-ProLiant-DL380-G5-compute1:/# apt-get install -f
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在更正依赖关系... 完成
下列软件包是自动安装的并且现在不需要了:
  libnet-daemon-perl libdbi-perl dbconfig-common libhtml-template-perl
  libapache2-mod-php5 mysql-server-core-5.5 libmcrypt4 mysql-client-core-5.5
  libdbd-mysql-perl python-passlib php5-mcrypt libplrpc-perl php5-mysql php5-common
  mysql-server-5.5 mysql-client-5.5
使用'apt-get autoremove'来卸载它们
将会安装下列额外的软件包:
  gcc-4.6-base:i386 libc6:i386 libgcc1:i386 libssl1.0.0:i386 zlib1g:i386
建议安装的软件包:
  glibc-doc:i386 locales:i386
下列【新】软件包将被安装:
  gcc-4.6-base:i386 libc6:i386 libgcc1:i386 zlib1g:i386
下列软件包将被升级:
  libssl1.0.0:i386
升级了 1 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 135 个软件包未被升级。
有 11 个软件包没有被完全安装或卸载。
需要下载 0 B/5,110 kB 的软件包。
解压缩后会消耗掉 9,846 kB 的额外空间。
您希望继续执行吗?[Y/n]y
E: Internal Error, No file name for libssl1.0.0
0
YueZheng
YueZheng

引用来自“JustForFly”的答案

引用来自“YueZheng”的答案

引用来自“JustForFly”的答案

你要先确认你同过apt-get install 安装了libssl1.0.0,注意安装后的名称。

可能是 libssl 而不是 libssl1.0.0

下面是报错的信息:

 

root@molic-ProLiant-DL380-G5-compute1:/# apt-get upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
您也许需要运行“apt-get -f install”来修正上面的错误。
下列软件包有未满足的依赖关系:
 libssl1.0.0 : 破坏: libssl1.0.0:i386 (!= 1.0.1-4ubuntu5.3) 但是 1.0.0e-2ubuntu4.5 已经安装
 libssl1.0.0:i386 : 依赖: libc6:i386 (>= 2.7) 但是它还没有被安装
                    依赖: zlib1g:i386 (>= 1:1.1.4) 但是它还没有被安装
                    破坏: libssl1.0.0 (!= 1.0.0e-2ubuntu4.5) 但是 1.0.1-4ubuntu5.3 已经安装
E: 不能满足依赖关系。不妨试一下 -f 选项。
 
root@molic-ProLiant-DL380-G5-compute1:/# apt-get install -f
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在更正依赖关系... 完成
下列软件包是自动安装的并且现在不需要了:
  libnet-daemon-perl libdbi-perl dbconfig-common libhtml-template-perl
  libapache2-mod-php5 mysql-server-core-5.5 libmcrypt4 mysql-client-core-5.5
  libdbd-mysql-perl python-passlib php5-mcrypt libplrpc-perl php5-mysql php5-common
  mysql-server-5.5 mysql-client-5.5
使用'apt-get autoremove'来卸载它们
将会安装下列额外的软件包:
  gcc-4.6-base:i386 libc6:i386 libgcc1:i386 libssl1.0.0:i386 zlib1g:i386
建议安装的软件包:
  glibc-doc:i386 locales:i386
下列【新】软件包将被安装:
  gcc-4.6-base:i386 libc6:i386 libgcc1:i386 zlib1g:i386
下列软件包将被升级:
  libssl1.0.0:i386
升级了 1 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 135 个软件包未被升级。
有 11 个软件包没有被完全安装或卸载。
需要下载 0 B/5,110 kB 的软件包。
解压缩后会消耗掉 9,846 kB 的额外空间。
您希望继续执行吗?[Y/n]y
E: Internal Error, No file name for libssl1.0.0

不好意思,下午有点事离开了。

你这个看上去是要升级libssl啊。

建议,你先用 dpkg -l *libssl* 这个命令看看是否系统中安装的libssl的状态。

然后,检查你的apt的源是否正确,文件为:/etc/apt/sources.list ,所有apt安装的文件都是来自这里。

看看你最近是否修改过这个文件,如果修改过,需要使用apt-get update更新源。

我也是linux新手,希望可以帮到你。

感谢你的再次帮助,看来是找到了问题的关键,我执行dpkg之后:

root@molic-ProLiant-DL380-G5-compute1:/etc/apt# dpkg -l *libssl*
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称                            版本                            描述
+++-=================================-=================================-==================================================================================
iU  libssl-dev                        1.0.1-4ubuntu5.3                  SSL development libraries, header files and documentation
ii  libssl-doc                        1.0.1-4ubuntu5.2                  SSL development documentation documentation
iU  libssl1.0.0                       1.0.1-4ubuntu5.3                  SSL shared libraries

这样改怎么操作呢?

YueZheng
YueZheng
回复 @JustForFly : 感谢!
JustForFly
JustForFly
我现在怀疑你的apt-get里面的source.list配置的源里面找不到libssl1.0.0,所以建议直接手动下载包,官方下载地址: http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/ 下载一个libssl的.deb 文件(注意版本和支持的系统), 然后手动通过dpkg -i 命令来直接安装
YueZheng
YueZheng
回复 @JustForFly : 是安装,现在又好多包都依赖这个包
JustForFly
JustForFly
这个 iU 表示,你当初请求安装,但是没有完成安装,只是做到了解压这一步。也就是说系统里面并没有成功安装libssl1.0.0 。 现在回到你最开始的问题,你现在是想删除 libssl,还是安装 libssl?
返回顶部
顶部