Muszę skonfigurować proxy. Nie było apt.conf
pliku, etc/apt/
więc utworzyłem go za pomocą nano
.
Ale nie rozumiem, co muszę tam napisać. Napisałem
http_proxy = http://lgn:[email protected]:8080/
tam, a następnie uruchomiłem ponownie networking
. Ale kiedy próbuję apt-get update
- to nie działa.
Właściwie nie rozumiem, jaki port i ip powinienem napisać w apt.conf
pliku (był przykład z 192.168.1.254
ip i 8080
portem, więc zdecydowałem się ich użyć).
Odpowiedzi:
Aby korzystać z proxy, potrzebujesz serwera proxy. Adres IP i port muszą pochodzić z tego serwera proxy. Login i pwd muszą być Twoim użytkownikiem i hasłem na serwerze proxy (jeśli proxy wymaga logowania).
Od strony help.ubuntu.com :
Jeśli Twój serwer proxy potrzebuje loginu / hasła, zastąp:
z:
za pomocą nazwy użytkownika i hasła z serwera proxy.
źródło
/etc/apt/apt.conf.d/
więc nie trzeba edytować podstawowych plików konfiguracyjnych systemu. W ten sposób, jeśli zostaną zaktualizowane w kolejnej wersji pakietu, nie musisz ręcznie scalać lokalnych zmian.sudo -H
zamiast gksudo, jeśli używasz gedit lub podobnego.To jest bardziej ogólna odpowiedź wraz z apt config.
Ponieważ istnieje wiele miejsc, w których można skonfigurować ustawienia proxy, na początku może to być mylące. Pozwól, że streszczę niektóre rzeczy i zasugeruję kilka dobrych praktyk.
Dla programów konsolowych
Np .: wget, git i prawie każda aplikacja konsolowa łącząca się z Internetem.
Jeśli chcesz skonfigurować proxy za każdym razem, gdy uruchamiasz komendy z jakiegoś powodu, ustaw zmienne środowiskowe za pomocą następujących poleceń.
Jeśli chcesz używać tych samych ustawień za każdym razem dla wszystkich użytkowników, skorzystaj z nich.
Skonfiguruj w bashrc
Skonfiguruj w
/etc/environment
Skonfiguruj za pomocą GUI
Otwórz ustawienia sieciowe i ustaw serwer proxy całej sieci.
Sieć -> Serwer proxy sieci -> Konfiguruj -> Zastosuj cały system.
Ale może to nie być przydatne, jeśli masz uwierzytelnianie dla serwera proxy.
Dla apt.
Musisz wykonać dodatkową pracę dla apt, ponieważ nawiasem mówiąc, apt nie przestrzega zmiennych środowiskowych,
Dla wszystkich elementów poza tym zakresem musi istnieć opcja konfiguracji ustawień proxy w samej aplikacji. Jeśli nie, przepraszam;)
źródło
HTTP_PROXY
(wielkimi literami) wydaje się być standardową nazwą tej zmiennej, choć wiele programów powróci do wersji pisanej małymi literami.https_proxy
(zwróć uwagę na małe litery) to poprawna wielkość liter, ale nigdy nie używałbyś jej osobno, jak to zrobiono/etc/environment
powyżej. (Myślę, żes
to literówka.)Powinno działać coś takiego:
źródło
192.168.1.1
ip. Powinienem użyć .1? a login i hasło powinny być rootem lub routerem Ubuntu?Możesz także spróbować uruchomić polecenie
sudo -E
, które przejmie ustawienia środowiska. Wydaje mi się, że działa, gdy próbuję zaktualizować, dodać repozytorium i zainstalować. Przykład:Według @David Foerster działa to tylko w przypadku ręcznej interakcji przy użyciu powłoki, ale nie działa w przypadku zautomatyzowanych zadań i usług wywołujących Apt bez interakcji użytkownika.
źródło
Jeśli potrzebujesz użyć apt za proxy, prawdopodobnie wszystko inne również potrzebuje konfiguracji proxy. Lubię zarządzać ustawieniami serwera proxy w jednym miejscu, które byłoby zmienną środowiskową.
W tym celu tworzę a
/etc/profiles.d/99-proxy.sh
, który zawiera niezbędne ustawienia proxy (jak opisany larent):w ten sposób wszyscy użytkownicy na tym komputerze mają dostęp do serwera proxy. (nie zapomnij
chmod a+x
)Kiedy używasz apt lub apt-get jako użytkownik, ten użytkownik może używać sudo. Jak opisał Frank Qiu, sudo nie przekazuje zmiennych środowiskowych. Do tego możesz dodać
do (np.)
lub bezpośrednio do
plik. W ten sposób musisz zarządzać ustawieniami proxy tylko w jednym miejscu.
źródło
Pierwotne pytanie może być w złym kierunku. Uważam, że chcesz skonfigurować serwer proxy w systemie Linux?
Cóż, to zupełnie coś innego niż chęć korzystania z istniejącego serwera proxy ze środowiska Linux.
Jeśli twoje pytanie jest pierwsze, skorzystaj z usług stron trzecich, aby skonfigurować serwer proxy w systemie Linux. Przykładem może być kałamarnica.
Proste polecenia do zainstalowania kałamarnicy:
Następnie edytuj konfigurację, aby umożliwić sieć lokalną (w tym przypadku własną maszynę). $ sudo vi /etc/squid3/squid.conf
Dodaj / edytuj następujące linie:
Zakładając, że twój adres IP komputera z systemem Linux znajduje się w bloku 192.168.1 / 24.
źródło
http[s]_proxy
zmienne ENV, a teraz zastanawia się, dlaczego APT nadal nie działa. Ale jeśli otrzymujesz HTTP 403 ze wszystkiego oprócz maszyny zsquid
- ponownie spójrz na wszystkie wystąpienia słowa,deny
które nie są komentowane. (zwłaszcza zhttp_access
tej samej linii.