jak zainstalować pakiety z apt-get w systemie połączonym przez proxy?

48

Mam system Ubuntu 11.10 podłączony przez proxy do Internetu i chciałbym instalować pakiety przez apt-get. Gdy próbuję to zrobić, pojawia się następujący komunikat o błędzie:

sudo apt-get install libboost-program-options-dev
[...]
Err http://gb.archive.ubuntu.com/ubuntu/ oneiric/main libboost1.46-dev i386 1.46.1-5ubuntu2
407  Proxy Authentication Required

Jakieś pomysły?

719016
źródło
to wszelkie dostępne szczegóły dotyczące bezpłatnego serwera proxy, dzięki czemu mogę połączyć się i pobrać niektóre pakiety w moim biurze.
Jaison Justus

Odpowiedzi:

74

Ta metoda działała dla mnie ... po prostu spróbuj ...

sprawdź plik /etc/apt/apt.conf

Treści były

Acquire::http::proxy "http://<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<proxy>:<port>/";
Acquire::https::proxy "https://<proxy>:<port>/";

To był powód, dla którego mogłeś dotrzeć do proxy, ale nie mogłeś go ominąć, ponieważ nie ma informacji o haśle nazwy użytkownika. Więc po prostu włóż w to te informacje ...

Acquire::http::proxy "http://<username>:<password>@<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<username>:<password>@<proxy>:<port>/";
Acquire::https::proxy "https://<username>:<password>@<proxy>:<port>/";

zapisz plik i gotowe ...


BROTIP: Więcej lepiej dodać te linie w innym pliku /etc/apt/apt.conf.d/80proxy. Zapewni to, że po aktualizacji wersji zmiany nie zostaną utracone.

Vineet Menon
źródło
1
<br> Co jeśli w nazwie użytkownika znajduje się znak „@”. <br> Na przykład, jeśli nazwa użytkownika to pełny adres e-mail?
1
@Hunger, zapoznaj się z tym cyberciti.biz/faq/… .
Vineet Menon
2
jeśli robisz to rano, nie zapomnij usunąć szewronów
ldgorman
Acquire :: socks :: proxy "socks5: // server: port";
Kris Roofe
45

Aby skonfigurować tymczasowy serwer proxy, ustaw http_proxyzmienną środowiskową. Jeśli serwer proxy jest proxy.example.comna porcie 8080i musisz uwierzytelnić się przy użyciu nazwy użytkownika useri hasła pass, uruchom:

sudo http_proxy='http://user:[email protected]:8080/' apt-get install package-name

Aby ustawić taki serwer proxy na stałe, utwórz /etc/apt/apt.conf.d/30proxyzawierający:

Acquire::http::Proxy "http://user:[email protected]:8080/";

Zmiany są natychmiast widoczne przy następnym uruchomieniu apt.

Lekensteyn
źródło
2
Nadal nie działa, ten sam błąd. Powinienem wspomnieć, że mam swojego globalnego proxy skonfigurowanego naApplications -> System Tools -> System Settings -> Network Proxy -> Apply system Wide
719016,
Połączenie proxy działa dla mnie (testowane zarówno z netcat, jak i Squid). Jaki serwer proxy jest używany? Niektóre serwery proxy mogą wymagać innych metod uwierzytelniania.
Lekensteyn,
Tymczasowe obejście +1 było dla mnie bardziej odpowiednią odpowiedzią!
wim
1
@Lekensteyn: dlaczego wybrałeś prefiks „30”? Teraz określam kolejność parsowania, ale: czy istnieje konwencja około 30 dla proxy?
jgomo3
1
@ jgomo3 Prawdopodobnie przejrzałem inne pliki (lub plik README w tym katalogu, jeśli istnieje?), a następnie wybrałem wartość losowo. Pliki są odczytywane w kolejności alfabetycznej.
Lekensteyn
2

Alternatywą jest użycie Menedżera pakietów Synaptics, ustawiając w Preferencjach serwer proxy, z którym chcesz się połączyć. Możesz znaleźć konfigurację, korzystając z tej ścieżki: Ustawienia -> Preferencje -> Sieć

heiko81
źródło