Если вы пишете для не встроенного Linux, главное помнить, что разные дистрибутивы будут иметь разную коллекцию версий библиотек. Поэтому вы должны установить достаточно старую базовую линию. Поскольку Debian обновляется медленно, стабильный Debian (или старый стабильный, когда он существует, через несколько месяцев после выпуска) имеет тенденцию быть разумным выбором.
Вам нужно будет упаковать отдельно для каждого дистрибутива. Если ваше приложение с открытым исходным кодом и в целом успешно, вы можете рассчитывать на то, что кто-то подберет его и внесет пакет, так что это не является необходимым навыком. Помимо упаковки, различия между дистрибутивами в основном влияют на системное администрирование, а не на разработку или ежедневное использование.
Если вы собираетесь исправлять ядро, вам придется тестировать больше дистрибутивов, так как каждый дистрибутив имеет свои собственные патчи, которые могут вызвать несовместимость, и у каждого дистрибутива есть настройки пользовательской среды, которые могут полагаться на различные наборы интерфейсов ядра (например, требования). для некоторых вещей не быть модулями).
Обратите внимание, что то, что я написал выше, неверно, если вы хотите, чтобы ваше приложение работало на встроенных системах (здесь подразумевается все, что не является сервером, настольным компьютером или ноутбуком), которые, даже если они работают с ядром Linux, часто не имеют обычных библиотек, начиная с отказа от Glibc в пользу µClibc , dietlibc , Bionic и т. д.