You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将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属性(不可修改、不可删除):
    sudo chattr +i /lib/x86_64-linux-gnu/libssl.so.1.0.0
    
    之后不管是apt升级还是系统清理,都没法动这个文件了。要是之后你自己想修改或删除它,记得先去掉属性:
    sudo chattr -i /lib/x86_64-linux-gnu/libssl.so.1.0.0
    

方案二:用本地deb包管理文件(规范长期方案)

如果想彻底让系统认可这个文件,不让apt把它当“外来户”,可以自己做一个极简的deb包:

  1. 先安装做包需要的基础工具:
    sudo apt install devscripts debhelper
    
  2. 创建一个临时工作目录:
    mkdir -p ~/libssl-local/debian
    
  3. 在~/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.
    
  4. 把你的库文件放到对应的路径:
    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/
    
  5. 回到~/libssl-local目录,生成deb包:
    dpkg-buildpackage -us -uc
    
  6. 安装刚生成的包(文件名可能略有不同,根据实际生成的文件调整):
    sudo dpkg -i ../libssl-local_1.0_amd64.deb
    
    这下apt会把这个库文件当作官方包的一部分,以后升级系统时就不会随便删除它了。

方案三:把库文件放到游戏目录(最安全,不干扰系统)

其实我更推荐这个方法——完全不碰系统目录,在游戏自己的环境里解决问题,避免给系统埋下潜在冲突:

  • 先在游戏安装目录下创建一个存放库的文件夹:
    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-executable
    
    给脚本加执行权限:chmod +x start-game.sh,以后双击这个脚本就能正常启动游戏啦。

简单解释下为什么之前你的文件会被删除:/lib/x86_64-linux-gnu是apt包管理器的“专属地盘”,它会定期清理或替换不属于它管理的文件,尤其是升级openssl相关包时,这种清理操作触发的概率极高。

备注:内容来源于stack exchange,提问作者Caleb Pitman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 12:58:01