Come usare "apt-get" tramite "Http-proxy" in questo modo?


20

Sto cercando di utilizzare il apt-getcomando su una rete che utilizza un proxy, in questo modo:

Usiamo 10.114.7.7 sulla porta 80 come proxy Http e successivamente viene visualizzata una finestra di autenticazione che richiede nome utente e password.

Il nostro nome utente / dominio è così: nomeutente@urmia.ac.ir

Mi chiedo, come posso usare http_proxy=http://User:Pass@Proxyserver:Portin questa situazione !? Ho anche provato entrambi, 10.114.7.7 e urmia.ac.ir come server proxy, ma nessun risultato!

Risposte:


35

Per usare apt-get attraverso un proxy, crea un file in /etc/apt/apt.conf.d/chiamato proxy o qualcosa che riconoscerai, oppure crea (se non esiste) /etc/apt/apt.confe inserisci la seguente riga:

Acquire::http::Proxy "http://username:password@proxy.server:port/";

Sostituisci semplicemente nome utente e password con i tuoi dati di accesso e sostituisci proxy.server: porta con l'indirizzo corretto (nel tuo caso, 10.114.7.7:80), quindi la tua linea finirà in questo modo:

Acquire::http::Proxy "http://username:password@10.114.7.7:80";

Se ti viene richiesto di utilizzare il @simbolo nel tuo nome utente, dovrai evitarlo con una barra rovesciata ( username@urmia.ac.ir)

Mentre l'escape dei caratteri usando il gioco non funziona (ad es. \@In exporte wget), è possibile sfuggire ai caratteri speciali con la codifica URL. Ad esempio, username:my@pass@server.com:portdiventa username:my%40pass@server.com:port. Vedi questo elenco di caratteri con codifica URL per ulteriori informazioni.


La soluzione proposta per aggiungere una voce proxy all'interno di / etc / apt ha funzionato per me, ma noto che se il tuo server proxy memorizza nella cache le credenziali, puoi evitare di incorporare le tue credenziali nel file di configurazione semplicemente autenticandoti attraverso il tuo server proxy in un processo diverso ( ad es. browser Web in Windows), prima di eseguire i comandi apt nella shell bash. In questo modo sono stato in grado di specificare la voce proxy all'interno di / etc / apt come " server: porta " anziché " nome utente: password @ server: porta ".
Peter Sanza,

6

In alternativa, è possibile inserire quanto segue in /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.server.port:8080";

8080 è il numero di porta e penso che sia standard.

Non dimenticare le virgolette o il punto e virgola finale.


4

Questo dovrebbe risolvere il tuo problema:

export http_proxy=http://username:password@10.114.7.7:80/

EXPORT HTTP_proxy=http://username:password@10.114.7.7:80/eseguire in Bash risultati in EXPORT: command not found.
David Foerster,

Sia export che http in minuscolo. Bash fa distinzione tra maiuscole e minuscole. Altrimenti dovrebbe funzionare. Almeno ha funzionato per me per due anni.
s3lph

6
funziona per il ricciolo, ma non per apt.
MGF
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.