Obviously, updating packages replaces compressed versions by newer non-compressed versions. Therefore, I launch
Code: Select all
upx-ucl-beta `find [some folder] -size +1000k | awk 'BEGIN {ORS="\x20"} {print $1}'`
I know that UPX cannot work with several kinds of executables, for example the ones that want to read data from themselves, but there are quite few of them. I knew it before experiencing it when I compressed _all_ files in /bin and /usr/bin, which after the next reboot required me to use a LiveCD to decompress everything and make the machine work properly again... Indeed, the boot process ended immediately, and I couldn't even login in the given prompt...
I suspect the Debian package system (or even other ones, be it RPM or Autopackage, for example), along with the packagers and testers obviously, can perform the compression at packaging time or at installing time. Is it true (I guess so), and is it hard to do ?
While I'm at it: on a related note, does someone know the exact technical reason why UPX will pack many Windows DLLs, but not *nix Shared Objects ? It must be something pretty serious and buried deep in the dynamic linking system, since I guess SOs would already be packable otherwise...