A página de manual do yum.conf descreve várias variáveis relacionadas ao proxy:
proxy URL to the proxy server that yum should use. proxy_username username to use for proxy proxy_password password for this proxy
Mas como especificar um proxy SOCKS?
Presumo que o acima é apenas para proxies HTTP normais ...
dante
vez disso. Seu comando ésocksify app args
semelhante aos tsocks. (e da mesma forma que tsocks.conf para o comando tsocks, você também precisa do socks.conf para o comando socksify). No entanto, para socksifyyum
, recomendo a resposta de @Klaus. Modifique /etc/yum.conf é melhor.Adicione esta linha a
/etc/yum.conf
(peguei a ideia da postagem de DaPillow)proxy=socks5://ip:port
Caso seja necessária a resolução do nome do host por meio de proxy, graças a Danny pelos comentários, isso seria o seguinte:
proxy=socks5h://ip:port
Funcionou para mim usando o yum 3.4.3 no Fedora 21.
fonte
Conforme indicado pelo enzitib,
tsocks
pode ser usado para usar um proxy SOCKSyum
.Para ser mais detalhado, pode-se usá-lo assim:
Por padrão, o tsocks usa o SOCKS versão 4 - mas você pode configurar 5 através da diretiva 'server_type'. Para opções de usuário / senha, existem as diretivas 'default_user' / 'default_pass' e as variáveis de ambiente TSOCKS_USERNAME / TSOCKS_PASSWORD.
fonte
Estou usando o CentOS6.x com yum-3.2.29-81, curl / libcurl 7.19.7-53 e tenho esse mesmo problema. Eu tenho servidores yum atrás de um firewall e quero usá-los em uma configuração de proxy SOCKS5 usando ssh. Idealmente, quero fazer isso sem exigir tsocks, proxychains ou qualquer outro utilitário de "socksification".
Eu configurei a conexão SOCKS5 usando:
Eu procurei nas fontes yum python e vi que elas usam pycurl, que envolve a libcurl (observe também que todas as variáveis de ambiente proxy - http_proxy, HTTP_PROXY, all_proxy, ALL_PROXY etc.) foram inicialmente indefinidas). Além disso, verifiquei que o ~ / .curlrc estava vazio e não manchou os resultados dos meus testes.
Eu queria ver se conseguia curl para falar através do proxy socks5:
retornou com êxito a página da web remota, de modo que foi um bom sinal - mostrar que a libcurl pode usar proxies do SOCKS5. No entanto, definir uma variável de ambiente
não foi suficiente:
falhou.
Neste ponto, mudei para o uso de um programa de teste Python test.py :
Agora correndo
falhará ao buscar, mas executando
buscará com êxito http: // some-server / some-url . Portanto, parece-me que essa combinação yum / libcurl (reconhecidamente antiga) fornecida com o CentOS6 não está configurando corretamente o tipo de proxy no libcurl. Acho que o que está acontecendo é que o PROXYTYPE está padronizando para um proxy HTTP padrão em vez de identificar o esquema socks5: // dentro da URL especificada na variável de ambiente http_proxy .
De qualquer forma, o seguinte patch para /usr/lib/python2.6/site-packages/urlgrabber/grabber.py funcionou para permitir o acesso aos repositórios http: // yum por meio de um proxy SOCKS5. No PyCurlFileObject # _set_opts (self, opts = {}), adicione:
em torno da linha 1205, logo antes
Com essa mudança,
conecta com êxito a todos os meus repositórios http: // yum do outro lado do firewall por meio do proxy ssh SOCKS5.
Obviamente, pode-se exportar a variável de ambiente http_proxy dentro do shell para evitar especificá-la antes de cada chamada do yum .
fonte
Proxychaines
Também é uma boa opção para você!primeiro baixe-o e defina suas informações de meias em
proxychains.conf
arquivo e insiraproxyxhanes
antes de qualquer comando que você deseja usar proxy de meias!fonte
Adicione esta linha
/etc/yum.conf
e certifique-se de usar o protocolo esperado (não http):fonte
Options Error: Error parsing "proxy = "socks5h://abc.mnl.xyz.com:9999/ # "": URL must be http, ftp or https not "socks5h"