Comment puis-je utiliser cygwin, Ne pas gaspiller la place sur HD?

J'aime utiliser
http://www.cygwin.com/
, Mais je déteste tout l'espace disque supplémentaire, qui semble utiliser les matériaux de mise en cache inutiles pour moi. Que puis-je supprimer pour réduire le lieu d'installation occupé par moi?

Au fait, quel bon ensemble de colis pour les systèmes Barebone me donneront tout ce dont vous avez besoin, sans problème inutile, avec qui je ne travaillerai probablement jamais?
Invité:

Emilie

Confirmation de:

Certaines personnes semblent croire qu'il est facile de changer l'équipement sur n'importe quelle plate-forme que cette personne utilise. Il est possible que 500 MB en fait - Il s'agit d'une grande quantité d'espace qui peut être sacrifié si elles peuvent utiliser un adaptateur. CF et carte 4 Gb pour le lancement Windows Sur un netbook ou similaire. Ou ils peuvent l'installer dans une image virtuelle, et ces informations supplémentaires signifient la différence entre son placement sur le non cutané DVD ou la nécessité de couvrir plusieurs DVD et de résoudre les problèmes liés à cela, surtout si elle est envoyée au client, qui, par exemple, pas particulièrement technique; Matériel de formation interne pour une application qui développe votre entreprise. La présence d'une image spécifique est la même pour tous les stagiaires, travaux des merveilles, fait un environnement homogène et facilite la vie de l'instructeur. Images virtuelles - Un moyen simple de le faire dans la plupart des situations.

Résolvez le problème sur lequel l'utilisateur a demandé, ou posez-lui une question d'obtenir plus d'informations.

Solution potentielle:

Quand installé Cygwin à l'écran où il demande où stocker vos paquets, spécifiez-le dans un certain endroit, par exemple c: \ Cygwin \ Packages. Définissez comme d'habitude, courez pour vous assurer qu'il fonctionne correctement. Supprimer le dossier dans lequel les packages sont stockés si nécessaire pour les mises à jour, Cygwin Téléchargez-les à nouveau, pas l'utilisation la plus efficace de la bande passante, mais en fonction de vos besoins, cela peut être meilleur que le stockage du cache localement.

Une autre variante - Installez ces packages, mais pour la première fois que vous le faites, enregistrez les paquets ailleurs, par exemple sur un lecteur USB, puis si vous devez faire

Dominique

Confirmation de:

Je notifie que mon installation actuelle est moins 250 MB, il doit être quatre fois plus avant de commencer à m'en occuper sur mon ordinateur portable.

Mais si vous avez besoin de le faire moins ...

