如何将libssl.so.1.0.0复制到/lib/x86_64-linux-gnu目录并防止被自动删除
如何将libssl.so.1.0.0复制到/lib/x86_64-linux-gnu目录并防止被自动删除
嗨,我来帮你搞定这个问题!你遇到的情况其实挺普遍的——/lib/x86_64-linux-gnu是系统包管理器(比如apt)重点管控的目录,当你执行apt upgrade或者系统自动清理时,那些不属于任何官方包的文件很容易被当作“外来垃圾”删掉。下面给你几个实用的解决方案,从快速应急到规范长期维护都有:
方案一:给文件加不可删除属性(快速应急)
这个方法能直接锁死文件,阻止系统工具随意删除,操作最简便:
- 先把文件重新复制到目标目录(替换成你实际的文件来源路径):
sudo cp /path/to/your/libssl.so.1.0.0 /lib/x86_64-linux-gnu/ - 然后给文件添加
i属性(不可修改、不可删除):
之后不管是apt升级还是系统清理,都没法动这个文件了。要是之后你自己想修改或删除它,记得先去掉属性:sudo chattr +i /lib/x86_64-linux-gnu/libssl.so.1.0.0sudo chattr -i /lib/x86_64-linux-gnu/libssl.so.1.0.0
方案二:用本地deb包管理文件(规范长期方案)
如果想彻底让系统认可这个文件,不让apt把它当“外来户”,可以自己做一个极简的deb包:
- 先安装做包需要的基础工具:
sudo apt install devscripts debhelper - 创建一个临时工作目录:
mkdir -p ~/libssl-local/debian - 在
~/libssl-local/debian下新建control文件,内容可以参考下面(把维护者信息改成你自己的):Source: libssl-local Section: misc Priority: optional Maintainer: Your Name <your.email@example.com> Build-Depends: debhelper-compat (= 13) Standards-Version: 4.5.1 Package: libssl-local Architecture: amd64 Description: Local copy of libssl.so.1.0.0 for legacy game This package provides the libssl.so.1.0.0 library needed by a legacy game, to avoid being overwritten or removed by system updates. - 把你的库文件放到对应的路径:
mkdir -p ~/libssl-local/lib/x86_64-linux-gnu cp /path/to/your/libssl.so.1.0.0 ~/libssl-local/lib/x86_64-linux-gnu/ - 回到
~/libssl-local目录,生成deb包:dpkg-buildpackage -us -uc - 安装刚生成的包(文件名可能略有不同,根据实际生成的文件调整):
这下apt会把这个库文件当作官方包的一部分,以后升级系统时就不会随便删除它了。sudo dpkg -i ../libssl-local_1.0_amd64.deb
方案三:把库文件放到游戏目录(最安全,不干扰系统)
其实我更推荐这个方法——完全不碰系统目录,在游戏自己的环境里解决问题,避免给系统埋下潜在冲突:
- 先在游戏安装目录下创建一个存放库的文件夹:
mkdir -p /path/to/your/game-folder/libs - 把libssl.so.1.0.0复制到这个文件夹:
cp /path/to/your/libssl.so.1.0.0 /path/to/your/game-folder/libs/ - 启动游戏时,指定优先加载这个目录的库:
LD_LIBRARY_PATH=/path/to/your/game-folder/libs /path/to/your/game-executable - 嫌每次敲命令麻烦的话,写个简单的启动脚本(比如
start-game.sh):
给脚本加执行权限:#!/bin/bash LD_LIBRARY_PATH="./libs" ./your-game-executablechmod +x start-game.sh,以后双击这个脚本就能正常启动游戏啦。
简单解释下为什么之前你的文件会被删除:/lib/x86_64-linux-gnu是apt包管理器的“专属地盘”,它会定期清理或替换不属于它管理的文件,尤其是升级openssl相关包时,这种清理操作触发的概率极高。
备注:内容来源于stack exchange,提问作者Caleb Pitman
相关产品推荐
相关产品推荐

