如何解决lsblk命令出现的'symbol lookup error'符号查找错误(树莓派4B Ubuntu 20.04 LTS环境)
解决树莓派4B Ubuntu 20.04中lsblk符号查找错误的方案
我之前在树莓派4B的Ubuntu 20.04 LTS环境下遇到过完全一样的问题,这个错误本质是系统的GLIBC依赖库或者libsmartcols.so.1库出现了损坏、版本不匹配的情况,下面是我亲测有效的解决步骤:
步骤1:确认当前GLIBC版本
首先排查系统的GLIBC版本是否正常,Ubuntu 20.04 LTS默认搭载的是GLIBC 2.31版本,执行以下命令查看:
ldd --version
如果输出的版本不是2.31,可能是之前安装了不兼容的第三方包导致版本混乱,但这种情况相对少见。
步骤2:修复系统损坏的软件包
系统包损坏是最常见的诱因,先让apt自动修复依赖和损坏的包:
sudo apt update && sudo apt --fix-broken install
这个命令会自动检查并修复系统中存在的依赖问题、损坏的包文件。
步骤3:重新安装util-linux包
lsblk属于util-linux工具集的一部分,而libsmartcols.so.1也是这个包的依赖库,直接重新安装该包可以覆盖损坏的文件:
sudo apt reinstall util-linux
执行完成后,先尝试运行lsblk看看问题是否解决。
步骤4:手动修复库文件链接(如果上述步骤无效)
如果问题依然存在,可能是libsmartcols.so.1的软链接指向了错误的版本,先查看该库的实际文件和链接情况:
ls -l /lib/aarch64-linux-gnu/libsmartcols.so.*
你会看到类似libsmartcols.so.1.1.0这样的实际文件,以及libsmartcols.so.1这个软链接。如果软链接没有指向正确的文件,手动修复它:
# 替换成你实际查到的版本号,比如1.1.0 sudo ln -sf /lib/aarch64-linux-gnu/libsmartcols.so.1.1.0 /lib/aarch64-linux-gnu/libsmartcols.so.1
步骤5:验证修复结果
完成上述操作后,再次执行lsblk命令,应该就能正常输出设备信息了。
内容的提问来源于stack exchange,提问作者Antoine
相关产品推荐
相关产品推荐

