tutorial para instalar español ejecutar descargar comandos comando command-line cygwin

command-line - para - ejecutar curl en windows



¿Cómo instalo los componentes de cygwin desde la línea de comando? (8)

¿Hay alguna herramienta en el paquete Cygwin similar a apt-get en Debian o yum en redhat que me permita instalar componentes desde la línea de comandos?


Existen algunos scripts que se pueden usar como simples gestores de paquetes para Cygwin. Pero es importante saber que siempre serán bastante limitados , debido a ... ehm ... Windows.

Instalar o eliminar paquetes está bien, cada administrador de paquetes para Cygwin puede hacerlo. Pero la actualización es un problema ya que Windows no le permite sobrescribir un ejecutable, que se está ejecutando actualmente. Por lo tanto, no puede actualizar, por ejemplo, Cygwin DLL o cualquier paquete que contenga el ejecutable ejecutado actualmente desde el propio Cygwin. También hay esta nota en la página de instalación de Cygwin :

"La razón básica para no tener un gestor de paquetes más completo es que dicho programa necesite acceso completo a todas las funciones POSIX de Cygwin. Sin embargo, es difícil proporcionarlo en un entorno libre de Cygwin, como el que existe en el primer Además, Windows no permite sobrescribir fácilmente los archivos ejecutables en uso, por lo que la instalación de una nueva versión de la DLL de Cygwin mientras un administrador de paquetes está utilizando la DLL es problemático ".

La configuración de Cygwin usa el registro de Windows para sobrescribir los ejecutables que están en uso y este método requiere un reinicio de Windows . Por lo tanto, es mejor cerrar todos los procesos de Cygwin antes de actualizar los paquetes , para que no tenga que reiniciar su computadora para aplicar realmente los cambios. La instalación de un nuevo paquete debe ser completamente sin molestias. No creo que ninguno de los administradores de paquetes excepto Cygwin''s setup.exe implemente ningún método para sobrescribir los archivos en uso, por lo que simplemente fallaría si no puede sobrescribirlos.

Algunos administradores de paquetes para Cygwin:

http://github.com/transcode-open/apt-cyg

Actualización : el repositorio se deshabilitó recientemente debido a problemas de derechos de autor ( eliminación de DMCA ). Parece que el propietario del repositorio emitió el desmontaje de DMCA en su propio repositorio y creó un nuevo proyecto llamado Sage (ver abajo).

El mejor para mí Simplemente porque es uno de los más recientes. No utiliza setup.exe de Cygwin, sino que implementa, lo que hace setup.exe . Funciona correctamente para ambas plataformas, x86 y x86_64 . Hay muchas horquillas con características más o menos adicionales. Por ejemplo, la kou1okada fork es una de las versiones mejoradas , que es realmente genial.

apt-cyg es solo un script de shell, no hay instalación. Simplemente descárguelo (o clone el repositorio), hágalo ejecutable y cópielo en alguna parte en la RUTA:

chmod +x apt-cyg # set executable bit mv apt-cyg /usr/local/bin # move somewhere to PATH # ...and use it: apt-cyg install vim

También hay un montón de horquillas con diferentes características.

sage

Otro gestor de paquetes implementado como un script de shell. No lo probé, pero en realidad se ve bien.

Puede buscar paquetes en un repositorio, enumerar paquetes en una categoría, verificar dependencias, enumerar archivos de paquetes y más. Tiene características que otros gestores de paquetes no tienen.

cyg-apt

Tenedor de original abandonado cyg-apt con mejoras y correcciones de errores. Tiene muchas funciones y está implementado en Python. La instalación se hace usando make .

El cyg-get de Chocolatey

Si está utilizando Chocolatey, puede instalar el paquete cyg-get , que en realidad es un envoltorio simple de Cygwin''s setup.exe escrito en PowerShell.

Cygwin''s setup.exe

También tiene un modo de línea de comando . Además, le permite actualizar todos los paquetes instalados a la vez (como apt-get upgrade en Linux basado en Debian).

Ejemplo de uso:

setup-x86_64.exe -q --packages=bash,vim

