¿Cómo puedo configurar Cygwin para que se actualice y descargue automáticamente sin la GUI?

17

¿Cómo puedo configurar Cygwin para que se actualice automáticamente?

¿Cómo puedo hacer que Cygwin descargue un paquete sin tener que pasar por la interfaz gráfica de usuario?


fuente
1
Cygwin se ejecuta en Windows; esto probablemente pertenece a SU
Michael Mrozek
3
Urgh Cygwin es una versión de Unix.
2
Conozco a un buen número de personas que llorarían al escuchar "Cygwin es una versión de Unix", pero supongo que iremos con él
Michael Mrozek

Respuestas:

13

Cygwin: Unix :: Melocotones: Trombón (que estaba en mi GRE;)

Dado lo dramáticos que pueden ser los cambios de Cygwin , sería muy cuidadoso de hacerlo sin mi consentimiento explícito. Si eres atrevido, puedes invocar cron para ejecutar cualquier script de actualización que elijas.

Si estaba buscando setup.exe --quiet-modeuna operación desatendida mal documentada , ahí está.

msw
fuente
7

Automatizar la instalación de Cygwin

Fuente: Esta página Wiki

El programa de instalación de Cygwin está diseñado para ser interactivo, pero hay algunas formas diferentes de automatizarlo. Si está implementando en múltiples sistemas, la mejor manera es ejecutar una instalación completa una vez, guardando todo el árbol de paquetes descargado. Luego, en los sistemas de destino, ejecute setup.exe como una "Instalación local" apuntada a su árbol de paquetes descargado. Puede hacerlo de forma no interactiva con las opciones de línea de comandos setup.exe -q -L -l x:\cygwin-local\, donde se encuentra el árbol de paquetes descargado x:\cygwin-local\(consulte las siguientes preguntas frecuentes para obtener una explicación de esas opciones).

Para otras opciones, busque en las listas de correo con términos como configuración automatizada de cygwin o instalación automatizada de cygwin .

He encontrado algunos de los lugares clave donde se discute esto:

  1. Lista de correo de Cygwin: Clonar configuraciones de configuración de cygwin de una PC a otra
  2. Cygwin Mail Archive: pregunta sobre copia de seguridad
  3. Lista de correo de Cygwin: instalación automatizada de Cygwin
  4. Lista de correo de Cygwin: ¿Es posible copiar la carpeta completa de Cygwin en una máquina diferente?
  5. blog de helix: Instale paquetes cygwin desde la línea de cm

Es posible que desee considerar el uso cygchecktambién.

Además: no lo he probado yo mismo, pero ahora hay un proyecto llamado apt-cygque parece funcionar de manera similar al apt-get de Debian. Aquí está la página del proyecto.

Copie los paquetes de Cygwin a un nuevo sistema

Aquí hay una manera fácil que he encontrado para duplicar una instalación en múltiples sistemas con paquetes actualizados al momento de la instalación:

#Save some copies of the /etc/setup/installed.db file
cp /etc/setup/installed.db ~/installed.db.bak
cp /etc/setup/installed.db ~/installed.db
#Create a sed script to zero version numbers
cat > ~/zero-version-nums.sed<<-'EOM'
s/-[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0.0-0.tar/ 
s/-[0-9]\+\.[0-9]\+-[0-9]\.[0-9a-zA-Z]\+\.tar/-0.0-0.0.tar/ 
s/-[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0-0.tar/ 
s/-[0-9]\+\.[_+0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0-0.tar/ 
s/-[0-9a-zA-Z]\+-[0-9]\+\.tar/-0-0.tar/ 
s/-[0-9]\+\.tar/-0.tar/ 
EOM
# Change all version numbers to 0 (run sed script)
sed -i -f ~/zero-version-nums.sed ~/installed.db

Ahora simplemente copie este archivo en la nueva máquina C:\cygwin\etc\setup\installed.dby ejecute el instalador Setup.exe. Los paquetes enumerados deben seleccionarse automáticamente para su actualización. Es posible automatizar este proceso utilizando los consejos que mencioné anteriormente, y aquí .

Fuentes:

  1. Lista de correo de Cygwin
  2. Fragmento de código en Snipplr: secuencia de comandos Sed
  3. Publicación de blog: Instalar paquetes cygwin desde la línea de cm
  4. Cygwin Mail Archive: pregunta sobre copia de seguridad
TrinitronX
fuente
3

Aquí hay una respuesta del superusuario sobre hacer una actualización desatendida:

cd C:\cygwin
wget -N http://cygwin.com/setup.exe
setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode

Debe reiniciar después de que se complete la actualización para evitar que las aplicaciones de cygwin se comporten mal debido a cygwin1.dll actualizado

--no-desktop Deshabilitar la creación de acceso directo de escritorio

--no-shortcuts Desactiva la creación de escritorio y menú de inicio

--no-startmenu Deshabilitar la creación del acceso directo del menú de inicio

--quiet-mode Modo de instalación desatendida

usuario394
fuente