У меня особая проблема, когда сервер уже развернут и больше не подключен к сети. Изначально для этого не требовались инструменты компиляции C / C ++, поэтому они никогда не устанавливались.
я проверил /usr/sfw/bin
, но они действительно отсутствуют ..
Я не очень хорошо знаком со средой Solaris, но, похоже, я не могу найти GCC как «устанавливаемый пакет» (аналогичный, например, dpkg для debian) для Solaris 11. Хотя, похоже, есть кое-что для более старых сред Solaris. Есть ли способ постустановить эти инструменты без использования интернет-соединения и диспетчера пакетов? Есть ли где-нибудь, например, образ DVD, который я мог бы использовать в качестве источника для диспетчера пакетов?
Я хотел бы запустить программу, написанную на C ++, но я не могу скомпилировать код на своей машине, так как я использую 64-битную машину x86 Linux.
У меня есть доступ к старому компьютеру Solaris 8, который настроен нормально, и я, который использовал для создания статического двоичного файла (используется gcc 3.8
). Программа работает, но с форматированием строки ведет себя странно, и она выполняется не так, как ожидалось - такое поведение не наблюдается на хосте Solaris 8.
Я могу скопировать библиотеки с машины, например, чтобы создать среду кросс-компиляции, но я не уверен, так ли это просто. Из динамически связанного файла я вижу, например, что я связываюсь с libstdc ++, но этого нет на целевой машине.
Так что мне интересно, смогу ли я создать правильную среду кросс-компиляции?
/usr/sfw/bin
это связанный gcc
path с Solaris 10. В Solaris 11.1, gcc
после установки доступен непосредственно в /usr/bin
как символическая ссылка, указывающая на /usr/gcc/<version>/bin/gcc
.
Теперь есть формат данных на диске для пакетов ips (.p5p
файлов), но я бы предложил загрузить весь репозиторий (ищите Образ репозитория Oracle Solaris 11.1 на странице загрузки Solaris 11.1) и создайте свою собственную службу ips. Посмотри это блог для подробностей. Это позволит установить любой пакет gcc
зависит от и, возможно, других пакетов, которые вам все еще не хватает для вашей задачи.
Имейте в виду, что если вы находитесь в локальной зоне (а?), То вам действительно не нужен доступ в Интернет, чтобы использовать pkg
команд, или, вернее, этой зоне это не нужно. Причина в том, что IPS (при использовании внутри зон) автоматически использует IPS глобальной зоны в качестве прокси-сервера репо. Но, конечно, если даже в глобальной зоне нет доступа в Интернет, вам нужно будет следовать ответу jlliagre.
Вы можете посмотреть на это размещение для чего собственно установить на Solaris 11. Будет пара pkg
команды, и все готово!
Мне кажется, вы можете получить доступ к Репозиторий пакетов Solaris 11 в Интернете, и вы можете скачать там пакеты. Изменить: я исправлен (спасибо @alanc), вы можете загружать только «заголовки» для пакетов там, поэтому единственный вариант - получить пакеты в противном случае.
Я предполагаю, что есть способ указать диспетчеру пакетов Solaris установить один файл с некоторыми параметрами командной строки. Проблема с этим подходом заключается в обнаружении всех зависимостей, которые могут все еще отсутствовать, без итеративной загрузки, попытки установки и повторного поиска следующей.
Я также предполагаю, что есть образы DVD, которые содержат исходные версии всех основных пакетов, и gcc - это то, что я ожидал бы стать частью этого.
Один из вариантов - получить необходимые пакеты из www.UNIXPackages.com (требуется подписка), и отдельные файлы могут быть загружены на одну машину (в вашем случае Linux), записаны на DVD, а затем перемещены и установлены на машине Solaris 11.
Интернет-соединение с машиной Solaris 11 не требуется. Обновления и другие дополнения можно будет легко сделать в будущем.
Это одно из преимуществ пакетов UNIX над IPS и OpenCSW. Не стесняйтесь присылать технические вопросы в службу поддержки на unixpackages dot com.
У меня была аналогичная проблема, и я использовал другую систему, которая была подключена к Интернету и поддержке. Ниже приводится краткое описание шагов. Однако обратите внимание, что вы можете столкнуться с проблемами зависимостей и версий, поэтому повторный / предпочтительный подход будет заключаться в создании полного локального сервера репо - особенно если ожидается, что ваша система (системы) останется отключенной от репозитория поддержки.
// Получить iperf pkg и сохранить как /tmp/iperf.p5p
pkgrecv -s https://pkg.oracle.com/solaris/support/ -d /tmp/iperf.p5p -a -r pkg://benchmark/iperf
// Проверяем содержимое пакета с помощью:
pkgrepo -s /tmp/iperf.p5p list
// или вы можете использовать:
pkg list -f -g /tmp/iperf.p5p
// Мне пришлось отключить издателя Solaris для установки pkg set-publisher --disable solaris
// Sneaker-net файл p5p в отключенную систему
// Устанавливаем пакеты:
pkg install -g file:///tmp/iperf.p5p benchmark/iperf