VPN yhdistää, sisäinen wiki latautuu selaimessa, ja apt update jää silti jumiin peilipalvelimeen, jota se ei tavoita. Siinä kuvassa tunnelissa ei ole mitään rikki. Selain ja paketinhallinta tekivät kaksi erillistä välityspalvelinpäätöstä, ja vain toinen niistä oli määritetty.

Kumpi päätös epäonnistui, on ainoa asia, joka kannattaa selvittää ensin.

Lue virhe ennen kuin kosket asetusta

Jokainen vaihe jättää erilaisen viestin. Nimi, joka ei koskaan ratkea, on DNS; yhteys, joka ei koskaan valmistu, on reititys tai palomuuri; välitön 407 on välityspalvelimen todennus; valitus varmenteesta on TLS-tarkistus; ja allekirjoitusta koskeva varoitus on pakettivaraston metatietoja. Nämä viisi vikaa vaativat viisi eri korjausta, ja DNS-ongelman päälle liimattu välityspalvelinrivi vain siirtää jumia.

Kopioi tarkka rivi ja sen nimeämä pakettivarasto ennen kuin muutat mitään. Epämääräinen muistikuva siitä, että „se aikakatkaistiin“, on se, mikä muuttaa kymmenen minuutin diagnoosin koko iltapäiväksi.

APT:llä on omat välityspalvelinasetuksensa

APT lukee /etc/apt/apt.conf.d/, pääasiallisen apt.conf-tiedoston ja jokaisen tiedoston, jonka APT_CONFIG nimeää. Se ei lue työpöydän välityspalvelinprofiilia, GNOME:n verkkoasetusta tai selainlaajennusta. Siirtokerros sen sijaan noudattaa välityspalvelimen ympäristömuuttujia, minkä vuoksi kuoressasi toimiva export https_proxy=... ei todista mitään ajastimesta, joka käynnistyy toisessa ympäristössä.

Tulosta, mitä epäonnistuva prosessi todella näkee: apt-config dump | grep -i proxy.

Suorita se sen käyttäjän oikeuksin, jona epäonnistuva toiminto ajetaan. Jos root lukee eri tiedostojoukon tai systemd-ajastin käynnistyy toisessa ympäristössä, tuloste poikkeaa, ja se ero on vastauksesi. Kaksi ristiriitaista välityspalvelinarvoa on pahempi kuin yksi puuttuva, koska siirtokerros seuraa tarkinta löytämäänsä vastinetta.

Aseta välityspalvelin sinne, missä asetusten omistaja odottaa sitä

Järjestelmänvalvojan hyväksymälle nimenomaiselle välityspalvelimelle riittää pieni katkelma uuteen tiedostoon:

Acquire::http::Proxy "http://proxy.corp.example:3128/";
Acquire::https::Proxy "http://proxy.corp.example:3128/";
Acquire::http::Proxy::archive.example.internal "DIRECT";

Kolmas rivi on se osa, jonka useimmat esimerkit jättävät pois. Isäntäkohtainen avain ohittaa yleisen arvon, joten tunnelin kautta tavoitettava sisäinen peili voi ohittaa välityspalvelimen, kun taas kaikki muu kulkee edelleen sen kautta. DIRECT on dokumentoitu arvo siihen, ei tyhjä merkkijono.

Lisää katkelma uutena numeroituna tiedostona, esimerkiksi /etc/apt/apt.conf.d/95proxy. Jakelun tiedoston ylikirjoittaminen tarkoittaa, että seuraava pakettipäivitys kumoaa muutoksesi hiljaisesti.

Tunnistetiedot pysyvät URIn ulkopuolella

APT:n siirtokerroksen viite osoittaa todennuksen osalta tiedostoon apt_auth.conf, ja sinne käyttäjänimi ja salasana kuuluvat. Niiden upottaminen välityspalvelimen URIin vie ne prosessilistauksiin, kuoren historiaan ja jokaiseen tikettiin liitettyyn asetustulosteeseen. Todennustiedosto tarvitsee tiukat oikeudet, koska se on tunnistetietojen säilö.

Tarkista myös skeema. HTTPS-pakettivarasto on yhä tavoitettavissa HTTP-välityspalvelimen kautta; siirtokerros on erillinen valinta peilin URI-skeemasta.

Graafinen ohjelmistokeskus on erillinen käyttöliittymä. Jos se käyttää PackageKit:iä tai snap-taustaohjelmaa, APT-katkelma ei muuta sen osalta mitään, joten varmista, mikä prosessi teki epäonnistuneen pyynnön.

Varmista polku, älä vain paluukoodia

Kun katkelma on paikallaan, seuraa pyyntöä sen sijaan että luottaisit vihreään tulokseen. apt-get -o Debug::Acquire::http=true update tulostaa yhteysyrityksen, valitun välityspalvelimen ja vastauskoodin, mikä erottaa väärän välityspalvelimen välityspalvelimesta, joka hylkäsi sinut.

Testaa sitten tapaus, jonka ei pitäisi toimia. Katkaise VPN ja varmista, että sisäinen peili lakkaa vastaamasta; jos se yhä lataa, jokin reitittää tunnelin ohi tai vanhentunut välimuisti palvelee sinua. Varmista, että sallittu polku yhä tarkistaa TLS:n ja yhä tarkistaa pakettivaraston allekirjoitukset, koska liikennettä tarkasteleva välityspalvelin ei ole syy kytkeä kumpaakaan pois. Varmista myös, että tunnistautumaton asiakas saa selvän kiellon hiljaisen aikakatkaisun sijaan.

Pidä toimiva katkelma ja epäonnistuva tuloste yhdessä muutoslokissa. Seuraava ihminen, joka kohtaa saman jumin, tunnistaa kahden rivin eron nopeammin kuin mistään selityksestä.

Aiheeseen liittyvät artikkelit