• 请不要在回答技术问题时复制粘贴 AI 生成的内容
stuliren
V2EX  ›  程序员

低 glibc 版本服务器,有没有办法用 AI?

  •  
  •   stuliren · Jun 1, 2025 · 7339 views
    This topic created in 521 days ago, the information mentioned may be changed or developed.

    现在我用的服务器里装的 glibc 版本比较低,也没办法升级,甚至不联网……一直使用的是 VS Code 的 Remote SSH 连接到上面开发。之前用一些手段绕过了 VSCode 的 glibc 版本检测,活是能干,但是 AI 只能选择 copilot ,用免费的 2000 次补全。Trae 这种连上了也用不了 AI 。因此想请教版里的大家有没有可能的办法?

    Supplement 1  ·  Jun 2, 2025
    总结一下,大家说的大概就是用容器了。docker 可能不行,因为没有权限。我试试别的容器
    我其实已经用 elf patch 的方案解决了连接问题,但 ai 服务器就没法绕过去了…
    我甚至办法自己编译(,因为 cmake 的版本太低了…
    47 replies  •  2025-06-25 00:30:36 +08:00
    psllll
    psllll
    Jun 1, 2025 via Android
    1
    docker
    coldle
    coldle
    Jun 1, 2025 via Android
    2
    挠头,所以 copilot 的问题是啥,次数太少?
    guoer
    guoer
    Jun 1, 2025
    3
    没办法,docker 也是用宿主机的 glibc
    guo4224
    guo4224
    Jun 1, 2025 via iPhone
    4
    容器虚拟机
    ronen
    ronen
    Jun 1, 2025
    5
    2000 次用完能不能付费继续用?
    stuliren
    stuliren
    OP
    Jun 1, 2025
    6
    @coldle 对……,没有学生优惠之类的,还是想找点便宜的方法
    stuliren
    stuliren
    OP
    Jun 1, 2025
    7
    @ronen 看来只能充钱了……
    stuliren
    stuliren
    OP
    Jun 1, 2025
    8
    @psllll @guoer @guo4224 甚至用不了容器,因为没有管理员权限……
    sduoduo233
    sduoduo233
    Jun 1, 2025 via Android
    9
    @stuliren 可以用 proot 容器 不用 root
    zhongplusplus
    zhongplusplus
    Jun 1, 2025
    10
    虽然无法想明白为什么 AI 和 glibc 会有关系,但是也许你可以试一试 LD_LIBRARY_PATH, 或者 unshare 相关的方向。
    openmynet
    openmynet
    Jun 1, 2025
    11
    @zhongplusplus 本地向量存储甚至本地 embeding 都会用到原生应用/原生 node 库,不是所有事情都能靠纯 js 来解决的。
    imzcc
    imzcc
    Jun 1, 2025
    12
    https://github.com/MikeWang000000/vscode-server-centos7
    可以试试这个 patch vscode-server 以支持低版本的 glibc
    zhongplusplus
    zhongplusplus
    Jun 1, 2025
    13
    @openmynet 那换个思路是不是重新编译 node 就行了?
    yarawen
    yarawen
    Jun 1, 2025
    14
    我把 vs code 的自动更新设置关闭,用 1.98.2 版本。
    这是 agent 前的最后一个版本。
    同时也是 glibc 兼容的最后一个版本。
    sjkdsfkkfd
    sjkdsfkkfd
    Jun 1, 2025
    15
    本地开发,用 devcontainer
    Shatyuka
    Shatyuka
    Jun 1, 2025 via iPhone
    16
    @guoer 真的假的,第一次听说
    ZeekChatCom
    ZeekChatCom
    Jun 1, 2025
    17
    @guoer 真的假的,第一次听说。

    我的一个 nodejs 项目,在宿主机编译不过,因为 glibc 版本太低。换成容器通过了呀。
    hefish
    hefish
    Jun 1, 2025
    18
    买一台新服务器吧。。。 花点钱。。。哪怕花点。。。 应该也不是很贵。。。
    liyafe1997
    liyafe1997
    Jun 1, 2025
    19
    @guoer 并不是,只是用宿主的内核,docker 容器是有自己完整的 rootfs 的,包括 glibc 在内。
    举个例子,你在 docker 里面跑 alpine linux ,里面 userspace 用的是 musl
    sn0wdr1am
    sn0wdr1am
    Jun 1, 2025
    20
    docker 封装 ssh ,然后使用监听另外一个端口,新建一个 ssh 服务。

    这样用 vscode 远程连接上去,是否可行?
    sunnywx
    sunnywx
    Jun 1, 2025 via Android
    21
    不要随意动系统的 glibc ,血的教训😂编译了单独放个目录,设置环境变量
    tinybaby365
    tinybaby365
    Jun 1, 2025❤️1
    22
    可以用 docker ,docker 容器和 host 共享内核,但可以有自己的 glibc ;
    如果系统无法安装 docker ,可以用 chroot ,把某个 docker image 的基础 rootfs 解出来,chroot 进去使用;
    最坏的情况是 kernel 版本太低,你的 glibc 不兼容内核,这种情况一般人遇不到;
    没事不要升级系统的 glibc ,但可以自己编译安装 glibc 到/opt/glibc-xxx/下面,用 LD_LIBRARY_PATH 指定/opt/glibc-xxx/lib ,让你的程序优先用这个 glibc (不确定是否要 patch ELF 文件的 interpreter )
    jc89898
    jc89898
    Jun 1, 2025
    23
    你自己搞个静态编译的不就完事了
    flyqie
    flyqie
    Jun 2, 2025 via Android❤️2
    24
    @guoer #3

    docker 为什么会用宿主机的 glibc ??
    Trim21
    Trim21
    Jun 2, 2025 via Android
    25
    你 glibc 具体什么版本啊
    stuliren
    stuliren
    OP
    Jun 2, 2025
    26
    @Trim 2.7 ?
    sir283
    sir283
    Jun 2, 2025
    27
    AI 怎么跟 GLIBC 扯上关系的?你的 AI 组件如果依赖高版本 GLIBC ,那你就要重新基于现在环境编译一份组件出来,我不清楚 op 是前端开发,还是怎么,如果是前端开发,那就 rebuild 一份 nodejs 就行了,很简单的。
    linhua
    linhua
    Jun 2, 2025
    28
    nix 包管理器 或者 junest(基于 arch 的) ,推荐 nix 。如果机器性能足够,还可以用 gentoo prefix ( https://wiki.gentoo.org/wiki/Project:Prefix)
    stevenshum
    stevenshum
    Jun 2, 2025
    29
    @284716337 glibc 自定义目录安装后,好像很多软件也不适用
    nkidgm
    nkidgm
    Jun 2, 2025
    30
    不对啊,docker 不就是把一切需要的依赖统一打包到镜像里的么,就好像 CentOS 7 的镜像,正常官方都会把 7 对应的 glibc 的二进制文件放进去镜像吧。如果不这样,镜像还分 CentOS 7 CentOS 8 CentOS 9 就没意义了。
    zx900930
    zx900930
    Jun 2, 2025
    31
    如果只要求运行的时候无需 root 权限,rootless podman/rootless docker 就解决了,缺点是安装的时候需要 root 。
    完全没有 root 权限的话,可以 patch elf ,要是这也解决不了,那么自己拉源码编译吧。
    nkidgm
    nkidgm
    Jun 2, 2025
    32
    不过有一种特殊情况需要注意的,就是那种体积非常小的镜像,那种真有可能是用宿主机,他们那种镜像为了追求极致轻量化,很多时候都直接映射宿主机的库文件,所以如果要追求兼容性,最好是用那种常见的打包好一定依赖的发行版,所以我部署 docker 应用,一般不用轻量级镜像,而是转用传统的 ubuntu ,centos 的镜像。
    Trim21
    Trim21
    Jun 2, 2025 via Android
    33
    @sir283 这里说的其实是 vscode remote server 有 glibc 版本要求……
    DefoliationM
    DefoliationM
    Jun 2, 2025 via Android❤️2
    34
    楼上怎么有个人不懂装懂,docker 怎么可能用宿主机的 glibc ,docker 就是用来解决这问题的。
    lsearsea
    lsearsea
    Jun 2, 2025 via Android
    35
    @DefoliationM 确实,我就是用 docker 容器来编译低版本 linux 的 go 程序
    Biem
    Biem
    Jun 2, 2025
    36
    没太懂 op 的需求。我们也是内网开发,用的是 Continue 和 Codegeex 这俩插件,Windows 机子上的模型在 Ollama 跑,开发机用的是便携版 VSCode ,服务器上是对应版本的 vscode-server ,已经在在线环境安装好插件了的那种,之后就是 tar 解压一下,remote 插件就连上了
    guoer
    guoer
    Jun 3, 2025
    37
    [捂脸] 我理解错了。抱歉
    codgician
    codgician
    Jun 3, 2025
    38
    试试 nix 包管理,可以只给当前用户安装(逃
    leokun
    leokun
    Jun 3, 2025
    39
    glib 低了,docker 也跑不了的
    yjd
    yjd
    Jun 3, 2025
    40
    elf patch 方案用的现成工具还是改代码?对静态不好办,动态的倒是见过有现成工具
    MoeDisk
    MoeDisk
    Jun 3, 2025
    41
    如果不能联网、不支持容器、换环境变量不稳定,
    就基本只能说,你想用什么,就是着用你现在低 glibc 版本环境编译,动态不行就静态。
    。反正 linux 嵌入式环境是这样的。
    kero991
    kero991
    Jun 3, 2025
    42
    你这到底是多低的 glibc ,还能比 ubuntu18 的 2.27 还低吗? rh 系的 rocky8 是 glibc2.28 ,可是有 gcc-14 ,clang19 ,cmake3.26 的,而且 cmake 下载 4.x 也是能用的。
    nevermoreluo
    nevermoreluo
    Jun 3, 2025
    43
    @Biem 大概是一个月前吧,最新版的 vs 的 remote 不支持低版本的 glibc 了,导致远程时,插件自动初始化 vs-server 会 error ,说 glibc 太低

    @stuliren 官方给的方案也只有退到低版本( 1.97 好像就行)的 vs 上其实。。。。或者换个 ubuntu24 之类的服务器吧 0 0
    有同事说有偏方说新建一个`/tmp/vscode-skip-server-requirements-check`空文件可破,但是我没试过
    kero991
    kero991
    Jun 3, 2025
    44
    如果没权限,试试 proot ?
    kazumaa
    kazumaa
    Jun 3, 2025
    45
    @guoer 并不是,我就曾是试过在低版本的 centos 上开 docker 容器编译需求高版本的项目,一点问题都没有
    nooneanyone
    nooneanyone
    Jun 3, 2025
    46
    遇事不决就 docker
    ccc1924
    ccc1924
    Jun 25, 2025
    47
    @stuliren #8 试试 rootless ,不过如果内核版本太低也不行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1678 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 23:39 · PVG 07:39 · LAX 15:39 · JFK 18:39
    ♥ Do have faith in what you're doing.