Question Mise à niveau et installation des packages via la ligne de commande Cygwin?


Je suis un utilisateur informatique aveugle qui utilise Cygwin.

Le programme d'installation n'est pas très accessible: mettre à niveau, installer et supprimer des paquets spécifiques est assez difficile à faire, car vous devez utiliser des frappes de souris simulées pour cliquer et faire défiler.

Existe-t-il un moyen d’installer / mettre à niveau manuellement les packages ou de les installer / mettre à niveau via la ligne de commande?


109
2017-09-13 15:48


origine




Réponses:


Installer apt-cyg:

lynx -source https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Après cela, vous pourrez installer le paquet "lynx" en incluant les dépendances en exécutant:

apt-cyg install lynx

119
2017-09-14 17:29



Le référentiel n'a pas déplacé : une plainte DMCA a été Publié againt transcode-open / apt-cyg. Incidemment, l'utilisateur de Github svnpenn a créé un fork appelé "sage" en même temps, prétendant être son successeur - Lucas Cimon
Lien mis à jour pour le conseil DMCA... svnpenn / sage fork - Abdull
J'ai dû chmod + x apt-cyg pour qu'il soit exécutable (juste au cas où cela aiderait quelqu'un) - Pedro A


Puisque certaines personnes ont correctement déclaré que apt-cyg lui-même a besoin de wget et pour obtenir apt-cyg vous avez besoin de wget, il y a une solution bash seulement pour bootstrap wget en pure bash.

Créez une fonction comme celle-ci dans votre shell mintty bash:

function __wget() {
    : ${DEBUG:=0}
    local URL=$1
    local tag="Connection: close"
    local mark=0

    if [ -z "${URL}" ]; then
        printf "Usage: %s \"URL\" [e.g.: %s http://www.google.com/]" \
               "${FUNCNAME[0]}" "${FUNCNAME[0]}"
        return 1;
    fi
    read proto server path <<<$(echo ${URL//// })
    DOC=/${path// //}
    HOST=${server//:*}
    PORT=${server//*:}
    [[ x"${HOST}" == x"${PORT}" ]] && PORT=80
    [[ $DEBUG -eq 1 ]] && echo "HOST=$HOST"
    [[ $DEBUG -eq 1 ]] && echo "PORT=$PORT"
    [[ $DEBUG -eq 1 ]] && echo "DOC =$DOC"

    exec 3<>/dev/tcp/${HOST}/$PORT
    echo -en "GET ${DOC} HTTP/1.1\r\nHost: ${HOST}\r\n${tag}\r\n\r\n" >&3
    while read line; do
        [[ $mark -eq 1 ]] && echo $line
        if [[ "${line}" =~ "${tag}" ]]; then
            mark=1
        fi
    done <&3
    exec 3>&-
}

Maintenant, vous pouvez l'utiliser presque comme wget:

__wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg > /usr/bin/apt-cyg && chmod 0755 /usr/bin/apt-cyg

22
2017-10-30 21:58



Excusez-moi, @moreaki, mais il y a une chose que je ne peux pas comprendre d'apt-cyg: dans le programme d'installation Windows classique de CygWin, je peux / dois spécifier l'emplacement des dépôts / répertoires, que ce soit un téléchargement ftp / http sites, ou lecteur local (sur mon ordinateur). Je ne vois pas cette option dans le site officiel de googlecode. Où est-ce que apt-cyg télécharger les paquets à partir de? - Sopalajo de Arrierez
Pardonnez ma réponse tardive. Je viens de parcourir le code d'apt-cyg sur le site officiel de googlecode et il me semble que le site de téléchargement sélectionné semble être http://mirrors.kernel.org/sourceware/cygwin, comme spécifié dans findworkspace(), lorsque vous n'avez pas spécifié le miroir à l'aide de l'option de ligne de commande -m. Si vous spécifiez la ligne de commande, les informations du serveur miroir seront écrites sur /etc/setup/last-mirror. - Moreaki
L'installation d'apt-cyg ne repose plus sur wget, donc rien de plus important? Ils utilisent lynx (qui semble être intégré dans cygwin?) Sur leur site Web. - akauppi
@steven Quelle est la raison de la modification en gros qui change plus qu'une partie substantielle? C'est à peu près une réponse à part entière - random♦
@steven Alors, une nouvelle réponse serait nécessaire pour mettre cela en évidence, et non pour changer sommairement une réponse existante contre l'intention et la voix de l'auteur original. - random♦


le Installation officielle d'apt-cyg la méthode est la suivante:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Deux étapes valent mieux que trois. Alors:

apt-cyg install nano

Par ailleurs, pour que cela fonctionne, vous devrez installer wget, le goudron, rester bouche bée et bzip2 pour utiliser apt-cyg. A part wget, les autres viennent avec installation par défaut de Cygwin.


20
2018-02-24 15:47



Pour Cygwin 64 bits, svn et apt-cyg peut être cassé. Donc, vous devrez peut-être utiliser le three step approche wget pour installer apt-cyg puis remplacez $mirror/setup... avec $mirror/x86_64/setup... dans les lignes 98 et 105 du fichier apt-cyg. - sagunms


Ancienne question, mais pour les autres qui google et est arrivé ici: L'installation officielle a des arguments de ligne de commande ce qui m'a permis de préparer un simple script * .bat - il suffit de mettre la ligne suivante par ex. "install-pkg.bat" et placez ce fichier dans votre répertoire racine (par exemple, C: \ cygwin):

setup-x86.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --root "%cd%" --packages %*

Vous devez télécharger et mettre http://www.cygwin.com/setup-x86.exe (32bit) ou http://www.cygwin.com/setup-x86_64.exe (64bit) dans le même répertoire. Maintenant, tout ce que vous avez à faire pour installer le paquet est:

install-pkg packagename

Positif: la configuration officielle devrait toujours fonctionner pour tous les paquets. Négatif: la configuration officielle actuelle (juin / 2015) requiert des droits d'administrateur même si elle n'en nécessite pas (par exemple, le répertoire racine en dehors des dossiers système).


14
2018-06-23 10:23



bonne réponse, car c'est un outil que vous avez déjà dans toute installation de Cygwin; cependant, il semble que vous ne pouvez pas l'empêcher de mettre à jour tous les paquets déjà installés? c'est assez ennuyeux si vous voulez juste installer un nouveau paquet; en d'autres termes, il n'y a pas de ligne de commande équivalente à l'option "Keep" du setup.exe graphique - golimar
note setup.exe s'appelle maintenant setup-x86.exe - ou une variante dépendant des bits de cpu. - ErichBSchulz
Le lien est cassé, maintenant c'est: cygwin.com/faq/faq.html#faq.setup.cli Pouvez-vous modifier cela dans votre réponse? Merci - Benj


Le setup.exe de Cygwin, au moins dans la version 1.7 "beta", a un mode "sans surveillance" intégré. Faites glisser et déposez votre raccourci setup.exe dans une fenêtre de commande (ou préparez-vous à l'exécuter avec les commutateurs), puis ajoutez -q pour le mode sans surveillance suivi de -P et noms de paquets séparés par des virgules. Donc, pour moi, ce lynx installé:

$ "C:\Documents and Settings\martind\Desktop\setup-1.7.exe" -q -P lynx

12
2017-11-11 17:57



Hé, ça marche mais que diriez-vous si je veux ajouter des paquets au moment de l'installation, comment faire ça? - Johnydep
note setup.exe s'appelle maintenant setup-x86.exe - ou une variante dépendant des bits de cpu. - ErichBSchulz


setup-x86 -nq -s http://box-soft.com -P curl,git,make

ou

setup-x86 -nq -s http://box-soft.com -P curl -P git -P make

Cela installera cURL, git et make, sans raccourcis en mode silencieux.


6
2018-04-26 05:45





J'ai trouvé deux gestionnaires de paquets «apt like» pour cygwin. L'un est un script python appelé cyg-apt que vous pouvez télécharger depuis http://www.lilypond.org/~janneke/software/cyg-apt et l'autre est apt-cyg que vous pouvez trouver à http://code.google.com/p/apt-cyg/


2
2017-09-13 18:20