Como posso configurar o Cygwin para se atualizar automaticamente?
Como posso fazer com que o Cygwin baixe um pacote sem precisar acessar a interface gráfica?
Como posso configurar o Cygwin para se atualizar automaticamente?
Como posso fazer com que o Cygwin baixe um pacote sem precisar acessar a interface gráfica?
Respostas:
Cygwin: Unix :: Peaches: Trombone (que estava no meu GRE;)
Dado o quão dramáticas as mudanças de Cygwin podem ser, eu ficaria muito desconfiado de fazê-lo sem meu consentimento explícito. Se você for ousado, poderá invocar o cron para executar o script de atualização que escolher.
Se você estava procurando os mal documentados setup.exe --quiet-mode
para operação autônoma, aí está.
Fonte: Esta página da Wiki
O programa Cygwin Setup foi projetado para ser interativo, mas existem algumas maneiras diferentes de automatizá-lo. Se você estiver implantando em vários sistemas, a melhor maneira é executar uma instalação completa uma vez, salvando toda a árvore de pacotes baixados. Em seguida, nos sistemas de destino, execute o setup.exe como uma "Instalação Local" apontada para a árvore de pacotes baixados. Você pode fazer isso de maneira não interativa com as opções da linha de comando
setup.exe -q -L -l x:\cygwin-local\
, onde está a árvore de pacotes baixadosx:\cygwin-local\
(consulte a próxima FAQ para obter uma explicação sobre essas opções).Para outras opções, pesquise nas listas de discussão com termos como configuração automatizada cygwin ou instalação automatizada cygwin .
Eu encontrei alguns dos principais lugares onde isso é discutido:
Você pode querer usar cygcheck
também.
Além disso: eu não testei isso pessoalmente, mas agora existe um projeto chamado apt-cyg
que parece funcionar de maneira semelhante ao apt-get do debian. Aqui está a página do projeto
Aqui está uma maneira fácil de duplicar uma instalação em vários sistemas com pacotes atualizados no momento da instalação:
#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
Agora simplesmente copie esse arquivo para a nova máquina C:\cygwin\etc\setup\installed.db
e execute o instalador Setup.exe. Os pacotes listados devem ser selecionados automaticamente para atualização. Pode ser possível automatizar esse processo usando as dicas mencionadas acima e aqui .
Fontes:
Aqui está uma resposta do superusuário sobre como fazer uma atualização autônoma:
cd C:\cygwin
wget -N http://cygwin.com/setup.exe
setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode
Você deve reiniciar após a conclusão da atualização para evitar que os aplicativos cygwin se comportem incorretamente devido ao cygwin1.dll atualizado
--no-desktop
Desativar criação de atalho na área de trabalho
--no-shortcuts
Desativar a criação da área de trabalho e o menu Iniciar
--no-startmenu
Desativar a criação do atalho do menu Iniciar
--quiet-mode
Modo de instalação autônoma