尝试安装软件包时代理设置出现问题

尝试安装软件包时代理设置出现问题

我正在尝试通过 ppa 安装软件包 (android-studio),但遇到了一些问题。我 95% 确定这与我们落后的公司代理有关。

这些是我的设置:

env | grep -i proxy
http_proxy=http://1.2.3.4:5678/
ftp_proxy=http://1.2.3.4:5678/
socks_proxy=socks://1.2.3.4:5678/
https_proxy=http://1.2.3.4:5678/

set | grep -i proxy
ftp_proxy=http://1.2.3.4:5678/
http_proxy=http://1.2.3.4:5678/
https_proxy=http://1.2.3.4:5678/
socks_proxy=socks://1.2.3.4:5678/
      -p --http-proxy --no-http-proxy\
      -p --http-proxy --no-http-proxy\
      -p --http-proxy --no-http-proxy\
      -p --http-proxy --no-http-proxy\
      -p --http-proxy --no-http-proxy\
      -p --http-proxy --no-http-proxy\
      -p --http-proxy --no-http-proxy\

然后,当我执行命令时,尝试从终端下载包时进程会卡住。

sudo apt-get install android-studio
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Paquetes sugeridos:
  default-jdk
Se instalarán los siguientes paquetes NUEVOS:
  android-studio
0 actualizados, 1 se instalarán, 0 para eliminar y 2 no actualizados.
4 no instalados del todo o eliminados.
Se necesita descargar 0 B/36,2 kB de archivos.
Se utilizarán 98,3 kB de espacio de disco adicional después de esta operación.
(Leyendo la base de datos ... 885309 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../android-studio_162.3934792~trusty_amd64.deb ...
--2017-05-18 10:37:30--  https://dl.google.com/dl/android/studio/ide-zips/2.3.2.0/android-studio-ide-162.3934792-linux.zip
Resolviendo dl.google.com (dl.google.com)... 216.58.202.206, 2800:3f0:4001:815::200e
Conectando con dl.google.com (dl.google.com)[216.58.202.206]:443... 

PS:我可以通过浏览器下载文件,并从终端使用 wget

有谁知道我该如何解决这个问题,即使我必须使用时间设置或命令?

谢谢

答案1

根据我的经验,终端不尊重 gnome 系统设置。

当我们有公司代理时,我们需要在 .bashrc 中设置它们。因此,通过在文件末尾添加这些行来在 ~/.bashrc 中设置您的代理,然后重试(仅设置 http 和 https 代理可能就足够了,但你永远不知道......):

export http_proxy=http://1.2.3.4:5678/
export ftp_proxy=http://1.2.3.4:5678/
export socks_proxy=socks://1.2.3.4:5678/
export https_proxy=http://1.2.3.4:5678/

.bashrc 会在您每次启动终端时执行。因此,保存 .bashrc 后,请不要忘记关闭并重新打开终端。

祝好运并玩得开心点。

答案2

我创建了一个脚本,使新用户能够更轻松地记录其代理凭据,而无需依赖第三方。修改您的 (ironport ...) 的代理地址

#!/bin/bash

clear
if [ $(id -u) != "0" ]; then
    echo "You must be the superuser to run this script" >&2
    exit 1
fi



echo "******************************************************************************"
echo "*                                                                            *"
echo "*                                                                            *"
echo "*                          Salvar credenciais no PC                          *"
echo "*                                                                            *"
echo "*                                                                            *"
echo "******************************************************************************" 
echo                                                                            
echo "Digite sua m#chmod 755 $HOME/script/enviromentatricula do XXX de até 4 digitos"
read matricula    
clear #!/bin/bash
echo "******************************************************************************"                                                       
echo "*                                                                            *"
echo "*                       Sua matricula é $matricula                           *"
echo "*                                                                            *"
echo "******************************************************************************"
echo "Digite sua senha do TRT" 
read -s senha
echo "************************* Criando arquivos **********************************"
local="http://"$matricula":"$senha"@ironport.br:80/"
local1="https://"$matricula":"$senha"@ironport.br:80/"
local2="ftp://"$matricula":"$senha"@ironport.br:80/"
local3="socks://"$matricula":"$senha"@ironport.br:80/"
#echo -e "HTTP_proxy $local \nFTP_proxy=$local \nHTTPS_proxy=$local \n" "http_proxy=$local \n""ftp_proxy $local \n""https_proxy $local"
echo -e "HTTP_proxy=$local \nFTP_proxy=$local \nHTTPS_proxy=$local \nhttp_proxy=$local \nftp_proxy=$local \nhttps_proxy=$local" > tmpfile
#mv tmpfile $HOME/script/enviroment
#chmod 755 $HOME/script/enviroment
#mv tmpfile /etc/enviroment
cat tmpfile > $HOME/script/environment
cat tmpfile > /etc/environment
chmod 755 /etc/enviroment
echo -e "Acquire::http::proxy \"$local\"; \nAcquire::https::proxy \"$local1\"; \nAcquire::ftp::proxy \"$local2\"; \nAcquire::socks::proxy \"$local3\"; "> apt
#mv apt $HOME/script/apt.conf
#mv apt /etc/apt/apt.conf
cat apt.txt > $HOME/script/apt.conf
cat apt.txt > /etc/apt/apt.conf
clear 
echo "******************************************************************************"
echo "*                                                                            *"
echo "*         Arquivos gravados com sucesso                                      *"
echo "*         /etc/environment                                                   *"
echo "*         /etc/apt/apt.conf                                                  *"
echo "*                                  Cópia de I                                          *"
echo "******************************************************************************" 
echo " testar configuração digite S" Cópia de I
read testar
if [ $testar = "S" ]; then
    apt-get update
fi

另存为档案馆chmod -x ./arquivo.sh 然后运行./arquivo.sh

在没有超级用户注释(#)的情况下测试第 4、5、6 和 7 行

相关内容