¿Actualizar e instalar paquetes a través de la línea de comandos de Cygwin?

Soy un usuario ciego de la computadora que utiliza Cygwin.

El programa de instalación no es muy accesible: actualizar, instalar y eliminar paquetes específicos es bastante difícil de hacer, ya que hay que usar pulsaciones de ratón simuladas para hacer clic y desplazarse.

¿Hay alguna manera de instalar manualmente / actualizar paquetes o instalarlos / actualizarlos a través de la línea de comandos?

Instalar apt-cyg :

lynx -source https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg install apt-cyg /bin 

Después de eso usted podrá instalar decir el paquete "lynx" incluyendo dependencias ejecutando:

 apt-cyg install lynx 

Puesto que algunas personas declararon correctamente que apt-cyg sí necesita wget y para obtener apt-cyg necesitas wget, hay una solución bash only para bootstrap wget en pure bash.

Cree una función como esta en su mintty bash shell:

 function __wget() { : ${DEBUG:=0} local URL=$1 local tag="Connection: close" local mark=0 if [ -z "${URL}" ]; then printf "Usage: %s \"URL\" [eg: %s http://www.google.com/]" \ "${FUNCNAME[0]}" "${FUNCNAME[0]}" return 1; fi read proto server path <<<$(echo ${URL//// }) DOC=/${path// //} HOST=${server//:*} PORT=${server//*:} [[ x"${HOST}" == x"${PORT}" ]] && PORT=80 [[ $DEBUG -eq 1 ]] && echo "HOST=$HOST" [[ $DEBUG -eq 1 ]] && echo "PORT=$PORT" [[ $DEBUG -eq 1 ]] && echo "DOC =$DOC" exec 3<>/dev/tcp/${HOST}/$PORT echo -en "GET ${DOC} HTTP/1.1\r\nHost: ${HOST}\r\n${tag}\r\n\r\n" >&3 while read line; do [[ $mark -eq 1 ]] && echo $line if [[ "${line}" =~ "${tag}" ]]; then mark=1 fi done <&3 exec 3>&- } 

Ahora puedes usarlo casi como wget:

 __wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg > /usr/bin/apt-cyg && chmod 0755 /usr/bin/apt-cyg 

El método oficial de instalación de apt-cyg es:

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

Dos pasos es mejor que tres. Entonces:

 apt-cyg install nano 

Por cierto, para que funcione deberás instalar wget , tar , gawk y bzip2 para usar apt-cyg. Aparte de wget, los otros vienen con la instalación de Cygwin por defecto.

Setup.exe de Cygwin, al menos en la versión 1.7 "beta", tiene un modo "desatendido" incorporado. Arrastre y suelte el atajo de setup.exe en una ventana de comandos (o prepárese para ejecutarlo con los conmutadores) y agregue -q para el modo desatendido seguido de los nombres de -P y separados por comas. Por lo tanto, para mí, este lince instalado:

 $ "C:\Documents and Settings\martind\Desktop\setup-1.7.exe" -q -P lynx 

Vieja pregunta, pero para otros que google y llegamos aquí: Configuración oficial tiene argumentos de línea de comandos que me permitió preparar simple * .bat script – sólo poner la línea siguiente, por ejemplo, "install-pkg.bat" y poner ese archivo en su directorio raíz (Por ejemplo, C: \ cygwin):

 setup-x86.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --root "%cd%" --packages %* 

Necesita descargar y poner http://www.cygwin.com/setup-x86.exe (32bit) o http://www.cygwin.com/setup-x86_64.exe (64 bits) en el mismo directorio. Ahora todo lo que tienes que hacer para instalar el paquete es:

 install-pkg packagename 

Positivo: configuración oficial, siempre debe funcionar, para cualquier paquete. Negativo: la configuración oficial actual (junio / 2015) requiere derechos de administrador aunque no necesite uno (por ejemplo, directorio raíz fuera de las carpetas del sistema).

 setup-x86 -nq -s http://box-soft.com -P curl,git,make 

o

 setup-x86 -nq -s http://box-soft.com -P curl -P git -P make 

Esto instalará cURL, git y make, sin atajos en modo silencioso.

Encontré dos administradores de paquetes 'apt like' para cygwin. Una es una secuencia de comandos de python llamada cyg-apt que puede descargar desde http://www.lilypond.org/~janneke/software/cyg-apt y la otra es apt-cyg que puede encontrar en http: // código. Google.com/p/apt-cyg/

Para al menos paquetes que no requieren configuración post-instalación, simplemente los desenredé de la raíz cygwin '/'. Necesitaba una versión anterior de subversion (1.7.14) que había pasado más allá de las dos versiones manejadas por setup.

Una ventaja adicional es que el paquete se queda fuera del mundo de administración de paquetes cygwin y, por lo tanto, en una especie de lista negra adhoc no se actualiza automáticamente con el paquete más reciente si se mantienen los valores predeterminados.

    Intereting Posts