2013-04-08 3 views
1

Я хотел бы иметь конкретную установку Cygwin в виде одного архива zip-файла для развертывания на разных компьютерах с ОС Windows. После изучения проблемы предложенный способ выполнить это «пробная ошибка» Установка и выбор Cygwin (What packages should I install with Cygwin to make it not bloated but also have everything I would need as a developer?) Может быть более конкретным требованием: Мне нужна минимальная установка Cygwin + Perl + известные библиотеки Perl (Win32: : API и т. Д.) + Инструменты GNU make + Gcc. Какие пакеты следует выбрать при установке Cygwin?Минимальная установка Cygwin + Perl + Gcc

+0

Я уверен, что Cygwin устанавливает запись в реестр Windows. Если это так, я не думаю, что архив zip-файлов обязательно будет работать правильно. –

+0

@Mike - вся платформа cygwin работает, если скопировать просто из c: \ cygwin в c: \ cygwin на другом ПК с ОС Windows. Единственное, что нужно, это добавить среду c: \ cygwin \ bin в среду PATH. – Sergey

ответ

0

С системой зависимости Cygwin вы должны просто сделать новую установку, отменить выбор каждого пакета, а затем выбрать Perl, make и gcc и установить для этого только необходимые пакеты. Я думаю, что некоторые из зависимых пакетов просто рекомендуются и не требуются, но установщик Cygwin удобно маркирует их, как рекомендовано.

+0

Я пробовал стандартную настройку. Проблема, которую мне нужно угадать, что я должен выбрать. Я не нашел в Интернете никакого четкого описания возможных установок установки – Sergey

1

Я экспериментировал с Cygwin, пытаясь получить «голые кости», минимальную установку. Я обнаружил, что установка утилит, таких как grep, gawk, sed и подобные инструменты, имеет зависимости от cygwin, base-Cygwin и иногда нежелательных инструментов, таких как bash, coreutils и т. Д.,

Я хотел получить только инструменты и их необходимые DLL и начал изучать пакет Cygwin. Я обнаружил, что не использовать setup.exe, поставляемый Cygwin, является альтернативным способом выполнения минимальных установок Cygwin.

И вот как я это сделал.

  1. Загрузите только пакеты, которые вы хотите получить с любого зеркала Cygwin , используя ftp или http. В качестве альтернативы вы можете использовать setup.exe , предоставленный Cygwin, для загрузки всех пакетов - только для загрузки и без установки.
  2. После того, как загрузка успешно завершена, отдельные пакеты, такие как Zlib, поглазеть, Grep, libiconv находятся под x86/выпуска или x86_64/каталог релиз Каждый пакет «tar'red и сжимаются с помощью инструмента„XZ“или bzip и хранится в соответствующих каталогах .
  3. Чтобы установить конкретный инструмент, как СЭД или поглазеть, все, что потребности предстоит сделать, чтобы извлечь исполняемый файл инструмента и его зависимостей (.dll)

Перед тем, как попытаться следующее, пожалуйста, убедитесь есть такой инструмент, как 7z.exe, xz.exe, bzip2 или другой, который способен разжатия в .xz или BZIP архив

Установка примера простак ниже:

  1. Экстракт gawk.exe из простака-4.1. Архив 3-1.tar.xz e с помощью команды - 7z.exe e -so gawk-4.1.3-1.tar.xz | деготь XVf -
  2. Как только это будет сделано, вы должны найти gawk.exe в папке обычно, USR/бен в папке выпуск/поглазеть
  3. Найти зависимости для простака - вы можете сделать это несколькими способами.

Изучите файл setup.ini Cygwin, который находится в папке x86 или x86_64. Посмотрите строку «@ gawk» и в строках после этой строки вы должны найти строку «требует:», в которой перечислены зависимости. Mine читается так: «требует: bash cygwin libgmp10 libintl8 libmpfr4 libreadline7»

Для запуска gawk bash не является обязательным, так как у нас есть командная оболочка Windows. (bash включен, чтобы получить еще несколько DLL, требуемых gawk. Однако это приводит к установке гораздо более ненужных файлов). Другие зависимости содержат файлы, которые должен выполнить gawk.

Извлеките каждый из вышеуказанных пакетов с помощью инструментов, таких как 7z или xz, в отдельные файлы.

После всех зависимостей извлекаются, скопировать необходимый инструмент (ы) (Grep/СЭД/поглазеть) в папку и все зависимые от библиотек .dll

Теперь вы должны быть в состоянии запустить инструмент с минимальным набор .dlls, требуемый для установки cygwin с голубыми костями.

Внимание: Это может быть не достаточно просто извлечь зависимости, перечисленные в Setup.ini для каждого инструмента. Иногда вам может потребоваться выполнить/запустить инструмент, чтобы обнаружить, что требуется больше DLL.

Есть другие способы выяснения DLLки, требуемые в EXE-файл - вы можете использовать DUMPBIN от MS или зависимостей ходунка, ndepends или аналогичных инструментов, чтобы найти список зависимых библиотек DLL

Consult - How do I detect the DLLs required by an application? How do I find out which dlls an executable will load?

я скотина заставил этот Dll информацию, просто запустив инструмент и установку недостающих библиотек в перечисленных по одному пути извлечения из требуемых пакетов.

При запуске инструмента и его устранении с отсутствующим сообщением .dll выполните поиск пакета, содержащего dll, здесь - https://cygwin.com/cgi-bin2/package-grep.cgi. Введите полное/частичное имя отсутствующей dll, чтобы найти имя пакета, содержащего dll.

В конце концов, я закончил установку cygwin с голубыми костями с помощью только тех инструментов и библиотек, которые мне нужны.

Пример: gawk - gawk.exe и следующие dlls - cygwin1.dll, cyggmp-10.dll, cygiconv-2.dll, cygintl-8.dll, cygmpfr-4.dll, cyggcc_s-seh-1. dll, cygncursesw-10.dll, cygreadline7.dll sed - sed.exe и dlls - cygwin1.dll, cygintl-8.dll

Надеюсь, что это будет полезно. Установщик Cywin также редуцирует dll, и я не буду здесь останавливаться.

Смежные вопросы