los Preguntas frecuentes de Cygwin menciona que en la primera instalación, el archivo de instalación descargará "un subconjunto mínimo de todos los paquetes disponibles". ¿Qué paquetes son parte de este subconjunto?
Estoy instalando Cygwin en una computadora sin acceso a Internet, así que necesito saber qué paquetes debo descargar ya que no puedo ejecutar el setup.exe
en el ordenador con internet.
He estado experimentando con Cygwin intentando obtener una instalación mínima. Me parece que la instalación de utilidades como grep, gawk, sed y herramientas similares tiene dependencias de cygwin, base-Cygwin y, a veces, herramientas no deseadas como bash, coreutils, etc., no he intentado entender completamente por qué existe esta dependencia, pero ese no es mi Gol. Quería instalar solo las herramientas y sus archivos DLL necesarios y comencé a examinar el paquete Cygwin. Descubrí que no usar el setup.exe provisto por Cygwin es una forma alternativa de realizar instalaciones mínimas de Cygwin. Y así es como lo hice.
Para instalar una herramienta específica como sed o gawk, todo lo que debe hacerse es extraer el ejecutable de la herramienta y sus dependencias (.dll)
Antes de intentar lo siguiente, asegúrese de tener una herramienta como 7z.exe, xz.exe, bzip2 u otro que sea capaz de descomprimir un archivo .xz o bzip
Instalando el ejemplo de gawk a continuación:
Para que gawk se ejecute, bash no es un deber ya que tenemos el shell de comandos de Windows. (Se incluye bash para obtener algunas otras dlls requeridas por gawk. Sin embargo, eso hace que se instalen muchos más archivos innecesarios). Las otras dependencias contienen archivos que gawk necesita ejecutar. Extraiga cada uno de los paquetes anteriores utilizando herramientas como 7z o xz en archivos individuales.
Después de extraer todas las dependencias, copie las herramientas necesarias (grep / sed / gawk) en una carpeta y en todos los .dlls dependientes. Ahora debería poder ejecutar su herramienta con el conjunto mínimo de .dlls requerido en un solo espacio. -instalaciones de cygwin huesos.
Existen otros medios para encontrar las dll requeridas por un exe: puede usar el dumpbin de MS o dependencias, ndepends o herramientas similares para encontrar la lista de dll dependientes.
Consultar - https://stackoverflow.com/questions/362560/how-do-i-detect-the-dlls-required-by-an-application https://stackoverflow.com/questions/475148/how-do-i-find-out-which-dlls-an-executable-will-load
También forzé la información de DLL dependiente simplemente ejecutando la herramienta e instalando las DLL que faltan enumeradas una por una extrayendo los paquetes necesarios.
Cuando ejecute un archivo exe y, si falla con un mensaje .dll faltante, busque el paquete que contiene la dll aquí: https://cygwin.com/cgi-bin2/package-grep.cgi . Ingrese el nombre completo / parcial de la dll que falta para encontrar el nombre del paquete que contiene la dll.
Finalmente, terminé con una instalación de cygwin básica con solo las herramientas y archivos DLL que necesito. Ejemplo: gawk - gawk.exe y las siguientes dll - 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 y dlls - cygwin1.dll, cygintl-8.dll
Espero que esto se encuentre útil. El instalador de Cywin también hace rebases dll, que no voy a aventurar aquí
fuente
¿Por qué no instalarlo en una unidad USB y copiar los archivos desde allí a la computadora en la que desea configurarlo? Esta pregunta frecuente indica que solo se necesitan derechos administrativos para configurar los permisos de seguridad en los archivos para que todos en la máquina puedan acceder a los archivos. Si lo instala en una ubicación diferente y luego copia el directorio completo en la nueva máquina, debería trabaja bien. (Nota: no he probado esto yo mismo.)
fuente