VPN-en koplar til, den interne wikien lastar i nettlesaren, og apt update heng framleis på eit spegel det ikkje når. Ingenting med tunnelen er øydelagd i det bildet. Nettlesaren og pakkehandsamaren tok to atskilde proxyval, og berre eitt av dei var konfigurert.

Kva val som feila, er det einaste som er verdt å fastslå først.

Les feilen før du rører ein innstilling

Kvart trinn etterlèt ei anna melding. Eit namn som aldri blir slått opp, er DNS; ei tilkopling som aldri blir fullført, er ruting eller ein brannmur; ein umiddelbar 407 er proxyautentisering; ei klage på sertifikatet er TLS-verifisering; og ei signaturadvarsel er depotmetadata. Dei fem feila treng fem ulike rettingar, og ei proxylinje som blir lime over eit DNS-problem flyttar berre hengeproblemet.

Kopier den nøyaktige linja og depotet ho nemner før du endrar noko. Ei vag erindring om «det gjekk i timeout» er det som gjer ein ti minutts diagnose til ein heil ettermiddag.

APT har eigne proxyinnstillingar

APT les /etc/apt/apt.conf.d/, hovudfila apt.conf og kvar fil som APT_CONFIG nemner. Ho les ikkje ein proxyprofil frå skrivebordet, ei nettverksinnstilling i GNOME eller ei nettlesarutviding. Transporten respekterer likevel proxy-miljøvariablar, og difor beviser ein fungerande export https_proxy=... i skalet ditt ingenting om ein timer som køyrer i eit anna miljø.

Dump det den feilande prosessen faktisk ser: apt-config dump | grep -i proxy.

Køyr det som brukaren den feilande operasjonen køyrer som. Viss root les eit anna sett filer, eller ein systemd-timer startar med eit anna miljø, vil dumpen avvike, og skilnaden er svaret ditt. To proxyverdiar som er usamde er verre enn éin manglande verdi, fordi transporten følgjer den mest spesifikke treffet han finn.

Set proxyen der eigaren av konfigurasjonen ventar han

For ein eksplisitt proxy som administratoren har godkjent, er eit lite fragment i ei ny fil nok:

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

Den tredje linja er delen dei fleste døma utelèt. Ein nøkkel per vert overstyrer den generiske verdien, så eit internt spegel som blir nådd via tunnelen kan hoppe over proxyen medan alt anna framleis går gjennom han. DIRECT er den dokumenterte verdien for det, ikkje ein tom streng.

Legg til fragmentet som ei ny nummerert fil, til dømes /etc/apt/apt.conf.d/95proxy. Å skrive over ei distribusjonsfil betyr at neste pakkeoppdatering stille set endringa di tilbake.

Påloggingsdetaljar blir haldne utanfor URI-en

Den referansen for APT-transporten peiker på apt_auth.conf for autentisering, og det er der brukarnamnet og passordet høyrer heime. Å byggje dei inn i proxy-URI-en plasserer dei i prosesslister, skalhistorie og kvar konfigurasjonsdump som blir lima inn i ei sak. Auth-fila treng restriktive løyve, fordi ho er eit lager for påloggingsdetaljar.

Kontroller også skjemaet. Eit HTTPS-depot kan framleis nåast gjennom ein HTTP-proxy; transporten er eit separat val frå URI-skjemaet til spegelen.

Eit grafisk programvaresenter er ein separat frontend. Brukar det PackageKit eller ein snap-backend, endrar APT-fragmentet ingenting for det, så stadfest kva prosess som gjorde den feilande førespurnaden.

Stadfest vegen, ikkje berre utgangskoden

Med fragmentet på plass, sjå på førespurnaden i staden for å stole på eit grønt resultat. apt-get -o Debug::Acquire::http=true update skriv ut tilkoplingsforsøket, proxyen han valde og svarkoden, noko som skil ein feil proxy frå ein proxy som avviste deg.

Test deretter tilfellet som ikkje skulle verke. Kople frå VPN-en og stadfest at det interne spegelen sluttar å svare; viss det framleis lastar ned, ruter noko utanom tunnelen, eller ein utdatert hurtigbuffer ten deg. Stadfest at den tillatne vegen framleis verifiserer TLS og framleis kontrollerer depotssignaturar, fordi ein proxy som inspiserer trafikk ikkje er grunn til å slå av nokon av delane. Stadfest også at ein uautentisert klient får ei tydeleg avvising i staden for ein stille timeout.

Oppbevar det fungerande fragmentet og den feilande utskrifta saman i endringsloggen. Den neste personen som treffer same hengeproblemet, vil kjenne att skilnaden på to linjer raskare enn noka forklaring.

Relaterte artiklar