5 ms·
As Serge Guelton said in a followup email, one of the reasons that Linux distros use dynamic linking is to reduce the disk usage and bandwidth requirement for u
by ufo 6y ago
As Serge Guelton said in a followup email, one of the reasons that Linux distros use dynamic linking is to reduce the disk usage and bandwidth requirement for updates.
Technically speaking, would it be possible to design a Linux distro so that the installed executables are statically linked but an update for a library doesn't require redownloading large executables for every package that depends on the library?
- wizzwizz4 6y agoYup: distribute source code. (Step 0 is making compilation not require the world's most powerful gaming rig.)
- mjbrusso 6y agoWhat about distribute LLVM bitcode?
- drdec 6y agoI think a distribution similar to Gentoo, where the software is compiled at install time, could do something like this. (I don't know enough about Gentoo to know if it already does.)
- brandmeyer 6y agoThe single number one gripe about Gentoo was how long it took to build packages, closely coupled to the difficulty in keeping a system up-to-date. In response, Gentoo developed methods to ship binaries for the common cases.
- klyrs 6y agoAbsolutely possible, with source distribution. It keeps downloads small, and upgrades (notionally) transparent. The downsides are that it's computationally expensive on the user end, in addition to storage bloat. Does the latest firefox depend on the latest llvm? Depending on how awful your hardware is, you might wait a day for those two packages to build.
- est31 6y agoI think it would be possible, yes. Google has even developed a binary diffing system. https://www.chromium.org/developers/design-documents/software-updates-courgette https://www.chromium.org/developers/design-documents/softwar... https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538339 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538339 It would still not be pleasant for disk space. Ideally I want my OS as well as the VMs to be small and require as little ram as possible. I don't want to update my entire OS just because glibc had a critical bug.
- rodgerd 6y ago> As Serge Guelton said in a followup email, one of the reasons that Linux distros use dynamic linking is to reduce the disk usage and bandwidth requirement for updates. There are a number of ways to solve the latter problem, though: dnf, for example, includes the ability to download only the diff between your installed RPM and the version you're upgrading to.