在 Debian(以及大多数 Linux 系统)里,软连接(符号链接,symlink)报错通常不是“软连接本身报错”,而是使用软连接时访问失败。排查可以按下面步骤来。
ls -l 软连接名
示例:
lrwxrwxrwx 1 root root 10 Jun 10 10:00 link -> /tmp/test
重点看:
l 开头 → 是软连接-> 后面是目标路径ls -l /tmp/test
如果目标不存在,就会“断链(dangling symlink)”。
readlink 看真实指向readlink -f 软连接名
如果返回空或不合理路径,说明指向有问题。
No such file or directory原因:
检查:
namei -l 软连接名
Too many levels of symbolic links原因:
检查:
readlink 软连接名
Permission denied原因:
x 权限检查:
namei -l /path/to/link
常见于:
ln -s /usr/bin/python3 /usr/local/bin/python
但:
/usr/local/bin检查:
which python
echo $PATH
ln -s /真实/绝对路径/目标 软连接名
✅ 推荐用绝对路径
❌ 不推荐:
ln -s target link # 相对路径容易断
namei -l /path/to/symlink
strace -e trace=stat,lstat,readlink 命令
df -h
mount | grep 路径
你可以直接发:
ls -l 软连接我可以精准帮你定位是哪一步出错。