Come posso configurare Cygwin per aggiornarsi automaticamente?
Come posso fare in modo che Cygwin scarichi un pacchetto senza dover passare dalla GUI?
Come posso configurare Cygwin per aggiornarsi automaticamente?
Come posso fare in modo che Cygwin scarichi un pacchetto senza dover passare dalla GUI?
Risposte:
Cygwin: Unix :: Peaches: Trombone (che era sul mio GRE;)
Considerato quanto possano essere drammatici i cambiamenti di Cygwin , sarei davvero diffidente di averlo fatto senza il mio esplicito consenso. Se sei audace, puoi invocare cron per eseguire qualsiasi script di aggiornamento tu possa scegliere.
Se stavate cercando il mal documentato setup.exe --quiet-mode
per funzionamento non presidiato, non lo è.
Fonte: questa pagina Wiki
Il programma di installazione di Cygwin è progettato per essere interattivo, ma esistono diversi modi per automatizzarlo. Se si esegue la distribuzione su più sistemi, il modo migliore è eseguire un'installazione completa una volta, salvando l'intero albero dei pacchetti scaricato. Quindi, sui sistemi di destinazione, eseguire setup.exe come "Installazione locale" puntata all'albero del pacchetto scaricato. È possibile farlo in modo non interattivo con le opzioni della riga di comando
setup.exe -q -L -l x:\cygwin-local\
, in cui si trova l'albero dei pacchetti scaricatox:\cygwin-local\
(vedere le Domande frequenti successive per una spiegazione di tali opzioni).Per altre opzioni, cerca nelle mailing list con termini come l' installazione automatica di cygwin o l' installazione automatica di cygwin .
Ho trovato alcuni dei luoghi chiave in cui questo è discusso:
Potresti voler esaminare anche l'utilizzo cygcheck
.
Inoltre: non l'ho provato io stesso, ma ora esiste un progetto chiamato apt-cyg
che sembra funzionare in modo simile a apt-get di debian. Ecco la pagina del progetto
Ecco un modo semplice che ho trovato per duplicare un'installazione su più sistemi con pacchetti aggiornati al momento dell'installazione:
#Save some copies of the /etc/setup/installed.db file
cp /etc/setup/installed.db ~/installed.db.bak
cp /etc/setup/installed.db ~/installed.db
#Create a sed script to zero version numbers
cat > ~/zero-version-nums.sed<<-'EOM'
s/-[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0.0-0.tar/
s/-[0-9]\+\.[0-9]\+-[0-9]\.[0-9a-zA-Z]\+\.tar/-0.0-0.0.tar/
s/-[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0-0.tar/
s/-[0-9]\+\.[_+0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0-0.tar/
s/-[0-9a-zA-Z]\+-[0-9]\+\.tar/-0-0.tar/
s/-[0-9]\+\.tar/-0.tar/
EOM
# Change all version numbers to 0 (run sed script)
sed -i -f ~/zero-version-nums.sed ~/installed.db
Ora copia semplicemente questo file sul nuovo computer C:\cygwin\etc\setup\installed.db
ed esegui il programma di installazione Setup.exe. I pacchetti elencati dovrebbero essere selezionati automaticamente per l'aggiornamento. Potrebbe essere possibile automatizzare questo processo usando i suggerimenti che ho menzionato sopra e qui .
fonti:
Ecco una risposta da superutente su come fare un aggiornamento automatico:
cd C:\cygwin
wget -N http://cygwin.com/setup.exe
setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode
È necessario riavviare al termine dell'aggiornamento per impedire il malfunzionamento delle app cygwin a causa dell'aggiornamento di cygwin1.dll
--no-desktop
Disabilita la creazione del collegamento sul desktop
--no-shortcuts
Disabilita la creazione del desktop e il menu Start
--no-startmenu
Disabilita la creazione del collegamento al menu di avvio
--quiet-mode
Modalità di installazione automatica