Puede crear un alias para un uso más fácil, por ejemplo:

alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"

Entonces puede, por ejemplo, instalar el paquete Vim con:

cyg-get vim


La configuración de Cygwin acepta argumentos de línea de comandos para instalar paquetes desde la línea de comandos.

por ejemplo, setup-x86.exe -q -P packagename1,packagename2 para instalar paquetes sin interacción de la GUI (''modo de instalación desatendida'').

(Tenga en cuenta que debe usar setup-x86.exe o setup-x86_64.exe según corresponda).

Ver http://cygwin.com/packages/ para la lista de paquetes.


La respuesta de Dawid Ferenczy es bastante completa, pero después de probar casi todas sus opciones, descubrí que el cyg-get de Chocolatey era el mejor (al menos el único que podía conseguir para trabajar).

Yo quería instalar wget , los pasos fueron los siguientes:

choco install cyg-get

Entonces:

cyg-get install wget


No hay ninguna herramienta específicamente en el instalador ''setup.exe'' que ofrezca la funcionalidad de apt-get. Sin embargo, hay un instalador de paquete de línea de comandos para Cygwin que se puede descargar por separado, pero no es del todo estable y depende de soluciones temporales.

apt-cyg: http://github.com/transcode-open/apt-cyg

Consulte la pestaña de problemas del proyecto para ver los problemas conocidos.


Para un instalador más conveniente, es posible que desee utilizar apt-cyg como su administrador de paquetes. Su sintaxis es similar a apt-get , que es un plus. Para esto, siga los pasos anteriores y luego use Cygwin Bash para los siguientes pasos

wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg chmod +x apt-cyg mv apt-cyg /usr/local/bin

Ahora que apt-cyg está instalado. Aquí hay algunos ejemplos de cómo instalar algunos paquetes

apt-cyg install nano apt-cyg install git apt-cyg install ca-certificates


Por lo general, antes de instalar un paquete, uno debe saber su nombre exacto:

# define a string to search export to_srch=perl # get html output of search and pick only the cygwin package names wget -qO- "https://cygwin.com/cgi-bin2/package-grep.cgi?grep=$to_srch&arch=x86_64" | / perl -l -ne ''m!(.*?)<//a>/s+/-(.*?)/:(.*?)<//li>!;print $2'' # and install # install multiple packages at once, note the setup-x86_64.exe -q -s http://cygwin.mirror.constant.com -P "<<chosen_package_name>>"


Pregunta anterior, pero aún relevante. Aquí está lo que funcionó para mí hoy (26/06/16).

Desde el shell bash:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg install apt-cyg /bin


Quería una solución para esto similar a apt-get --print-uris , pero desafortunadamente apt-cyg no hace esto. La siguiente es una solución que me permitió descargar solo los paquetes que necesitaba, con sus dependencias, y copiarlos al destino para su instalación. Aquí hay un script bash que analiza el resultado de apt-cyg en una lista de URI:

#!/usr/bin/bash package=$1 depends=$( / apt-cyg depends $package / | perl -ne ''while ($x = /> ([^>/s]+)/g) { print "$1/n"; }'' / | sort / | uniq) depends=$(echo -e "$depends/n$package") for curpkg in $depends; do if ! grep -q "^$curpkg " /etc/setup/installed.db; then apt-cyg show $curpkg / | perl -ne '' if ($x = /install: ([^/s]+)/) { print "$1/n"; } if (//[prev/]/) { exit; }'' fi done

Lo anterior imprimirá las rutas de los paquetes que necesitan descarga, en relación con la raíz del espejo cygwin, omitiendo los paquetes que ya están instalados. Para descargarlos, escribí el resultado en un archivo cygwin-packages-list y luego usé wget:

mirror=http://cygwin.mirror.constant.com/ uris=$(for line in $(cat cygwin-packages-list); do echo "$mirror$line"; done) wget -x $uris

El instalador se puede usar para instalar desde un directorio de caché local. Tenga en cuenta que para que esto funcione, necesitaba copiar setup.ini de un caché de paquete cygwin anterior al directorio con los archivos descargados (de lo contrario, el instalador no sabe qué es qué).