Моя производственная среда работает под управлением версий CentOS 5.2 и 5.5. Мне нужно разработать новый инструмент с использованием C / C ++ и развернуть его в этой производственной среде.
Я планировал использовать Fedora 14 на своем рабочем столе с GCC 4.4 для разработки с Eclipse IDE. А позже я хочу развернуть исполняемые файлы в CentOS 5.2 или 5.5. В производственной среде также будет GCC 4.4.
Поскольку и Fedora, и CentOS основаны на RHEL, я подумал, что это возможно.
Так я могу это сделать?
Или мне также нужно иметь CentOS 5.2 / 5.5 на моем рабочем столе разработки?
Спасибо Амит
если вы связываете динамически с библиотеками, которых нет в centos, вам также необходимо предоставить библиотеки
если вы предоставите исходный код и скомпилируете в поле centos, вам нужно будет предоставить любые заголовки или исходные файлы, которые вы используете в своем коде. если вы не используете ничего особенного (вы просто используете, например, libc), нет необходимости предоставлять дополнительные библиотеки.
Еще одна вещь, с которой вам нужно быть осторожной, - это архитектура процессора - если у вас есть код для 64 бит, он не будет работать на 32.
Если вы создаете статические двоичные файлы, вы сможете создавать практически все и запускать практически где угодно. Точные подробности о том, как вы создаете статические вещи, лучше всего можно найти в stackoverflow.
Однако строительство в другой среде кажется немного глупым. Почему бы не создать себе виртуальную машину или chroot, идентичный производственной среде на вашем компьютере разработчика. Таким образом, у вас будет гораздо меньше шансов столкнуться со странными / неожиданными несовместимостями.
Вы жестяная банка делай это, но не надо.
Лучше всего создавать свои окончательные производственные пакеты в чистой среде, которой, конечно же, не будет ваш рабочий стол для разработки. Поскольку CentOS бесплатен, нет причин не иметь специальной среды сборки, которая либо очищается каждый раз при кикстарте, либо восстанавливается из заведомо исправного снимка. Возможно, это небольшая настройка, но после этого вы будете знать, что полученные пакеты будут работать без каких-либо неожиданных зависимостей, которые случайно появятся.
И нужен ли вам gcc в производственной среде? Нет ничего неправильно имея это как таковое (злоумышленники будут копировать в свои собственные двоичные файлы), но в целом производство должно быть максимально сфокусированным.