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

加载/etc/profile时出现tr命令符号查找错误,请求协助解决

加载/etc/profile时出现tr命令符号查找错误,请求协助解决

嘿,我之前也踩过这个GLIBC符号错误的坑,先给你理清楚问题根源和解决步骤:

首先把你遇到的错误贴出来方便大家参考:

An error was encountered while loading /etc/profile:

tr: symbol lookup error: tr: undefined symbol: waiting, version GLIBC_2.2.5

The result of the session will be the wrong mood.

You need to fix the problem as soon as possible.

这种错误本质上是tr命令没办法找到系统GLIBC库中对应的符号,大概率是下面几种情况之一:

  • tr命令本身被损坏/替换:tr是coreutils包的一部分,如果这个命令被第三方工具替换,或者文件本身损坏,就会出现链接错误。
  • GLIBC库版本不兼容/路径异常:系统里可能存在多个GLIBC版本,tr命令链接到了错误的库文件,或者系统默认的GLIBC缺少这个符号(不过GLIBC_2.2.5是很老的版本,现代系统一般都满足,除非是自定义编译的GLIBC出问题)

接下来是具体的解决步骤:

  1. 确认tr的位置和所属包
    先运行which tr找到tr命令的路径(一般是/usr/bin/tr),然后用包管理器确认它属于哪个包:

    • Debian/Ubuntu系:dpkg -S $(which tr)
    • RHEL/CentOS系:rpm -qf $(which tr)
      如果输出不是coreutils,说明tr被替换了,得先把它改回系统默认的版本。
  2. 重新安装coreutils修复损坏的tr
    如果确认tr属于coreutils但文件损坏,直接重装这个包:

    • Debian/Ubuntu:sudo apt reinstall coreutils
    • RHEL/CentOS:sudo yum reinstall coreutils
  3. 检查tr依赖的GLIBC路径
    运行ldd $(which tr),看输出里的GLIBC相关路径,应该指向系统默认的/lib或者/lib64目录下的libc.so.6。如果指向了其他自定义路径(比如/usr/local/lib下的),那就是库路径冲突了。这时候可以临时调整环境变量export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH(64位系统用/lib64),测试tr命令正常后,再修改/etc/ld.so.conf或者删除冲突的库来永久修复。

  4. 临时绕过/etc/profile登录修复
    如果每次登录都报错进不去,可以用bash --noprofile启动shell,这样不会加载/etc/profile,就能正常操作修复问题了。

备注:内容来源于stack exchange,提问作者Максим Москвичев

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:42:57