我的file
命令被破坏了。
$ file
file: symbol lookup error: file: undefined symbol: magic_setparam
$ which file
/usr/local/bin/file
$ ldd $(which file)
linux-vdso.so.1 (0x00007fffc43fd000)
libmagic.so.1 => /usr/local/lib/libmagic.so.1 (0x00007fe48cd2d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe48cb43000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe48c926000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe48cf86000)
$ # I have a file command in /usr/bin/ as well
$ # but the same thing happens, and the ldd output for it
$ # is identical to the one above
$ /usr/bin/file
/usr/bin/file: symbol lookup error: /usr/bin/file: undefined symbol: magic_setparam
我尝试重新安装file
命令,以及重新安装libmagic
(和libmagic-dev
),但无济于事。
我正在运行 Ubuntu 18.10(Cosmic Cuttlefish),但在 18.04 上遇到了同样的问题。
答案1
您应该删除本地安装/编译的libmagic
版本
sudo rm /usr/local/lib/libmagic.so.1
然后file
再次拨打电话。