chia命令执行路径异常问题排查及错误别名移除求助
chia命令执行路径异常问题排查及错误别名移除求助
嗨,我最近碰到了一个特别费解的chia命令执行问题,折腾了半天没搞明白,特意来求助大家!
我的排查过程及具体输出
首先我用which -a命令查询了系统里所有chia可执行文件的路径,得到了两个结果:
$ which -a chia /usr/bin/chia /bin/chia
接着我检查了这两个路径的实际指向,发现它们都是指向同一个有效文件的软链接:
$ ll /bin/chia lrwxrwxrwx 1 root root 49 janv. 9 08:40 /bin/chia -> /opt/chia/resources/app.asar.unpacked/daemon/chia* $ ll /usr/bin/chia lrwxrwxrwx 1 root root 49 janv. 9 08:40 /usr/bin/chia -> /opt/chia/resources/app.asar.unpacked/daemon/chia*
我还确认了目标文件确实存在且拥有可执行权限:
$ ll /opt/chia/resources/app.asar.unpacked/daemon/chia -rwxr-xr-x 1 root root 5522760 janv. 3 20:57 /opt/chia/resources/app.asar.unpacked/daemon/chia*
但奇怪的是,当我直接执行chia命令时,系统却报错说一个已经不存在的旧路径里的文件找不到——这个旧路径是我之前安装chia-blockchain的目录,现在早就删掉了:
$ chia bash: /usr/lib/chia-blockchain/resources/app.asar.unpacked/daemon/chia: No such file or directory
我手动检查了$PATH环境变量里的所有目录,只找到了which -a列出的那两个有效路径,而且也没有定义过名为chia的环境变量(执行echo $chia没有任何输出),实在搞不懂shell为啥要去找那个不存在的旧路径。
后来在提示下用type -a chia查询了一下,终于发现了问题根源:原来系统里存在一个指向旧路径的别名!
$ type -a chia chia is aliased to `/usr/lib/chia-blockchain/resources/app.asar.unpacked/daemon/chia' chia is /usr/bin/chia chia is /bin/chia
另外我也确认了两个软链接最终指向的都是同一个有效文件:
$ readlink -f /bin/chia /opt/chia/resources/app.asar.unpacked/daemon/chia $ readlink -f /usr/bin/chia /opt/chia/resources/app.asar.unpacked/daemon/chia
现在想请教大家:怎么才能移除这个指向旧路径的chia别名呢?
备注:内容来源于stack exchange,提问作者philippe.kienner
相关产品推荐
相关产品推荐

