我不能apt-get,我删除了libssl.so.10
包括wget在内的大多数命令给了我一些libssl.so.10的结尾:无法打开共享目标文件:没有这样的文件或目录
有一个可靠的方法,我可以退还我所有的数据,而我仍然有一个活跃的连接。
您真的删除了真正的.so文件还是只删除了指向真正.so文件的软链接,那么库创build者是否可以在系统中重新编译所有程序?
如果你只删除了软链接,让我们find它!
使用
find /usr/lib | grep libssl
find真正的.so文件,如果你find它,重新创build软链接:
ln /usr/lib/path/to/real/libssl /lib/libssl.so.10
也许程序(现在:apt-get)试图访问指定path中的共享库,并将其编译到程序中,然后使用以下命令查找程序:
which apt-get
(我的结果是:/ usr / bin / apt-get)
并在程序中find“潜在的”共享库位置:
strings /path/to/your/program
(我的结果是:
/lib64/ld-linux-x86-64.so.2 libapt-pkg.so.4.12 libutil.so.1 libstdc++.so.6 libm.so.6 libgcc_s.so.1 libc.so.6 __libc_start_main install - Install new packages (pkg is libc6 not libc6.deb)
)
aha它使用静态/lib64/ld-linux-x86-64.so.2
(看起来像我的apt-get编译whitout libssl)
我们试试吧!
最好的办法是从运行相同版本的openssl的工作计算机上findlibssl.so.10 (运行相同版本的不同的centos机器应该足够了),然后使用U盘拷贝文件回到原地。
为了解决这个问题,你需要replace文件。 提到的一种方法是从另一个系统复制库,另一种方法是重新安装提供它的包。
你提到使用apt-get所以我打算假设你使用的是Ubuntu。 第一步是确切地看到你需要为该文件安装哪个软件包。 如果你运行命令`
dpkg -S libssl.so.10
从我的Ubuntu 12.04.2系统中你将得到类似于这个的输出
libssl1.0.0: /lib/x86_64-linux-gnu/libssl.so.1.0.0
然后运行dpkg -l | grep libssl1.0.0 dpkg -l | grep libssl1.0.0给了我
ii libssl1.0.0 1.0.1-4ubuntu5.10 SSL shared libraries
这告诉我们,我需要去findlibssl1.0.0版本1.0.1-4ubuntu5.10并安装它。 包可以从中下载
http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssl/
在该列表中search,我可以发现,我需要使用您select的方法下载文件libssl1.0.0_1.0.1-4ubuntu5.10_amd64.deb 。
一旦你下载了这个文件,你可以通过发行一个包来重新安装这个包
dpkg -i libssl1.0.0_1.0.1-4ubuntu5.10_amd64.deb
哪一个运气,你现在将成为新的libssl的全新所有者。
过去我有一个类似的问题。 最终的解决scheme是我的VirtualBox安装在我的笔记本电脑上的服务器操作系统。 我从我的virtualbox来宾提取文件,并使用USB驱动器将它们放在服务器上@Falcon Momot提到。 这对我来说是件好事。 我最终使用virtualbox来玩的东西之前,我在实际的服务器上做了。