Statifier是一个用于创建可移植的、自包含的Linux可执行文件的工具。统计器从动态链接的可执行文件及其所有库创建一个文件。此文件可以复制并在另一台计算机上运行,而无需拖动它的所有库。动态链接的可执行文件比静态链接的可执行文件小。另一方面,动态链接的可执行文件使用以PIC(与位置无关的代码)编译的共享库,这比普通的要慢。由统计器(伪静态)创建的文件结合了两者的缺点:那么,为什么要使用它呢?好的,伪静态文件也有一些优点:但是所有这些都可以用普通的静态文件来获得。那么,为什么要使用统计器和巨型伪静态可执行文件而不是静态可执行文件呢?要保留内存布局-静态链接将更改它,并可能唤醒隐藏的错误。
支持的平台静态可执行文件并不总是在具有堆栈或VDSO随机化的系统上工作。不幸的是,我还没有找到解决这个问题的方法。还有另一种解决方案:貂皮。貂皮,不同于统计器,不受堆叠/VDSO随机化的影响。此处比较的是稳定器和Ermine特征。
有用的(我希望)另外还有一个rrp_statifypackage,这是一个用于rpmrebuild的插件,它允许统计包中的所有可执行文件。为了使统计化的可执行文件更小,可以按照Andrew Shewaker的建议尝试使用Libraryopt。如果您有建议/想法/错误报告,您可以将其发送到邮件列表或论坛,如果对您有效,我很想知道您的平台是什么:请给我留言