Toutes les sources que j'ai trouvées en ligne indiquent qu'une installation complète de Cygwin prend plus de 1 Go, mais que la mienne ne fait que 100 Mo. J'étais à peu près sûr d'avoir tout téléchargé à partir des serveurs miroir, mais l'installation a pris moins de 5 minutes au lieu de plusieurs heures, comme je m'y attendais s'il s'agissait d'installer des gigaoctets de logiciels.
Cygwin a-t-il subi un grand nettoyage entre 2012 et 2013, ou ai-je commis une erreur lors de l'installation?
Lors de la première installation de packages, le fichier setup * .exe n'installe pas tous les packages. Seuls les packages de base minimaux de la distribution Cygwin sont installés par défaut . En cliquant sur les catégories et les packages dans l'écran d'installation du package setup * .exe, vous aurez la possibilité de contrôler les éléments installés ou mis à jour . En cliquant sur le champ "Par défaut" situé à côté de la catégorie "Tous" vous permettra d'installer tous les packages Cygwin . Installation et mise à jour des packages Cygwin
Je voudrais ajouter à ce fil. Cette approche vous offre une installation Cygwin plus simple, plus épaisse, plus simple, avec les outils/éléments dont vous avez besoin. Aucune dépendance, aucun paquet indésirable, aucun fichier, etc.
J'ai déjà essayé avec Cygwin pour obtenir une installation minimale, minimale. Je trouve que l’installation d’utilitaires tels que grep, gawk, sed et d’autres outils similaires dépend de cygwin, de base-Cygwin et parfois d’outils indésirables comme bash, coreutils, etc.
Je voulais installer uniquement les outils et les dll nécessaires et commencé à examiner le paquet Cygwin. J'ai découvert que le fait de ne pas utiliser le fichier setup.exe fourni par Cygwin est une méthode alternative pour réaliser des installations minimales de Cygwin.
Et voici comment je l'ai fait:
Avant de commencer, assurez-vous d’avoir un outil tel que 7z.exe, xz.exe, bzip2 ou autre capable de décompresser une archive .xz ou bzip.
Installation de l'exemple gawk ci-dessous:
7z.exe e -so gawk-4.1.3-1.tar.xz | tar xvf -
Examinez le fichier setup.ini de Cygwin qui se trouve dans le dossier x86 ou x86_64 . Recherchez la chaîne "@ gawk" et, dans les lignes suivantes, vous trouverez une ligne "require:" qui répertorie les dépendances . Mine se lit comme ceci - "requiert: bash cygwin libgmp10 libintl8 libmpfr4 libreadline7"
Pour que gawk s'exécute, bash n'est pas indispensable car nous avons la commande windows Shell. (bash est inclus pour obtenir quelques autres dll requises par gawk. Cependant, beaucoup de fichiers inutiles sont installés.) Les autres dépendances contiennent des fichiers que gawk doit exécuter.
Extrayez chacun des packages ci-dessus à l'aide d'outils tels que 7z ou xz dans des fichiers individuels.
Une fois toutes les dépendances extraites, copiez le ou les outils nécessaires (grep/sed/gawk) dans un dossier et tous les fichiers .dll dépendants.
Vous devriez maintenant être en mesure d’exécuter votre outil avec l’ensemble minimal de fichiers .dll requis dans une installation complète de cygwin.
Attention: Il peut ne pas être suffisant d'extraire simplement les dépendances répertoriées dans le fichier setup.ini pour chaque outil. Parfois, vous devrez peut-être exécuter/exécuter l'outil pour découvrir que plusieurs DLL sont nécessaires.
Il existe d’autres moyens de rechercher les dll requises par un fichier .exe - vous pouvez utiliser dumpbin à partir de MS ou dépendances, ndepends ou des outils similaires pour rechercher la liste des dll dépendantes.
Consult - Comment détecter les DLL requises par une application?Comment savoir quelles dlls seront chargées par un exécutable?
J'ai également forcé cette information DLL en exécutant simplement l'outil et en installant les DLL manquantes répertoriées une par une en les extrayant des packages requis.
Lorsque vous exécutez un outil et qu'il contient un message manquant .dll, recherchez le package contenant la dll ici - https://cygwin.com/cgi-bin2/package-grep.cgi . Entrez le nom complet/partiel de la DLL manquante pour trouver le nom du paquet contenant la dll.
Finalement, je me suis retrouvé avec une installation épurée de cygwin avec uniquement les outils et les dll dont j'ai besoin.
Exemple: gawk - gawk.exe et les dll suivantes - cygwin1.dll, cyggmp-10.dll, cygiconv-2.dll, cygintl-8.dll, cygmpfr-4.dll, cyggcc_s-seh-1.dll, cygncursesw- 10.dll, cygreadline7.dll Sed - sed.exe et dlls - cygwin1.dll, cygintl-8.dll
J'espère que cela sera utile. Le programme d’installation de Cywin effectue également une redistribution de DLL, sur laquelle je ne vais pas me lancer ici.
Je viens de faire une installation complète de Cygwin x64 (2018-01-03) sur Windows 7 SP1 x64 Ultimate:
Le dossier Cygwin (qui s'appelle par défaut C:\cygwin64
) a les propriétés suivantes:
Dossier temporaire Cygwin où les packages téléchargés sont stockés avant d'être installé (peut être supprimé après l'installation de Cygwin):
Sous devel
, vous n’avez peut-être besoin que des éléments suivants:
gcc-core:GNU Compiler collection(C Open MP)
gcc-fortran:GNU Compiler collection(Fortran)
gcc-g++:GNU Compiler collection(C++)
gcc-objc:GNU Compiler collection(Objective-C)
gdb: The GNU Debugger
make: The GNU version of the "make" utility