Il existe quelques scripts qui peuvent être utilisés comme de simples gestionnaires de paquets pour Cygwin. Mais il est important de savoir qu'ils seront toujours assez peu efficaces. limitée à cause de... ehm... Windows.
Installer ou supprimer des paquets est possible, chaque gestionnaire de paquets pour Cygwin peut le faire. Mais la mise à jour est un problème car Windows ne vous permet pas d'écraser un exécutable qui est en cours d'exécution. Vous ne pouvez donc pas mettre à jour, par exemple, la DLL de Cygwin ou tout autre paquet qui contient l'exécutable en cours d'exécution à partir de Cygwin lui-même. Il y a aussi cette note sur le site Installation de Cygwin page :
"La raison fondamentale pour laquelle il n'y a pas de gestionnaire de paquets plus complet est que un tel programme aurait besoin d'un accès complet à toutes les fonctionnalités POSIX de Cygwin. Cela est cependant difficile à fournir dans un environnement sans Cygwin, tel que existe lors de la première installation. De plus, Windows ne permet pas facilement facilement l'écrasement des exécutables en cours d'utilisation, de sorte que l'installation d'une nouvelle version de la DLL alors qu'un gestionnaire de paquets utilise la DLL est problématique."
L'installation de Cygwin utilise le registre de Windows pour écraser les exécutables qui sont utilisés. et cette méthode nécessite un redémarrage de Windows . Par conséquent, il est préférable de fermer tous les processus Cygwin avant de mettre à jour les paquets pour que vous n'ayez pas à redémarrer votre ordinateur pour appliquer les changements. L'installation d'un nouveau paquet devrait se faire sans aucun problème. Je ne pense pas qu'aucun des gestionnaires de paquets à l'exception de celui de Cygwin setup.exe
implémente une méthode pour écraser les fichiers en cours d'utilisation, donc il échouerait simplement s'il ne peut pas les écraser.
Quelques gestionnaires de paquets pour Cygwin :
Mise à jour le dépôt a été désactivé récemment en raison de problèmes de droits d'auteur ( Démontage DMCA ). Il s'agit de ressemble à le propriétaire du dépôt a émis le DMCA takedown sur son propre et créé un nouveau projet appelé Sage (voir ci-dessous).
Le meilleur pour moi. Simplement parce que c'est l'un des plus récents. Il n'utilise pas la méthode de Cygwin. setup.exe
il réimplémente plutôt, ce qui setup.exe
fait. Il fonctionne correctement pour les deux plateformes - x86 ainsi que x86_64 . Il existe de nombreuses bifurcations avec plus ou moins de fonctionnalités supplémentaires. Par exemple, le fourchette kou1okada est l'une des versions améliorées ce qui est vraiment génial.
apt-cyg est juste un shell script, il n'y a pas d'installation. Il suffit de le télécharger (ou de cloner le dépôt), de le rendre exécutable et de le copier quelque part dans le PATH :
chmod +x apt-cyg # set executable bit
mv apt-cyg /usr/local/bin # move somewhere to PATH
# ...and use it:
apt-cyg install vim
Il existe également bouquet de fourchettes avec des caractéristiques différentes.
Un autre gestionnaire de paquets implémenté comme un shell script. Je ne l'ai pas essayé mais il a l'air bien.
Il peut rechercher des paquets dans un dépôt, lister des paquets dans une catégorie, vérifier les dépendances, lister les fichiers de paquets, etc. Il possède des fonctionnalités que les autres gestionnaires de paquets n'ont pas.
Fourche de l'original abandonné cyg-apt avec des améliorations et des corrections de bogues. Il possède un grand nombre de fonctionnalités et est implémenté en Python. L'installation se fait en utilisant make
.
Si vous avez utilisé Chocolatey pour installer Cygwin, vous pouvez installer le paquetage cyg-get qui est en fait une simple enveloppe autour de la fonction setup.exe
écrit en PowerShell.
Le setup.exe de Cygwin
Il dispose également d'un mode ligne de commande . En outre, il vous permet de mettre à jour tous les paquets installés en une seule fois (comme apt-get upgrade
sur un Linux basé sur Debian).
Exemple d'utilisation :
setup-x86_64.exe -q --packages=bash,vim
Vous pouvez créer un alias pour une utilisation plus facile, par exemple :
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Vous pouvez alors, par exemple, installer Vim paquet avec :
cyg-get vim
2 votes
Stack Overflow est un site pour les questions de programmation et de développement. Cette question semble être hors sujet car elle ne concerne pas la programmation ou le développement. Voir Quels sont les sujets sur lesquels je peux poser des questions ici dans le centre d'aide. Peut-être Super utilisateur serait un meilleur endroit pour demander. Voir aussi Où puis-je poster des questions sur le Dev Ops ?
8 votes
@jww, Ce n'est pas du devops.