acquisisci :: http :: proxy solo per i repository specificati


9

Esiste un modo per utilizzare acquis :: http :: proxy per alcuni repository?

Sono in una rete che ha un server proxy. Quindi tutti devono aggiornare /etc/apt/apt.conf aggiungendo le righe come

Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Acquire::https::Proxy "http://yourproxyaddress:proxyport";
Acquire::ftp::Proxy "http://yourproxyaddress:proxyport";
Acquire::socks::Proxy "http://yourproxyaddress:proxyport";

Tutto funziona bene con quello.

Ma ora abbiamo MOLTE macchine Ubuntu e voglio fare un mirror Ubuntu locale.

Quindi dovremmo cancellare quelle righe proxy .... ad eccezione dei repository esterni.

Quindi, come configuro qualcosa del genere?

Nelle distro basate su RH è possibile avere un'impostazione proxy globale per yum e quindi utilizzare le singole impostazioni proxy per ciascun repository. Ma non ho trovato qualcosa di simile su Ubuntu.

Risposte:


10

Finalmente l'ho fatto funzionare come volevo.

Per ogni mirror locale devi aggiungere una linea come questa:

Acquire::http::proxy::local.mirror.address "DIRECT";

Quindi, in /etc/apt/apt.conf ho ottenuto qualcosa del tipo:

Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Acquire::http::proxy::local.mirror.address "DIRECT";
Acquire::https::Proxy "http://yourproxyaddress:proxyport";
Acquire::ftp::Proxy "http://yourproxyaddress:proxyport";
Acquire::socks::Proxy "http://yourproxyaddress:proxyport";

In questo modo posso utilizzare il nostro proxy Web per repository esterni / esterni ed essere in grado di utilizzare il nostro mirror di repository locale senza un proxy Web.


2
Funziona perfettamente, ma dov'è la documentazione per questo ??
Chronospoon,

1
@chronospoon, penso che gli autori di apt pensino che tu sia un maestro in Python e sapranno esattamente come funziona questa parte. Cool
Alexis Wilke il

2
Il contrario può essere così: Acquire::http::proxy::HOST_NAME_TO_BE_PROXIED "http://yourproxyaddress:proxyport";ad esempio:Acquire::http::proxy::download.docker.com "http://1.2.3.4:1234";
Massood Khaari

-1

Ecco come risolvo questo problema.

Rimuovere tutte le righe acquisite in apt.conf e riportarlo al suo stato originario

Ora esporta il tuo http_proxy come

export http_proxy=http://username:password@host:port 
export no_proxy=.xyz.org

dove xyz.org è il tuo nome di dominio locale

Ora finalmente esegui apt-get come segue.

sudo -E apt-get update

L'opzione -E rende la variabile http_proxy disponibile per apt-get. Questo è tutto. Il proxy è ora utilizzato per tutte le connessioni esterne e non per la rete interna.


1
Questo metodo non è compatibile con il resto del sistema.
Gustavo Berman,
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.