web-dev-qa-db-fra.com

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

Je suis un utilisateur d’ordinateur aveugle qui utilise Cygwin.

Le programme d'installation n'est pas très accessible: la mise à niveau, l'installation et la suppression de packages spécifiques sont assez difficiles à effectuer car vous devez utiliser des frappes de souris simulées pour cliquer et faire défiler.

Est-il possible d'installer/mettre à niveau manuellement les packages ou de les installer/mettre à niveau via la ligne de commande?

113
Jared

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", y compris les dépendances, en exécutant:

apt-cyg install lynx
121
knorv

Puisque certaines personnes ont correctement déclaré que apt-cyg avait lui-même besoin de wget et afin d'obtenir apt-cyg vous avez besoin de wget, il existe une solution uniquement bash pour amorcer wget en pur bash.

Créez une fonction comme celle-ci dans votre shell menthe 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
23
Moreaki

La méthode officielle d'apt-cyg installation 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. Ensuite:

apt-cyg install nano

En passant, pour que cela fonctionne, vous devrez installer wget , tar , gawk et bzip2 pour pouvoir utiliser apt- cyg. En dehors de wget, les autres viennent avec l'installation par défaut de Cygwin.

21
Marc Climent

Ancienne question, mais pour les autres qui google et arrivé ici: La configuration officielle a des arguments en ligne de commande qui m’ont permis de préparer un simple script * .bat - il suffit de mettre la ligne suivante, par exemple. "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 installer http://www.cygwin.com/setup-x86.exe (32 bits) ou http://www.cygwin.com/setup-x86_64.exe (64 bits ) dans le même répertoire. Maintenant, tout ce que vous avez à faire pour installer le paquet est:

install-pkg packagename

Positif: l'installation officielle, devrait toujours fonctionner, pour n'importe quel paquet. Négatif: la configuration officielle actuelle (juin/2015) requiert des droits d'administrateur même si elle n'en a pas réellement besoin (par exemple, le répertoire racine en dehors des dossiers système).

17
peenut

Le fichier setup.exe de Cygwin, du moins dans la version 1.7 "bêta", intègre un mode "sans assistance". Glissez-déposez votre raccourci setup.exe dans une fenêtre de commande (ou préparez-vous à l'exécuter avec des commutateurs) et ajoutez -q pour le mode sans assistance suivi de -P et des noms de package 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
13
Martin Dorey
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.

7
Steven Penny

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 à partir de http://www.lilypond.org/~janneke/software/cyg-apt et l’autre est apt-cyg que vous trouverez à http://code.google.com/p/apt-cyg/

2
LunchMoney

Il y a un problème de poulet <=> œuf avec la réponse acceptée . Si vous n'avez pas obtenu wget ou lynx lors de l'installation initiale, vous ne pouvez pas utiliser apt-cyg. Voici comment j'ai installé wget pour pouvoir utiliser apt-cyg. (Il utilise les fonctions CLI du fichier de configuration cygwin .)

# check to see if you are running 64 bit cygwin
$ uname -a
CYGWIN_NT-10.0 WINDOWS-ABMESEI 2.6.0(0.304/5/3) 2016-08-31 14:32 x86_64 Cygwin

# if you are not using 64 bit, get http://www.cygwin.com/setup-x86.exe instead of...
$ curl -o cygwin-setup.exe http://www.cygwin.com/setup-x86_64.exe
$ chmod +x cygwin-setup.exe

# now you are ready to use it according to: https://cygwin.com/faq/faq.html#faq.setup.cli
$ cygwin-setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --packages wget
0
Bruno Bronosky