Помимо того, что существует множество систем Unix, работающих на разных платформах, просто рассмотрим проблемы, с которыми сталкивается программное обеспечение Windows из-за этого модального дистрибутива, даже если им действительно нужно беспокоиться только об одной версии Windows и одной платформе (ПК). ).
Даже при наличии только ПК, есть две архитектуры: 32-битная и 64-битная. Если вы заметили, подавляющее большинство программного обеспечения для Windows просто игнорирует 64-битную версию и поставляет только 32-битную версию, оставляя вам неоптимальное программное обеспечение, если у вас 64-битная система. Тогда есть библиотеки. Один поставщик программного обеспечения не хочет, чтобы вы пытались запустить странную ошибку, пытаясь запустить их программу, если у вас не установлена необходимая библиотека, поэтому они просто включают библиотеку в свою программу (что делает загрузку больше, даже если у вас уже есть эта библиотека). ). Вторая программа делает то же самое, но с другой версией библиотеки. В лучшем случае программа B содержит более новую версию библиотеки с обратной совместимостью, поэтому, если вы устанавливаете программу B послепрограмма A, все работает, но установка их в обратном порядке оставляет вас со старой версией библиотеки, и поэтому программа B ломается. Однако часто поставщик библиотеки вносит изменения, не совместимые с предыдущими версиями, и не меняет название библиотеки, поэтому независимо от того, в каком порядке вы устанавливаете две программы, первая ломается. Это называется "длл ад".
К сожалению, чтобы избежать этого, большинство программ для Windows прибегают к отправке всех своих библиотек в свои собственные программные каталоги, а не в общие каталоги, поэтому у каждой программы есть все свои частные библиотеки, и они никогда не будут делиться друг с другом, что наносит ущерб всей Во-первых, вы можете использовать гораздо больше оперативной памяти и места на диске, а также время загрузки всех дубликатов библиотек.
Вот почему программное обеспечение с открытым исходным кодом публикуется в исходной форме, и поставщики ОС придумали менеджеры пакетов, которые решают проблемы с зависимостями и загружают только те скомпилированные двоичные файлы, которые вам действительно нужны, без дублирования библиотек повсюду. Это также связано с тем фактом, что существует множество различных систем Unix, работающих на разных платформах.
apt
материал?