我正在运行 Amazon Linux centos,但是安装的文件版本是 5.30。我需要更高版本。
文件:编译的 magic 版本 [534] 与共享库 magic 版本 [530] 不匹配
重现步骤:
wget -m ftp://ftp.astron.com/pub/file/file-5.34.tar.gz
cd ftp.astron.com/pub/file/
tar -zxf file-5.34.tar.gz
cd file-5.34
./configure --prefix=/usr
make
make install
在我的 ubuntu 机器上,我可以跟随其中涉及在安装之前删除 libmagic。 centos / amazon linux 上的等效项是什么?
或者除了编译之外,还有更简单的方法来 yum 安装文件 5.34 吗?
答案1
我还必须清除已编译的 magic 文件本身,以便 libmagic 在手动编译时正确更新。目前,Canonical 的存储库中仅提供有缺陷的版本 (5.32),因此这是您此时唯一的途径。确保在编译/安装文件之前 apt purge /both/ libmagic1 和 libmagic-mgc 。然后 libmagic 应该会为您进行适当的更新。
答案2
当您file
从头开始构建时,它会将共享库安装在/usr/lib/
.基于 Debian 的 Linux,我相信 CentOS 属于这一类,安装file
共享库/usr/lib/x86_64-linux-gnu/
或任何*-linux-gnu
适合您的架构的库。您需要设置适当的配置选项(--libdir=/usr/lib/x86_64-linux-gnu
--我认为)来覆盖,或手动覆盖,或手动删除旧文件。