Spletne strani se naložijo prek VPN, a apt ne doseže repozitorija
Brskalnik, ki deluje prek VPN, ne pove nič o nastavitvah proxyja za apt. Preberite stopnjo, ki odpove, izpišite veljavno konfiguracijo in nato nastavite proxy, ki ga apt bere.
VPN se poveže, notranji wiki se naloži v brskalniku, apt update pa še vedno visi na zrcalnem strežniku, ki ga ne more doseči. Na tej sliki na tunelu ni nič pokvarjeno. Brskalnik in upravitelj paketov sta sprejela dve ločeni odločitvi o proxyju, in samo ena od njiju je bila nastavljena.
Katera odločitev je spodletela, je edino, kar je vredno najprej ugotoviti.
Preberite napako, preden se dotaknete nastavitve
Vsaka stopnja pusti drugačno sporočilo. Ime, ki se nikoli ne razreši, je DNS; povezava, ki se nikoli ne dokonča, je usmerjanje ali požarni zid; takojšnja 407 je preverjanje pristnosti proxyja; pritožba glede potrdila je preverjanje TLS; opozorilo glede podpisa pa so metapodatki repozitorija. Teh pet okvar potrebuje pet različnih popravkov, vrstica proxyja, prilepljena čez težavo z DNS, pa samo premakne zatikanje.
Kopirajte natančno vrstico in repozitorij, ki ga navaja, preden karkoli spremenite. Meglen spomin „potekel je čas“ je tisto, kar iz desetminutne diagnoze naredi celo popoldne.
APT ima svoje nastavitve proxyja
APT bere /etc/apt/apt.conf.d/, glavni apt.conf in vsako datoteko, ki jo navaja APT_CONFIG. Ne bere profila proxyja iz namizja, nastavitve omrežja v GNOME ali razširitve brskalnika. Transport pa upošteva okoljske spremenljivke proxyja, zato delujoč export https_proxy=... v vaši lupini ne dokazuje ničesar o časovniku, ki teče v drugem okolju.
Izpišite, kaj spodleteli proces dejansko vidi: apt-config dump | grep -i proxy.
Zaženite to kot uporabnik, pod katerim teče spodletela operacija. Če root bere drugačen nabor datotek ali se časovnik systemd zažene v drugem okolju, se bo izpis razlikoval, in ta razlika je vaš odgovor. Dve vrednosti proxyja, ki si nasprotujeta, sta slabši od ene manjkajoče, ker transport sledi najbolj specifičnemu ujemanju, ki ga najde.
Nastavite proxy tja, kjer ga lastnik konfiguracije pričakuje
Za izrecni proxy, ki ga je odobril skrbnik, zadošča majhen fragment v novi datoteki:
Acquire::http::Proxy "http://proxy.corp.example:3128/";
Acquire::https::Proxy "http://proxy.corp.example:3128/";
Acquire::http::Proxy::archive.example.internal "DIRECT";Tretja vrstica je del, ki ga večina primerov izpusti. Ključ za posameznega gostitelja prepiše splošno vrednost, zato lahko notranje zrcalo, dosegljivo prek tunela, preskoči proxy, medtem ko gre vse ostalo še vedno skozenj. DIRECT je dokumentirana vrednost za to, ne prazen niz.
Dodajte fragment kot novo oštevilčeno datoteko, na primer /etc/apt/apt.conf.d/95proxy. Če prepišete distribucijsko datoteko, bo naslednja posodobitev paketov vašo spremembo tiho razveljavila.
Poverilnice ostanejo zunaj URI
Referenca transporta APT za preverjanje pristnosti kaže na apt_auth.conf, in tja sodita uporabniško ime in geslo. Če ju vdelate v URI proxyja, prideta na sezname procesov, v zgodovino lupine in v vsak izpis konfiguracije, prilepljen v zahtevek. Datoteka za preverjanje pristnosti potrebuje stroge pravice, ker je shramba poverilnic.
Preverite tudi shemo. Repozitorij HTTPS je še vedno dosegljiv prek proxyja HTTP; transport je ločena izbira od sheme URI zrcala.
Grafični programski center je ločen vmesnik. Če uporablja PackageKit ali zaledje snap, fragment APT zanj ničesar ne spremeni, zato preverite, kateri proces je izvedel spodletelo zahtevo.
Potrdite pot, ne samo izhodno kodo
Ko je fragment na mestu, opazujte zahtevo, namesto da bi zaupali zelenemu rezultatu. apt-get -o Debug::Acquire::http=true update izpiše poskus povezave, izbrani proxy in odgovorno kodo, kar loči napačen proxy od proxyja, ki vas je zavrnil.
Nato preizkusite primer, ki ne bi smel delovati. Odklopite VPN in potrdite, da notranje zrcalo preneha odgovarjati; če še vedno prenaša, nekaj usmerja mimo tunela ali pa vas oskrbuje zastarel predpomnilnik. Potrdite, da dovoljena pot še vedno preverja TLS in še vedno preverja podpise repozitorija, ker proxy, ki pregleduje promet, ni razlog za izklop enega ali drugega. Potrdite tudi, da neoverjeni odjemalec prejme jasno zavrnitev namesto tihe časovne omejitve.
Hranite delujoči fragment in spodleteli izpis skupaj v dnevniku sprememb. Naslednja oseba, ki bo naletela na isto zatikanje, bo prepoznala razliko dveh vrstic hitreje kot s katero koli razlago.