Я уточняю наш установщик. Как это работает, все наши компоненты превращаются в файлы .deb. Установщик просто вызывает dpkg для всех сразу, вместе с их зависимостями. Это прекрасно работает ... пока вы устанавливаете на Ubuntu Linux 8.04.1. Например, при установке в Ubuntu 8.04.3 версия libc6-dev, которая может быть установлена, больше. Но dpkg по-прежнему устанавливает нашу версию libc6-dev, несмотря на то, что более высокая версия уже установлена. Как и следовало ожидать, это вызывает проблемы.
Как правильно это сделать? Проверить каждый пакет, который мы собираемся установить, с тем, который установлен в системе? Я думал, что dpkg или apt сделали это для нас. Во-вторых, почему это должно быть так больно, как есть? На целевых компьютерах не будет ни доступа в Интернет, ни доступа к зеркалу. Мы должны иметь возможность отправить приложение, чтобы оно было полностью автономным. Пакеты должны были освободить нас от ада зависимости, и похоже, что это не так.