为什么Linux multiarch使用x86_64-linux-gnu而不是lib64?
我最近在部署32&
I recently came across multiarch in linux when deploying 32 & 64bit libraries.
出于好奇,为什么/ lib64被抛弃以支持例如/ lib / x86_64-linux-gnu
似乎过于复杂,但一定有原因。
Out of curiosity, why was /lib64 abandoned in favour of e.g. /lib/x86_64-linux-gnu It seems overly complex but there must be a reason for that.
可以在 http://wiki.debian.org/Multiarch 中找到长版,尤其是 http://wiki.debian.org/Multiarch/TheCaseForMultiarch 。
The long version can be found at http://wiki.debian.org/Multiarch , in particular http://wiki.debian.org/Multiarch/TheCaseForMultiarch .
简短的版本是使用三胞胎是一种更通用的解决方案,它允许多个ABI(例如x86和x32,如Basile在评论中提到),仿真器,交叉编译器之类的东西,而不必诉诸于此。
The short version is that using triplets is a more general solution that allows things like multiple ABI's (such as x86 and x32, as Basile mentioned in a comment), emulators, cross-compilers and such without having to resort to various tricks.
诸如Fedora或OpenSUSE之类的非基于Debian的发行版是否会采用这一点还有待观察;到目前为止,他们似乎并不那么感兴趣。
Whether non-Debian based distros such as Fedora or OpenSUSE will adopt this remains to be seen; so far they don't seem that interested.