Qual é a lista mínima de pacotes para o Cygwin?

6

O Perguntas freqüentes do Cygwin menciona que, na primeira instalação, o setup exe baixará “a subconjunto mínimo de todos os pacotes disponíveis. ”Quais pacotes fazem parte deste subconjunto?

Estou instalando o Cygwin em um computador sem acesso à Internet, por isso preciso saber quais pacotes baixar para transferir, já que não consigo executar o setup.exe no computador com Internet.

    
por Neil 18.02.2015 / 20:40

3 respostas

1

Aqui está a lista mínima de pacotes para uma instalação "base" do Cygwin:

_autorebase
_update-info-dir
alternatives
attr
base-cygwin
base-files
bash
bzip2
ca-certificates
coreutils
cygutils
cygwin
dash
editrights
file
findutils
gawk
gcc
gdbm
getent
gettext
gmp
grep
groff
gzip
hostname
ipc-utils
less
libargp
libffi
libiconv
libpipeline
libtasn1
login
lynx
man-db
mintty
mpfr
ncurses
openssl
p11-kit
pcre
popt
readline
rebase
run
sed
tar
texinfo
tzcode
util-linux
vim
which
xz
zlib

O tamanho total será de ~ 1,4 GB.

    
por 30.11.2015 / 18:56
1

Eu tenho experimentado com o Cygwin tentando obter uma instalação mínima "bare-bones". Eu acho que instalar utilitários como grep, gawk, sed e ferramentas similares tem dependências em cygwin, base-Cygwin e ferramentas algumas vezes indesejáveis como bash, coreutils etc., eu não tentei entender completamente porque essa dependência existe, mas essa não é minha objetivo. Eu queria ter apenas as ferramentas e seus dlls necessários instalados e comecei a examinar o pacote do Cygwin. Descobri que não usar o setup.exe fornecido pelo Cygwin é uma maneira alternativa de realizar instalações mínimas do Cygwin. E é assim que eu fiz isso.

  1. Use o setup.exe fornecido pelo Cygwin para fazer o download de todos os pacotes - somente download e nenhuma instalação.
  2. Quando o download for concluído com sucesso, pacotes individuais como zlib, gawk, grep, libiconv são encontrados no diretório x86 / release ou x86_64 / release.
  3. Cada pacote é 'tar'red e compactado usando a ferramenta' xz 'ou bzip e armazenado nos respectivos diretórios.
  4. Para instalar uma ferramenta específica como sed ou gawk, tudo o que precisa ser feito é extrair a ferramenta executável e suas dependências (.dll)

    Antes de tentar o seguinte, verifique se você tem uma ferramenta como 7z.exe, xz.exe, bzip2 ou outro que seja capaz de descompactar um .xz ou arquivo bzip

Instalando o exemplo do gawk abaixo:

  1. Extraia o gawk.exe do arquivo gawk-4.1.3-1.tar.xz usando o comando - 7z.exe e -so gawk-4.1.3-1.tar.xz | tar xvf -
  2. Uma vez feito isso, você deve encontrar o gawk.exe em uma subpasta normalmente, usr / bin na pasta release / gawk
  3. Encontre as dependências para o gawk - você pode fazer isso de duas maneiras.

    Examine the Cygwin setup.ini file found in x86 or x86_64 folder. Look for the string '@ gawk' and in the lines after this line you should find a "requires:" line that lists the dependencies.

    Mine reads like this - "requires: bash cygwin libgmp10 libintl8 libmpfr4 libreadline7"

Para que o gawk rode, o bash não é obrigatório, já que temos o shell de comando do windows. (o bash é incluído para obter algumas outras DLLs requeridas pelo gawk. No entanto, isso faz com que muito mais arquivos desnecessários sejam instalados). As outras dependências contêm arquivos que o gawk precisa executar. Extraia cada um dos pacotes acima usando ferramentas como 7z ou xz em arquivos individuais.

Depois que todas as dependências forem extraídas, copie as ferramentas necessárias (grep / sed / gawk) para uma pasta e todos os arquivos .dlls dependentes. Agora, você deve poder executar sua ferramenta com o conjunto mínimo de arquivos .dlls necessários em uma instalação do cygwin bare-bones.

Caution : It may not be sufficient to just extract the dependencies listed in setup.ini for each tool. Sometimes, you may need to execute/run the tool to discover that there are more dlls required.

Existem outros meios de descobrir as dlls exigidas por um exe - você pode usar o dumpbin do MS ou do walker de dependência, ndepends ou ferramentas similares para encontrar a lista de dlls dependentes

Consulte - link link

Eu também forcei brutalmente as informações de dll dependentes apenas executando a ferramenta e instalando as dlls ausentes listadas uma a uma, extraindo dos pacotes necessários.

Quando você executa um exe e se ele comete erros com uma mensagem .dll ausente, procure o pacote que contém a dll aqui - link . Digite o nome completo / parcial da dll ausente para encontrar o nome do pacote que contém a dll.

Eventualmente, acabei com uma instalação simples do cygwin com apenas as ferramentas e dlls de que preciso. Exemplo: gawk - gawk.exe e as dlls a seguir - cygwin1.dll, cyggmp-10.dll, cygiconv-2.dll, cygintl-8.dll, cygmpfr-4.dll, cyggcc_s-seh-1.dll, cygncursesw- 10.dll, cygreadline7.dll

sed-sed.exe e dlls - cygwin1.dll, cygintl-8.dll

Espero que isso seja útil. O instalador do Cywin também faz o dll basear-se, o qual não me aventuro aqui

    
por 23.12.2016 / 20:46
0

Por que não basta instalá-lo em uma unidade USB e copiar os arquivos para o computador no qual deseja instalá-lo? Esta pergunta da FAQ indica que os direitos administrativos são necessários apenas para configurar as permissões de segurança nos arquivos para que todos na máquina pode acessar os arquivos. Se você instalá-lo em um local diferente e, em seguida, copiar o diretório inteiro para a nova máquina, deve funcionar bem. (Nota: eu não testei isso sozinho).

    
por 18.02.2015 / 21:07

Tags