ELF 发布 Linux 版本
经过数月的测试,用于 Linux 的 ELF 工具刚刚公开发布。这对普通 Linux 用户意味着什么?ELF 到底是什么?
ELF 是一种先进的新型二进制文件格式,用于可执行文件、库和目标文件(用于创建库和可执行文件)。它是 Unix System V Release 4 的原生二进制文件格式,比 Linux 上使用的原始二进制文件格式(通常称为 “a.out”)强大得多且灵活得多。
真正 关心 这件事的人是程序员,他们让您能够运行 Linux 系统。他们关心是因为 ELF 使他们更容易完成几件事,甚至使以前几乎不可能的事情变得容易。这将使他们能够开发更好、更有趣的软件——每个 Linux 用户都可以使用这些软件。
此外,ELF 共享库比旧的 a.out DLL 共享库(几年来一直是 Linux 标准)灵活得多。使用 ELF 库可以更轻松地维护向后兼容性,这将为所有 Linux 用户提供更稳定的平台。一旦您使用 ELF,“魔法” 将不再是升级库或编译器所必需的。
可能还不是现在。如果您使用 Linux 是因为这是一种冒险,或者为了学习,那么您可能想升级。但是,如果您只想完成工作,那么您可能还不想立即升级。
有两种升级方式。一种是简单地安装 ELF 库,如果您编译自己的内核,请确保您的内核已使用 ELF 二进制支持进行编译。这将允许 ELF 二进制文件在您的系统上运行,而无需您进一步操作。这样做首先存在的问题是,同时使用旧的 a.out 共享库和 ELF 共享库将比使用一种类型的全部二进制文件占用更多内存,因此几乎肯定会降低您的系统速度。因此,仅当您希望能够偶尔运行 ELF 二进制文件时,才建议这样做。第二个问题是,您需要重新排列一些文件才能安装 ELF 库。
另一种方法是等待您最喜欢的 Linux 发行版以全 ELF 形式提供,然后重新安装您的系统。尽管这听起来很剧烈,但它将带来更高的性能,特别是如果您想定期运行 ELF 二进制文件。希望大多数发行版都会使这比听起来更容易,也许通过提供仅安装二进制文件的选项。具有软件包维护选项的发行版应为您提供卸载旧软件包并安装新的基于 ELF 的软件包的选项,而无需完全重新安装您的系统。
您可能需要等到您最喜欢的发行版提供了(相对)简单的升级方法后再重新安装系统。如果您想使用仅在 ELF 中提供的新程序(即,玩新玩具),那么您最好花时间简单地安装新库。不幸的是,对于普通用户来说,这不像创建一个目录并将一些文件放入其中那么容易。它需要安装一个新的 ld.so 并移动库。有人谈论过编写一个脚本来自动化这个过程,并且在您阅读本文时它可能已经被编写出来了,但我无法告诉您在哪里可以找到它,因为在我写这篇文章时它还不存在。
不幸的事实是,要达到升级更容易的状态,最初需要更努力的工作。如果您有耐心,其他人可能会为您完成这项工作;无论是编写通用升级脚本的人(这实际上要归功于 Linux 文件系统标准,该标准在 7 月份的 LJ 中进行了解释),还是您最喜欢的发行版的维护者。但是没有免费的午餐;要么您必须完成这项工作,要么其他人完成。ELF 的不同之处在于,一旦这项困难的工作完成一次,下一次 您需要升级共享库时,它将比以往任何时候都更容易——对于任何完成这项工作的人来说。