Comment puis-je configurer Cygwin pour mettre à jour et télécharger automatiquement sans l'interface graphique?

17

Comment puis-je configurer Cygwin pour se mettre à jour automatiquement?

Comment puis-je demander à Cygwin de télécharger un package sans avoir à passer par l'interface graphique


la source
1
Cygwin fonctionne sous Windows; cela appartient probablement à SU
Michael Mrozek
3
Urgh. Cygwin est une version d'Unix.
2
Je connais un bon nombre de personnes qui pleureraient en entendant "Cygwin est une version d'Unix", mais je suppose que nous irons avec
Michael Mrozek

Réponses:

13

Cygwin: Unix :: Peaches: Trombone (c'était sur mon GRE;)

Compte tenu de la façon dont les changements Cygwin peuvent être dramatiques , je serais vraiment prudent de le faire sans mon consentement explicite. Si vous êtes audacieux, vous pouvez invoquer cron pour exécuter le script de mise à jour de votre choix.

Si vous recherchiez des documents mal documentés setup.exe --quiet-modepour une opération sans surveillance, la voici.

msw
la source
7

Automatisation de l'installation de Cygwin

Source: cette page wiki

Le programme d'installation de Cygwin est conçu pour être interactif, mais il existe plusieurs façons de l'automatiser. Si vous déployez sur plusieurs systèmes, la meilleure façon consiste à exécuter une installation complète une seule fois, en enregistrant l'intégralité de l'arborescence des packages téléchargés. Ensuite, sur les systèmes cibles, exécutez setup.exe en tant que «installation locale» pointant vers votre arborescence de packages téléchargée. Vous pouvez le faire de manière non interactive avec les options de ligne de commande setup.exe -q -L -l x:\cygwin-local\, où se trouve votre arborescence de packages téléchargée x:\cygwin-local\(voir la FAQ suivante pour une explication de ces options.)

Pour d'autres options, recherchez dans les listes de diffusion des termes tels que configuration automatisée cygwin ou installation cygwin automatisée .

J'ai trouvé certains des endroits clés où cela est discuté:

  1. Liste de diffusion Cygwin: Clonez les paramètres de configuration de cygwin d'un PC à un autre
  2. Cygwin Mail Archive: question sur la sauvegarde
  3. Liste de diffusion Cygwin: installation automatisée de cygwin
  4. Liste de diffusion Cygwin: possibilité de copier l'intégralité du dossier cygwin sur une machine différente?
  5. blog de helix: Installez les packages cygwin depuis la cmdline

Vous pouvez également envisager d'utiliser cygcheck.

Aussi: je n'ai pas testé cela moi-même, mais il y a maintenant un projet appelé apt-cygqui semble fonctionner de manière similaire à apt-get de debian. Voici la page du projet

Copiez les packages Cygwin vers un nouveau système

Voici un moyen simple que j'ai trouvé pour dupliquer une installation sur plusieurs systèmes avec des packages mis à jour au moment de l'installation:

#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

Maintenant, copiez simplement ce fichier sur la nouvelle machine dans C:\cygwin\etc\setup\installed.dbet exécutez le programme d'installation de Setup.exe. Les packages répertoriés doivent être automatiquement sélectionnés pour la mise à jour. Il peut être possible d'automatiser ce processus en utilisant les conseils que j'ai mentionnés ci-dessus, et ici .

Sources:

  1. Liste de diffusion Cygwin
  2. Extrait de code sur Snipplr: script Sed
  3. Article de blog: installer des packages cygwin à partir de la ligne de commande
  4. Cygwin Mail Archive: question sur la sauvegarde
TrinitronX
la source
3

Voici une réponse du superutilisateur à propos d'une mise à jour sans assistance:

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

Vous devez redémarrer une fois la mise à niveau terminée pour éviter que les applications cygwin se comportent mal en raison de la mise à niveau de cygwin1.dll

--no-desktop Désactiver la création d'un raccourci sur le bureau

--no-shortcuts Désactiver la création du bureau et du menu Démarrer

--no-startmenu Désactiver la création du raccourci du menu Démarrer

--quiet-mode Mode de configuration sans assistance

user394
la source