“Of course, to do this you sacrifice some disk space, because
the statically linked executable includes a copy of the shared
libraries that it needs, but in these days of terabyte disks the
space consideration is less important than the security one.
Consider what happens if your executables are dynamically linked to
a shared library, say libfoo, and there is a security update to
libfoo. When your applications are dynamically linked you can just
update the shared copy of libfoo and your applications will no
longer be vulnerable to the security issue in the older libfoo. If
on the other hand you have a statically linked executable, it will
still include and use its own private copy of the old libfoo.
You’ll have to recreate the statically linked executable to get the
newer libfoo and security update.“Still, there are times when you want to take a daemon you
compiled on a Fedora machine and run it on your openSUSE machine
without having to recompile it and all its dependencies. Sometimes
you just want it to execute now and can rebuild it later if
desired. Of course, the machine you copy the executable from and
the one on which you want to run it must have the same
architecture.”
Quickly Move an Executable Between Systems With ELF Statifier
By
Get the Free Newsletter!
Subscribe to Developer Insider for top news, trends, & analysis