apt-get pour Cygwin?

127

Existe-t-il un apt-getprogramme similaire à utiliser avec Cygwin?

J'ai déjà essayé cyg-aptmais quand j'essaye, j'obtiens cette erreur:

cyg-apt: downloading: http://cygwin.mirrors.pair.com/setup-2.bz2
cyg-apt: downloading: http://cygwin.mirrors.pair.com/setup-2.ini
cyg-apt: bad URL http://cygwin.mirrors.pair.com/setup-2.ini, exiting.
Hyztname
la source
Le fichier est disponible dans le référentiel source.
Bruno
Est-il possible de télécharger à partir d'un dépôt différent de cygwin? En fait, j'ai besoin de quelques en-têtes Linux pour un ordinateur hors ligne avec Linux, mais je dois les télécharger sur Windows avec un apt-get.
Alex
2
cyg-apt a la dernière mise à jour il y a 5 ans. La structure actuelle du référentiel est différente. Par conséquent, cela ne fonctionnera pas.
David Ferenczy Rogožan
2
ne pas confondre cyg-aptavec apt-cyg. Ce dernier est bien meilleur (rappelez-vous simplement celui qui sonne le plus apt-getest le bon).
Sridhar Sarnobat

Réponses:

131

Le meilleur que j'aie jamais utilisé:

gestionnaire de paquets apt-cyg

pansophisme
la source
apt-cyg fonctionne très bien. Je viens d'installer rsync, openssh, mc et autres.
Jako
9
Il ne peut qu'installer et supprimer des packages, n'est-ce pas? Il n'est pas possible de mettre à niveau un paquet particulier ou tous les paquets vers la dernière version avec apt-cyg. Donc c'est sympa, mais inutile puisque je dois aussi utiliser le setup de Cygwin. Je serais ravi si je me trompe.
David Ferenczy Rogožan
1
apt-cyg updatemettra à jour setup.ini etc, si quelqu'un a des problèmes sans date setup.ini
nwgat
Y a-t-il des miroirs?
Danny Lo
2
@CodeMonkey Le repo est de retour, avec son concurrent: Sage
Brian Brownton
91

Vous pouvez le faire en utilisant setup.exe de Cygwin à partir de la ligne de commande Windows. Exemple:

cd C:\cygwin64
setup-x86_64 -q -P wget,tar,qawk,bzip2,subversion,vim

Pour un programme d'installation plus pratique, vous pouvez utiliser le gestionnaire de paquets apt-cyg . Sa syntaxe est similaire à apt-get, ce qui est un plus. Pour cela, suivez les étapes ci-dessus, puis utilisez Cygwin Bash pour les étapes suivantes:

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin

Maintenant, c'est apt-cyginstallé. Voici quelques exemples d'installation de certains packages:

apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates
sagunms
la source
après avoir fait l'étape ci-dessus apt-cyg pour 64 bits donne l'exception / usr / local / bin / apt-cyg: ligne 1: $ '\ r': commande non trouvée / usr / local / bin / apt-cyg: ligne 3: $ '\ r': commande non trouvée / usr / local / bin / apt-cyg: ligne 19: $ '\ r': commande introuvable / usr / local / bin / apt-cyg: ligne 21: $ '\ r' : commande introuvable / usr / local / bin / apt-cyg: ligne 27: erreur de syntaxe près d'un jeton inattendu ||' 'usr/local/bin/apt-cyg: line 27: || test "- $ GAWK-" = "-"
Shahjahan Khan
@sagunms ça a marché le charme! c'était un problème ennuyeux jusqu'à ce que je trouve la solution. Merci.
Yoon Lee
@Shahjahan Khan: Il semble que vous ayez rompu les fins de ligne avec un éditeur de texte Windows. Utilisez les fins de ligne Linux (\ n ou LF ou 0x0A), pas Windows (\ r \ n ou 0x0D 0x0A ou CR LF).
David Ferenczy Rogožan
hé .. comment installer gcc en utilisant cet outil supposons que j'oublie d'installer les packages Devel lors de l'installation de cygwin
Olu Smith
1
Travaille pour moi! a
Nick Gallimore
26

Mise à jour: vous pouvez lire la réponse la plus complexe , qui contient plus de méthodes et d'informations.

Il existe quelques scripts qui peuvent être utilisés comme de simples gestionnaires de paquets. Mais pour autant que je sache, aucun d'entre eux ne vous permet de mettre à niveau des packages, car ce n'est pas une tâche facile sous Windows car il n'est pas possible d'écraser les fichiers en cours d'utilisation. Vous devez donc d'abord fermer toutes les instances de Cygwin, puis vous pouvez utiliser le setup.exe natif de Cygwin (qui effectue lui-même la mise à niveau via la méthode «remplacer après redémarrage», lorsque les fichiers sont en cours d'utilisation).


apt-cyg

Le meilleur pour moi. Tout simplement parce que c'est l'un des plus récents. Il fonctionne correctement pour les deux plates-formes - x86 et x86_64. Il existe de nombreuses fourches avec quelques fonctionnalités supplémentaires. Par exemple, la fourche kou1okada est l'une des versions améliorées.


Setup.exe de Cygwin

Il dispose également d'un mode ligne de commande . De plus, il vous permet de mettre à jour tous les packages installés à la fois.

setup.exe-x86_64.exe -q --packages=bash,vim

Exemple d'utilisation:

setup.exe-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"

Ensuite, vous pouvez par exemple installer le package Vim avec:

cyg-get vim

David Ferenczy Rogožan
la source
18

vous pouvez toujours créer un alias bash pour configurer les fichiers * .exe dans $ home / .bashrc

cygwin 32 bits

alias cyg-get="/cygdrive/c/cygwin/setup-x86.exe -q -P"

cygwin 64bit

alias cyg-get="/cygdrive/c/cygwin64/setup-x86_64.exe -q -P"

maintenant vous pouvez installer des packages avec

cyg-get <package>
nwgat
la source
6

Non. Le seul outil officiellement pris en charge pour le téléchargement et la mise à jour des packages Cygwin est le fichier setup.exe que vous avez utilisé pour l'installation initiale , bien qu'il puisse être appelé avec des arguments de ligne de commande pour faciliter le processus.

De cette même page:

La raison fondamentale de ne pas avoir un gestionnaire de paquets plus complet est qu'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 qu'il existe lors de la première installation. De plus, Windows n'autorise pas facilement l'écrasement des exécutables en cours d'utilisation, l'installation d'une nouvelle version de la DLL Cygwin pendant qu'un gestionnaire de packages utilise la DLL est donc problématique.

moi et
la source
1
Ce sont quelques bons détails sur les raisons pour lesquelles cela n'est généralement pas possible. Doit être inclus dans la documentation cyg-get ou apt-cyg.
oligofren
5

Cela a fonctionné pour moi:

curl https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > \
apt-cyg && install apt-cyg /bin
Willem van Ketwich
la source
1
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg && install apt-cyg /binest une autre option si curl est manquant
Alex Telon
1
Souvenez-vous également rm apt-cygaprès.
Alex Telon
-1

Vous pouvez utiliser Chocolatey pour installer cyg-getpuis installer vos packages avec.

Par exemple:

choco install cyg-get

Ensuite:

cyg-get install my-package
fabriciorissetto
la source
1
Malheureusement, cela télécharge le programme d'installation de Cygwin setup-x86_64.exeet installe à nouveau Cygwin, pas seulement apt-cyg. J'ai dû annuler l'installation.
Metafaniel
Je pense que cela ne m'est pas arrivé: /
fabriciorissetto