Я понимаю преимущества динамического связывания (старый код может автоматически использовать преимущества обновления библиотеки, он более компактен), но у него определенно есть недостатки, особенно в гетерогенной экосистеме Linux.Это затрудняет распространение двоичного файла, не зависящего от распределения, который «просто работает» и повышает вероятность того, что ранее работающая программа будет повреждена из-за обновления системы, которое нарушает обратную совместимость или вводит регрессии в общую библиотеку.
Учитывая эти недостатки, почему динамическое связывание кажется столь универсальным?Почему так трудно найти статически связанные, независимые от распространения двоичные файлы Linux, даже для небольших приложений?