¿Cuál es la lista de paquetes mínimos para Cygwin?

6

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.

Neil
fuente

Respuestas:

1

Aquí está la lista mínima de paquetes para una instalación "básica" de Cygwin:

_autorebase
_update-info-dir
alternatives
attr
base-cygwin
base-files
bash
bzip2
ca-certificates
coreutils
cygutils
cygwin
dash
editrights
file
findutils
gawk
gcc
gdbm
getent
gettext
gmp
grep
groff
gzip
hostname
ipc-utils
less
libargp
libffi
libiconv
libpipeline
libtasn1
login
lynx
man-db
mintty
mpfr
ncurses
openssl
p11-kit
pcre
popt
readline
rebase
run
sed
tar
texinfo
tzcode
util-linux
vim
which
xz
zlib

El tamaño total será de ~ 1.4 GB.

Christophe
fuente
Los paquetes básicos mínimos no pueden ser de 1.4GB, el Instalar página dice "Solo los paquetes básicos mínimos de la distribución de Cygwin se instalan de forma predeterminada, lo que ocupa unos 100 MB" ...
Xen2050
@Christophe (o cualquier otra persona), ¿le importaría informarnos (1) si los paquetes predeterminados siguen siendo los mismos en 2017, y (2) cuán grande es la instalación predeterminada, por favor? Su respuesta es lo más cercano que he visto sobre esto, y esta información sería muy útil.
Fr.
1

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.

  1. Utilice el archivo setup.exe provisto por Cygwin para descargar todos los paquetes, solo descargue y no instale.
  2. Una vez que la descarga se completa con éxito, los paquetes individuales como zlib, gawk, grep, libiconv se encuentran en el directorio x86 / release o x86_64 / release.
  3. Cada paquete está "comprimido" y comprimido usando la herramienta "xz" o bzip y almacenado en los directorios respectivos.
  4. 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:

  1. Extraiga gawk.exe del archivo gawk-4.1.3-1.tar.xz usando el comando - 7z.exe e -so gawk-4.1.3-1.tar.xz | tar xvf
  2. Una vez hecho esto, deberías encontrar gawk.exe en una subcarpeta, usr / bin en la carpeta release / gawk
  3. Encuentra las dependencias para gawk, puedes hacerlo de varias maneras.

    Examine el archivo setup.ini de Cygwin que se encuentra en las carpetas x86 o x86_64. Busque la cadena '@ gawk' y en las líneas después de esta línea debe encontrar una línea "requiere:" que enumera las dependencias.

    El mío dice así: "requiere: bash cygwin libgmp10 libintl8 libmpfr4 libreadline7"

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.

Precaución: Puede que no sea suficiente simplemente extraer las dependencias enumeradas en setup.ini para cada herramienta. A veces, es posible que necesite ejecutar / ejecutar la herramienta para descubrir que se requieren más dlls.

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í

Agnatha
fuente
1
Agregar más descansos y formatear (usar esas etiquetas de códigos y citas y las listas) haría que esta sea una respuesta mucho más clara.
music2myear
0

¿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.)

Ben Richards
fuente
1
Desafortunadamente, ni siquiera puedo ejecutarlo sin derechos de administrador (la computadora está muy bloqueada).
Neil