Como instalar pacotes .rpm através de um proxy

Normalmente, em redes onde não tem proxy para navegação na Internet, pode-se instalar um pacote com rpm a partir de sua URL:

$ sudo rpm -ivh http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.9.4-1.el7.ngx.x86_64.rpm

No entanto, se estiver em um ambiente que será necessário passar por um proxy para acessar a internet, o comando acima apresentará o seguinte erro:

Retrieving http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.9.4-1.el7.ngx.x86_64.rpm
curl: (7) Failed to connect to nginx.org port 80: Connection timed out
error: skipping http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.9.4-1.el7.ngx.x86_64.rpm - transfer failed

Existem duas maneiras para solucionar esse caso.
A primeira é passar os parâmetros do servidor proxy do comando rpm. E a segunda maneira é configurar e persistir as variáveis de ambiente do proxy no comando sudo.

Vejamos:

Primeiro método:   Passagem de parâmetro na linha de comando

$ sudo rpm --httpproxy [proxy IP or FQDN] --httpport [proxy port] -ivh http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.9.4-1.el7.ngx.x86_64.rpm

Exemplo:

$ sudo rpm --httpproxy proxy.acme.com --httpport 3128 -ivh http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.9.4-1.el7.ngx.x86_64.rpm

Segundo método:   Exportar variável do proxy e persistir configuração no comando sudo .

  1. Exportar a variável de ambiente do proxy:
    $ export http_proxy=http://proxy.acme.com:3128
  2. Configurar persistência da variável do proxy no arquivo de configuração do sudo.
    $ sudo visudo
  3. Encontrar o bloco “Defaults ...” e incluir o seguinte: Defaults env_keep += "http_proxy":
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
.
.
Defaults env_keep += "http_proxy"

Dessa forma não será mais necessário passar os parâmetros de proxy na linha de comando.

Exemplo:

$ sudo rpm -ivh http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.9.4-1.el7.ngx.x86_64.rpm

Leave a Reply

Your email address will not be published. Required fields are marked *