Charge
http://cygwin.com/setup.exe
. Le sauvegarder c: \ cygwin \ setup.exe. Exécutez l'installateur. Annuler le choix autant que possible de packages. Veuillez noter que si vous choisissez un package comportant des exigences, il sélectionnera automatiquement les packages nécessaires. Supprimer le programme d'installation du cache (qui aurait dû avoir une valeur par défaut c: \ cygwin (http | ftp) Une chose ou l'autre. Redémarrez l'installateur c: \ setup.exe, Essayer de supprimer d'autres forfaits. Répétez la répétition jusqu'à ce que l'installateur devienne aussi petit que vous le souhaitez.

Veuillez noter que de nombreux packages de base de base seront nécessaires, même à la configuration minimale. Plus tôt (Il ya environ un an) Je l'ai réduit à moins 100 Megabyte, alors que j'avais toujours tout ce que j'avais déjà utilisé du point de vue des scénarios bash.

Christine

Confirmation de:

Je ne peux pas utiliser Windows sans installation Cygwin, Mais je n'ai jamais eu de problèmes particuliers à l'aide de l'espace disque. Je pense que vous pouvez supprimer le dossier dans lequel Cygwin Stocke des paquets, mais chaque fois que vous mettez à jour Cygwin, Il téléchargera les paquets nécessaires.

Quant à la configuration du kit Barebone, cela dépend vraiment de ce dont vous avez besoin. Je commence par une installation de base Cygwin Et ajouter OpenSSH, Cron, RXVT, Screen, Vim, Git, Curl, Zip / Unzip et Wget. C'est presque tous les outils dont j'ai besoin, mais je viens d'installer autre chose s'il y a un besoin.

Christine

Confirmation de:

Au lieu Cygwin Vous pouvez également utiliser plus de packages qui ne sont pas destinés à résoudre tous les problèmes que Cygwin Elle s'efforce de résoudre. Il y a des forfaits utilitaires unix Avec un ensemble limité des programmes les plus fréquemment utilisés.

http://unxutils.sourceforge.net/
C'est celui que j'ai utilisé dans mon temps, mais il semble que c'est un projet mort.

http://gnuwin32.sourceforge.net/
Cela semble encore en vie.

Emilie

Confirmation de:

Je commencerais avec le paquet de base cygwin et «page-fault» Dans toutes les commandes supplémentaires dont vous avez besoin. Je dirige une liste d'utilitaires communs qui

je

Utilisez, mais peut être très différent de ce que vous utilisez. Faire, construire

NE PAS

Sélectionner

TOUT

Forfaits lors de l'installation Cygwin. Je l'ai fait une fois, et ça a fallu 6 Gb J'ai alors pensé que je n'aurais jamais à m'inquiéter de cela, je n'avais aucun programme. C'était une mauvaise idée.

Sur mon ordinateur avec Windows XP Disponible 1,1 GB de données pour supprimer le service pack. Je supprimerais ces fichiers avant d'essayer de couper Cygwin. Essayer d'utiliser
http://windirstat.info/
Programme et voyez où tout se passe sur votre disque dur - Probablement pas Cygwin. De plus, de temps en temps, vous devriez probablement être supprimé C: \ cygwin \ tmp, Comme il n'est pas supprimé lors du redémarrage.

Babette

Confirmation de:

Vous pouvez passer à CygWin sur
https://github.com/bmatzelle/gow/wiki
, Alternative facile CygWin (approximativement à 10 Temps plus facile)

Agathe

Confirmation de:

Si vous avez tiré les fichiers d'installation plus d'une fois, vous verrez que les fichiers inutilisés sont restés derrière ...

Pour effacer l'ensemble d'installation Cygwin (Base de données de code non installée et le package utilisé pour l'installation ...

Je pense avoir vu un script perl quelque part pour le faire, mais essayez ce code Java pour nettoyer l'installation Cygwin:

    import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.HashSet;

public class CygwinCleaner {
boolean doClean = false;
long diskFileCount = -1;
long setupFileCount = 0;
long missingFileCount = 0;
long srcFileCount = 0;
long deleteCount = 0;
public HashSet<string> pkgs = new HashSet<string>(9999);

public String formatCount(long count) {
DecimalFormat df = new DecimalFormat("##,###");
String retval = " " + df.format(count);
return retval.substring(retval.length() - 6);
}

public void checkForMissingFiles() {
for (String filename : this.pkgs) {
if (!filename.contains("-src.")) {
if (!((new File(filename)).exists())) {
System.err.println(" Missing " + filename);
missingFileCount++;
}
}
}
}

public void checkOrCleanFiles(File testfile) {
String tfap = null;
if (testfile.isDirectory()) {
for (File file : testfile.listFiles()) {
checkOrCleanFiles(file);
}
} else {
this.diskFileCount++;
tfap = testfile.getAbsolutePath();
if (!this.pkgs.contains(tfap)) {
if (this.doClean) {
System.err.println("Deleting \"" + tfap + "\"");
if (testfile.delete()) {
this.deleteCount++;
} else {
System.err.println("COULD NOT DELETE \"" + tfap + "\"");
}
} else {
System.err.println("WOULD delete \"" + tfap + "\"");
}
}
}
}

public boolean loadFileList(File file) {
boolean retval = false;
if (file.exists()) {
try {
String basedir = (new File(file.getParent())).getParent() + "/";
basedir = basedir.replace('\\', '/');
BufferedReader br = null;
br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
String line = br.readLine();
String installFile = null;
boolean processlines = false;
while ((line = br.readLine()) != null) {
if (processlines) {
if (line.startsWith("install:") || line.startsWith("source:")) {
installFile = line.substring(1 + line.indexOf(" "));
installFile = installFile.substring(0, installFile.indexOf(" "));
installFile = basedir + installFile;
String hashString = (new File(installFile)).getAbsolutePath();
if (!this.pkgs.contains(hashString)) {
this.pkgs.add(hashString);
this.setupFileCount++;
if (line.startsWith("source:")) {
srcFileCount++;
}
}
}
}
if (line.startsWith("@ ")) {
processlines = true;
}
if (line.startsWith("[test]") || line.startsWith("[prev]")) {
processlines = false;
}
}
br.close();
retval = true;
} catch (Throwable t) {
t.printStackTrace();
}
}
return retval;

}

public static void main(String[] args) {
if (args.length == 0) {
System.err.println("Usage::::: CygwinCleaner {full_path_to_setup.ini} [CLEAN]\nIf only the ini file is specified then a report will be generated\nTo perform the cleanup add the second optional parameter of CLEAN");
} else {
System.out.print("CygwinCleaner: ");
CygwinCleaner cc = new CygwinCleaner();
String setupFileName = args[0];
if (args.length &gt; 1) {
if (args[1].equalsIgnoreCase("CLEAN"))
cc.doClean = true;
}
if (cc.doClean) {
System.out.println("Performing cleanup\n");
} else {
System.out.println("Reporting only\n");
}
File file = new File(setupFileName);
cc.pkgs.add(file.getAbsolutePath());
if (cc.loadFileList(file)) {
cc.checkOrCleanFiles(file.getParentFile());
cc.checkForMissingFiles();
System.out.println(" Total of:" + cc.formatCount(cc.setupFileCount) + " files in setup.ini");
System.out.println(" Source:" + cc.formatCount(cc.srcFileCount) + " files in setup.ini");
System.out.println(" Leaving:" + cc.formatCount((cc.setupFileCount - cc.srcFileCount)) + " files in setup.ini\n");
System.out.println(" Total of:" + cc.formatCount(cc.diskFileCount) + " files in setup directory before cleanup");
System.out.println(" Deleted:" + cc.formatCount(cc.deleteCount) + " files in setup directory (unused)");
System.out.println(" Leaving:" + cc.formatCount((cc.diskFileCount-cc.deleteCount)) + " files in setup directory after cleanup\n");
System.out.println(" Missing:" + cc.formatCount(cc.missingFileCount) + " files in setup directory that are contained in setup.ini");
} else {
System.err.println("setup.ini file (" + setupFileName + ") does nofiles in setup");
}
}
}
}

</string></string>

Giselle

Confirmation de:

J'ai expérimenté par S. Cygwin, essayer d'obtenir "Facile" installation minimale. J'ai trouvé que l'installation des utilitaires tels que grep, gawk, sed et des outils similaires dépend de cygwin, base-Cygwin, et parfois d'outils indésirables, tels que bash, coreutils Etc. D., je n'ai pas essayé de bien comprendre pourquoi cette dépendance existe, mais ce n'est pas mon objectif. Je voulais installer uniquement les outils et la bibliothèque nécessaire pour eux DLL et a commencé à étudier le paquet Cygwin. J'ai découvert que le refus de setup.exe, Fourni Cygwin, est une solution alternative d'effectuer une installation minimale Cygwin. Et c'est comme ça que je l'ai fait.

Utilisation setup.exe, Fourni Cygwin, Pour télécharger tous les forfaits - Seulement télécharger, sans installation.

Après avoir terminé avec succès le téléchargement de packages individuels, tels que zlib, gawk, grep, libiconv, Situé dans le catalogue x86 / release ou x86_64 / release.

Chaque paquet est archivé et compressé à l'aide de l'outil. xz ou bzip et stocké dans les catalogues concernés.

Établir un outil spécifique, tel que sed ou gawk, Tout ce que vous avez à faire est d'extraire le fichier d'outils exécutable et la dépendance (.dll)

Avant de faire ce qui suit, assurez-vous d'avoir un outil, par exemple 7z.exe, xz.exe, bzip2 ou un autre qui peut déballer les archives .xz ou bzip.

Exemple d'installation gawk en dessous de:

Supprimer gawk.exe Des archives gawk-4.1.3-1.tar.xz Avec l'aide de l'équipe - 7z.exe e -so gawk-4.1.3-1.tar.xz | tar xvf -

Dès que cela se fait, vous devez trouver gawk.exe Dans le sous-dossier, généralement usr / bin dans le dossier release / gawk.

Trouver des dépendances pour gawk - Vous pouvez le faire de deux manières.

Explorer le fichier Cygwin setup.ini, Situé dans le dossier x86 ou x86_64. Trouver une chaîne '@ gawk', Et dans les lignes après cette ligne, vous devez trouver que la chaîne "nécessite:" dans laquelle les dépendances sont répertoriées.

Ma lecture - "A besoin: bash cygwin libgmp10 libintl8 libmpfr4 libreadline7»


Pour commencer gawk utilisant bash pas nécessairement parce que nous avons une commande de commandement Windows. (bash Activé d'obtenir plusieurs autres dll, nécessaire pour gawk. Cependant, cela conduit à l'installation d'un nombre beaucoup plus important de fichiers inutiles.). Les dépendances restantes contiennent les fichiers à lancer. gawk. Déballer chacun des paquets ci-dessus à l'aide d'outils tels que 7z ou xz, Dans des fichiers individuels.

Une fois que toutes les dépendances sont extraites, copiez l'outil nécessaire (s) (grep / sed / gawk) Dans le dossier et tout dépendant .dll. Maintenant, vous pouvez exécuter votre outil avec un ensemble minimum. .dll, nécessaire dans Golov -bones cygwin Installation.

ATTENTION: extrait simple des dépendances énumérées dans setup.ini Pour chaque outil, peut ne pas suffire. Parfois, vous devrez peut-être courir / Exécutez l'outil pour détecter que vous avez besoin de plus dll.

Il y a d'autres moyens de savoir quelles bibliothèques DLL Recherché pour exe - vous pouvez utiliser dumpbin de MS ou dependency walker, ndepends ou des outils similaires pour trouver une liste de dépendance dll.

Consulter -
https://stackoverflow.com/ques ... ation
https://stackoverflow.com/ques ... -load
J'ai aussi déplacé des informations sur la personne à charge dll, Il suffit d'exécuter l'outil et d'installer les bibliothèques manquantes énumérées par une autre, en supprimant les packages nécessaires.

Quand vous courez exe, Et si cela donne une erreur avec un message manquant .dll, Trouver un paquet contenant dll ici -
https://cygwin.com/cgi-bin2/package-grep.cgi
. Entrer complète / Nom partiel de la bibliothèque manquante DLL, Pour trouver le nom du paquet contenant cette DLL.

En fin de compte, j'ai une installation simple cygwin avec seulement vous avez besoin d'outils et DLL. Exemple: gawk - gawk.exe Et ce qui suit dll - 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 Les deux bibliothèques dll - cygwin1.dll, cygintl-8.dll

J'espère que ce sera utile. Installateur Cywin Effectue également des ré-équipements dll, Ce que je n'irai pas.

Dominique

Confirmation de:

En tant qu'utilisateur cygwin Je suis d'accord avec les deux messages précédents.

BESOINS: grep, sed, awk, cut, diff, comm, vim, OpenSSH, tar, gzip, bash, wget

Quant à l'endroit, je suis d'accord avec Yan. Un petit prix pour l'espace. Maintenant, vous pouvez obtenir une capacité de disque 1 Tb avec vitesse 10000 à propos de / min moins de 100 Dollars américains. Je me souviens comment nous avons tous dû payer plus 150 Dollars pour la capacité du disque 20 Gb

Si vous dérangez vraiment l'espace sur le disque local, essayez de livrer un référentiel NAS Sur votre réseau et stockez des "packages téléchargés". Cela réduira davantage la zone que vous faites sur votre ordinateur.

C'est vraiment un petit prix pour Cygwin.

Pour répondre aux questions, connectez-vous ou registre