Existe uma ferramenta no pacote Cygwin semelhante ao apt-get
Debian ou yum
ao redhat que me permita instalar componentes a partir da linha de comando?
command-line
cygwin
vy32
fonte
fonte
Respostas:
Não há nenhuma ferramenta específica no instalador 'setup.exe' que ofereça a funcionalidade do apt-get. No entanto, existe um instalador de pacote de linha de comando para o Cygwin que pode ser baixado separadamente, mas não é totalmente estável e depende de soluções alternativas.
apt-cyg: http://github.com/transcode-open/apt-cyg
Confira a guia de problemas do projeto para ver os problemas conhecidos.
fonte
setup-x86.exe -q -P packagename1,packagename2
. Não é tão chique quantoapt-get
ou mesmo,apt-cyg
mas faz o truque na maioria dos casos. E você também pode executar isso emcmd.exe
(após fechar o Cygwin).A instalação do Cygwin aceita argumentos da linha de comando para instalar pacotes a partir da linha de comando.
por exemplo,
setup-x86.exe -q -P packagename1,packagename2
para instalar pacotes sem nenhuma interação da GUI ('modo de instalação autônoma').(Observe que você precisa usar
setup-x86.exe
ousetup-x86_64.exe
conforme apropriado.)Veja http://cygwin.com/packages/ para a lista de pacotes.
fonte
setup-x86_64 --packages="openssh,python"
Para um instalador mais conveniente, você pode usar
apt-cyg
como seu gerenciador de pacotes. Sua sintaxe é semelhante aapt-get
, que é uma vantagem. Para isso, siga as etapas acima e use o Cygwin Bash para as seguintes etapasAgora que
apt-cyg
está instalado. Aqui estão alguns exemplos de instalação de alguns pacotesfonte
wget
e faz o downloadapt-cyg
sem problemas. Em que momento o 404 aparece?Existem alguns scripts, que podem ser usados como gerenciadores de pacotes simples para o Cygwin. Mas é importante saber que eles sempre serão bastante limitados , por causa do ... ehm ... Windows.
Instalar ou remover pacotes é bom, cada gerenciador de pacotes do Cygwin pode fazer isso. Mas atualizar é um problema, pois o Windows não permite substituir um executável, que está sendo executado no momento. Portanto, você não pode atualizar, por exemplo, a DLL do Cygwin ou qualquer pacote que contenha o executável atualmente em execução no próprio Cygwin. Há também esta nota na página de instalação do Cygwin :
A instalação do Cygwin usa o registro do Windows para substituir os executáveis que estão em uso e esse método requer uma reinicialização do Windows . Portanto, é melhor fechar todos os processos do Cygwin antes de atualizar os pacotes , para que você não precise reiniciar o computador para aplicar as alterações. A instalação de um novo pacote deve ser completamente sem aborrecimentos. Eu não acho que nenhum dos gerenciadores de pacotes, exceto o Cygwin,
setup.exe
implemente qualquer método para substituir arquivos em uso, então ele simplesmente falharia se não pudesse substituí-los.Alguns gerenciadores de pacotes do Cygwin:
apt-cyg
Atualização : o repositório foi desativado recentemente devido a problemas de direitos autorais ( remoção da DMCA ). Ele se parece com o proprietário do repositório emitiu o DMCA takedown em seu próprio repositório e criou um novo projeto chamado Sábio (ver abaixo).
O melhor para mim. Simplesmente porque é um dos mais recentes. Ele não usa o Cygwin
setup.exe
, mas reimplementa o quesetup.exe
faz. Funciona corretamente para ambas as plataformas - x86 e x86_64 . Existem muitos garfos com mais ou menos recursos adicionais. Por exemplo, o garfo kou1okada é uma das versões aprimoradas , o que é realmente ótimo.O apt-cyg é apenas um script de shell, não há instalação. Basta fazer o download (ou clonar o repositório), torná-lo executável e copiá-lo em algum lugar no PATH:
Há também um monte de garfos com recursos diferentes.
sábio
Outro gerenciador de pacotes implementado como um script de shell. Eu não tentei, mas parece realmente bom.
Ele pode procurar pacotes em um repositório, listar pacotes em uma categoria, verificar dependências, listar arquivos de pacotes e muito mais. Possui recursos que outros gerenciadores de pacotes não possuem.
cyg-apt
Garfo do original abandonado
cyg-aptcom melhorias e correções. Possui muitos recursos e é implementado em Python. A instalação é feita usandomake
.Cyg-get de Chocolatey
Se você usou o Chocolatey para instalar o Cygwin, pode instalar o pacote cyg-get , que é realmente um invólucro simples em torno do Cygwin,
setup.exe
escrito no PowerShell.Setup.exe do Cygwin
Ele também possui um modo de linha de comando . Além disso, ele permite que você atualize todos os pacotes instalados de uma só vez (como
apt-get upgrade
no Linux baseado no Debian).Exemplo de uso:
Você pode criar um alias para facilitar o uso, por exemplo:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Então você pode, por exemplo, instalar o pacote Vim com:
cyg-get vim
fonte
sage
é um exemplo dosapt-cyg
contribuintes mais ativos nos últimos dois anos (Steven Penny). Parece que no início deste ano ele teve alguma discordância com oapt-cyg
autor original (Stephen Jungels) e emitiu a remoção do DMCA quando ele forçou o projeto. Como Jungels (aka Transcode) é o autor original do projeto, o GitHub restaurou o projeto original logo depois. Atualmente, os dois projetos estão disponíveis - embora o projeto original não tenha recebido novas atualizações de código desde a divisão. É uma situação confusa, realmente.Primeiro, baixe o instalador em: https://cygwin.com/setup-x86_64.exe (Windows 64bit) e, em seguida:
por exemplo
fonte
Eu queria uma solução parecida com essa
apt-get --print-uris
, mas infelizmente o apt-cyg não faz isso. A seguir, uma solução que me permitiu baixar apenas os pacotes necessários, com suas dependências, e copiá-los para o destino para instalação. Aqui está um script bash que analisa a saídaapt-cyg
em uma lista de URIs:O item acima irá imprimir os caminhos dos pacotes que precisam ser baixados, em relação à raiz do espelho cygwin, omitindo quaisquer pacotes que já estejam instalados. Para baixá-los, escrevi a saída em um arquivo
cygwin-packages-list
e usei o wget:O instalador pode ser usado para instalar a partir de um diretório de cache local. Observe que, para isso funcionar, eu precisava copiar
setup.ini
de um cache de pacote cygwin anterior para o diretório com os arquivos baixados (caso contrário, o instalador não sabe o que é o quê).fonte
Pergunta antiga, mas ainda relevante. Aqui está o que funcionou para mim hoje (26/6/16).
Do shell bash:
fonte
wget
oucurl
é provavelmente uma ferramenta melhor para isso. (E, pessoalmente, eu instalá-lo em algum outro diretório na minha$PATH
vez de no/bin
.)A resposta de Dawid Ferenczy é bastante completa, mas depois que tentei quase todas as opções dele, descobri que o cyg-get do Chocolate era o melhor (pelo menos o único que eu conseguia trabalhar).
Eu estava querendo instalar
wget
, os passos eram os seguintes:Então:
fonte
Geralmente, antes de instalar um pacote, é necessário saber seu nome exato:
fonte