现在我用的服务器里装的 glibc 版本比较低,也没办法升级,甚至不联网……一直使用的是 VS Code 的 Remote SSH 连接到上面开发。之前用一些手段绕过了 VSCode 的 glibc 版本检测,活是能干,但是 AI 只能选择 copilot ,用免费的 2000 次补全。Trae 这种连上了也用不了 AI 。因此想请教版里的大家有没有可能的办法?
1
psllll 93 天前 via Android
docker
|
![]() |
2
coldle 93 天前 via Android
挠头,所以 copilot 的问题是啥,次数太少?
|
![]() |
3
guoer 93 天前
没办法,docker 也是用宿主机的 glibc
|
4
guo4224 93 天前 via iPhone
容器虚拟机
|
5
ronen 93 天前
2000 次用完能不能付费继续用?
|
9
sduoduo233 92 天前 via Android
@stuliren 可以用 proot 容器 不用 root
|
10
zhongplusplus 92 天前
虽然无法想明白为什么 AI 和 glibc 会有关系,但是也许你可以试一试 LD_LIBRARY_PATH, 或者 unshare 相关的方向。
|
11
openmynet 92 天前
@zhongplusplus 本地向量存储甚至本地 embeding 都会用到原生应用/原生 node 库,不是所有事情都能靠纯 js 来解决的。
|
![]() |
12
imzcc 92 天前
https://github.com/MikeWang000000/vscode-server-centos7
可以试试这个 patch vscode-server 以支持低版本的 glibc |
13
zhongplusplus 92 天前
@openmynet 那换个思路是不是重新编译 node 就行了?
|
14
yarawen 92 天前
我把 vs code 的自动更新设置关闭,用 1.98.2 版本。
这是 agent 前的最后一个版本。 同时也是 glibc 兼容的最后一个版本。 |
15
sjkdsfkkfd 92 天前
本地开发,用 devcontainer
|
![]() |
17
ZeekChatCom 92 天前
|
18
hefish 92 天前
买一台新服务器吧。。。 花点钱。。。哪怕花点。。。 应该也不是很贵。。。
|
![]() |
19
liyafe1997 92 天前
@guoer 并不是,只是用宿主的内核,docker 容器是有自己完整的 rootfs 的,包括 glibc 在内。
举个例子,你在 docker 里面跑 alpine linux ,里面 userspace 用的是 musl |
20
sn0wdr1am 92 天前
docker 封装 ssh ,然后使用监听另外一个端口,新建一个 ssh 服务。
这样用 vscode 远程连接上去,是否可行? |
![]() |
21
284716337 92 天前 via Android
不要随意动系统的 glibc ,血的教训😂编译了单独放个目录,设置环境变量
|
![]() |
22
tinybaby365 92 天前 ![]() 可以用 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 ) |
23
jc89898 92 天前
你自己搞个静态编译的不就完事了
|
![]() |
25
Trim21 92 天前 via Android
你 glibc 具体什么版本啊
|
27
sir283 92 天前
AI 怎么跟 GLIBC 扯上关系的?你的 AI 组件如果依赖高版本 GLIBC ,那你就要重新基于现在环境编译一份组件出来,我不清楚 op 是前端开发,还是怎么,如果是前端开发,那就 rebuild 一份 nodejs 就行了,很简单的。
|
![]() |
28
linhua 92 天前
nix 包管理器 或者 junest(基于 arch 的) ,推荐 nix 。如果机器性能足够,还可以用 gentoo prefix ( https://wiki.gentoo.org/wiki/Project:Prefix)
|
29
stevenshum 92 天前
@284716337 glibc 自定义目录安装后,好像很多软件也不适用
|
30
nkidgm 92 天前
不对啊,docker 不就是把一切需要的依赖统一打包到镜像里的么,就好像 CentOS 7 的镜像,正常官方都会把 7 对应的 glibc 的二进制文件放进去镜像吧。如果不这样,镜像还分 CentOS 7 CentOS 8 CentOS 9 就没意义了。
|
![]() |
31
zx900930 92 天前
如果只要求运行的时候无需 root 权限,rootless podman/rootless docker 就解决了,缺点是安装的时候需要 root 。
完全没有 root 权限的话,可以 patch elf ,要是这也解决不了,那么自己拉源码编译吧。 |
32
nkidgm 92 天前
不过有一种特殊情况需要注意的,就是那种体积非常小的镜像,那种真有可能是用宿主机,他们那种镜像为了追求极致轻量化,很多时候都直接映射宿主机的库文件,所以如果要追求兼容性,最好是用那种常见的打包好一定依赖的发行版,所以我部署 docker 应用,一般不用轻量级镜像,而是转用传统的 ubuntu ,centos 的镜像。
|
34
DefoliationM 91 天前 via Android ![]() 楼上怎么有个人不懂装懂,docker 怎么可能用宿主机的 glibc ,docker 就是用来解决这问题的。
|
35
lsearsea 91 天前 via Android
@DefoliationM 确实,我就是用 docker 容器来编译低版本 linux 的 go 程序
|
![]() |
36
Biem 91 天前
没太懂 op 的需求。我们也是内网开发,用的是 Continue 和 Codegeex 这俩插件,Windows 机子上的模型在 Ollama 跑,开发机用的是便携版 VSCode ,服务器上是对应版本的 vscode-server ,已经在在线环境安装好插件了的那种,之后就是 tar 解压一下,remote 插件就连上了
|
![]() |
37
guoer 91 天前
[捂脸] 我理解错了。抱歉
|
38
codgician 91 天前
试试 nix 包管理,可以只给当前用户安装(逃
|
![]() |
39
leokun 91 天前
glib 低了,docker 也跑不了的
|
![]() |
40
yjd 91 天前
elf patch 方案用的现成工具还是改代码?对静态不好办,动态的倒是见过有现成工具
|
![]() |
41
MoeDisk 91 天前
如果不能联网、不支持容器、换环境变量不稳定,
就基本只能说,你想用什么,就是着用你现在低 glibc 版本环境编译,动态不行就静态。 。反正 linux 嵌入式环境是这样的。 |
![]() |
42
kero991 91 天前
你这到底是多低的 glibc ,还能比 ubuntu18 的 2.27 还低吗? rh 系的 rocky8 是 glibc2.28 ,可是有 gcc-14 ,clang19 ,cmake3.26 的,而且 cmake 下载 4.x 也是能用的。
|
43
nevermoreluo 91 天前
|
![]() |
44
kero991 91 天前
如果没权限,试试 proot ?
|
46
nooneanyone 90 天前
遇事不决就 docker
|