it-swarm-eu.dev

Aggiornamento e installazione di pacchetti tramite la riga di comando di Cygwin?

Sono un utente cieco che usa Cygwin.

Il programma di installazione non è molto accessibile: l'aggiornamento, l'installazione e la rimozione di pacchetti specifici è piuttosto difficile da eseguire poiché è necessario utilizzare i tasti del mouse simulati per fare clic e scorrere.

C'è un modo per installare/aggiornare manualmente i pacchetti o installarli/aggiornarli tramite la riga di comando?

113
Jared

Installare apt-CYG:

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

Dopodiché sarai in grado di installare dire il pacchetto "lynx" includendo le dipendenze eseguendo:

apt-cyg install lynx
121
knorv

Dal momento che alcune persone hanno affermato correttamente che apt-cyg stesso ha bisogno di wget e per ottenere apt-cyg è necessario wget, esiste una bash unica soluzione per il bootstrap wget in puro bash.

Crea una funzione come questa nella shell di 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>&-
}

Ora puoi usarlo quasi come wget:

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

Il metodo apt-cyg ufficiale di installazione è:

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

Due passaggi sono meglio di tre. Poi:

apt-cyg install nano

A proposito, per farlo funzionare devi installare wget , tar , gawk e bzip2 per usare apt-cyg. Oltre a wget, gli altri vengono forniti con l'installazione Cygwin predefinita.

21
Marc Climent

Vecchia domanda, ma per gli altri che google e arrivati ​​qui: L'installazione ufficiale ha argomenti a riga di comando che mi hanno permesso di preparare un semplice script * .bat - basta mettere seguente linea in es "install-pkg.bat" e inserisci tale file nella tua directory root (ad es. C:\cygwin):

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

È necessario scaricare e inserire http://www.cygwin.com/setup-x86.exe (32 bit) o ​​ http://www.cygwin.com/setup-x86_64.exe (64 bit) nella stessa directory. Ora tutto ciò che devi fare per installare il pacchetto è:

install-pkg packagename

Positivo: la configurazione ufficiale, dovrebbe sempre funzionare, per qualsiasi pacchetto. Negativo: la configurazione ufficiale corrente (giugno/2015) richiede i diritti di amministratore anche se in realtà non ne ha bisogno (ad es. Directory root al di fuori delle cartelle di sistema).

17
peenut

Cygwin's setup.exe, almeno nella release 1.7 "beta", ha una modalità "automatica" integrata. Trascina e rilascia il collegamento setup.exe in una finestra di comando (o preparati in altro modo per eseguirlo con gli interruttori) e aggiungi -q per la modalità automatica seguita da -P e dai nomi dei pacchetti separati da virgole. Quindi, per me, questa lince installata:

$ "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

o

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

Questo installerà cURL, git e make, senza scorciatoie in modalità silenziosa.

7
Steven Penny

Ho trovato due gestori di pacchetti "apt like" per cygwin. Uno è uno script python chiamato cyg-apt che puoi scaricare da http://www.lilypond.org/~janneke/software/cyg-apt e l'altro è apt-cyg che puoi trovare a http://code.google.com/p/apt-cyg/

2
LunchMoney

C'è un pollo <=> problema con Egg la risposta accettata . Se non hai avuto wget o lynx durante l'installazione iniziale, non puoi usare apt-cyg. Ecco come ho installato wget in modo da poter usare apt-cyg. (Utilizza le caratteristiche della CLI di cygwin setup exe .)

# 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