Hoe kan u APT Proxy maak met behulp van 'n Raspberry PI met apt-cacher-ng?
As u êrens met 'n stadiger internet woon en werk, en u moet 'n klomp Debian- en / of Ubuntu-stelsels kry, sal hierdie gepaste proxy u makliker en vinniger maak..
APT is die program wat Debian en Ubuntu Linux-verspreidings gebruik om hul sagteware te installeer en op te dateer. In die buite-die-boks-konfigurasie, wanneer u geskik is om 'n program te installeer, bv .:
sudo apt installeer inkscape
APT sal die sagteware-argief van die verspreidingsbewaarplekbedieners aflaai en installeer. Dit werk baie goed as die sagtewarepakket klein is, daar slegs 'n paar lêers is wat afgelaai moet word, en u internetverbinding is vinnig.
As u egter baie sagteware het om te installeer en 'n kantoor vol masjiene het wat opgedateer moet word en u 'n stadige internetverbinding het, kan dit 'n lang tyd neem om alles op elke masjien afgelaai en geïnstalleer te kry.
'N Proxy-bediener, spesifiek 'n cache-instaanbediener, soos apt-cacher-ng is 'n program wat sit tussen die rekenaar wat u probeer opdateer en die bewaarplekbediener wat die sagteware bevat wat u aflaai. Die masjien wat u opdateer, versoek die sagteware van die instaanbediener in plaas van die bewaarplek, en die instaanbediener stuur dan die versoek na die bewaarplek, laai die sagteware af en gee dit terug aan die opdateringsmasjien.
Die slim deel is dat die gevolmagtigde 'n kopie van al die sagtewarelêers wat dit afgelaai het, sal bewaar. As 'n ander masjien in die plaaslike netwerk probeer om dieselfde lêers af te laai, dit wil sê dat dit dieselfde sagteware wil installeer of opdateer, het die instaanbediener alreeds 'n kopie wat dit aan die versoekmasjien kan gee sonder om dit af te laai..
Na afloop van die eerste aflaai, sal alle daaropvolgende aflaaie afgelaai word op die spoed van u plaaslike netwerk.
2 Installeer apt-cacher-ng
3 Stel apt op die Raspberry PI op
4 Toets apt met apt-cacher-ng
5 Stel 'n Ubuntu- of Debian-stelsel op om apt-cacher-ng te gebruik
6 APT oor HTTPS
7 Beheer van apt-cacher-ng
8 Die bestuur van die kas
Om hierdie gids te voltooi, benodig u die volgende:
A Framboos PI (enige weergawe) loop Raspbian Buster wat aan u plaaslike netwerk gekoppel is.
'N Skerm en sleutelbord om by u Raspberry Pi in te skakel. Dit is opsioneel as u SSH in u Raspberry Pi kan gebruik.
'N Nie-wortel, sudo-geaktiveerde gebruiker op u Raspberry Pi.
'N Debian- of Ubuntu-stelsel op u plaaslike netwerk.
As u al hierdie vereistes het, moet u as 'n sudo-gebruiker by u Raspberry PI aansluit en na die volgende afdeling gaan..
Voordat u nuwe pakkette op Linux installeer, is dit altyd 'n goeie idee om 'n stelselopdatering uit te voer. Dit sal verseker dat u stelsel dieselfde weergawes van pakkette bevat as wat in die verspreidingsbewaarplekke beskikbaar is, en dat u plaaslike lys pakketweergawes op datum is. As u dit doen, sal u verseker dat u nie foute ondervind tydens die installering van apt-cacher-ng nie.
Die volgende opdragte sal u stelsel opdateer:
Upgradering van $ sudo
Noudat u Raspberry PI up-to-date is, installeer apt-cacher-ng:
$ sudo apt installeer apt-cacher-ng
Die installeerder sal u vra of u HTTPS-tonnels deur middel van apt-cacher-ng wil aktiveer. U moet 'Nee' beantwoord op hierdie vraag. Ons sal APT opstel om HTTPS-verbindings te proxy deur apt-cacher-ng in plaas van tonnels te benodig. Boonop kan u hierdie opsies later in die apt-cacher-ng-konfigurasielêer verander as u dit nodig het.
In ooreenstemming met die moderne programmatuurkonvensies, word 'n stelseldienslêer geskep en geaktiveer wanneer u apt-cacher-ng installeer. Dit beteken dat apt-cacher-ng outomaties met die opstart sal begin en u ook apt-cacher-ng met die normale systemd-diensopdragte kan bestuur:
$ sudo systemctl begin apt-cacher-ng.service
$ sudo systemctl herbegin apt-cacher-ng.service
apt-cacher-ng werk nou as 'n stelsel-demoon wat op poort 3142 luister en gereed is om verbindings van apt te aanvaar.
Stel apt op die Raspberry PI op
Die eerste stelsel wat ons sal instel om apt-cacher-ng-proxy te gebruik, is toepaslik op die Raspberry PI. Die manier waarop ons apt sal instel om die apt-cacher-ng-proxy te gebruik, is om die URL's in die geskikte bronne van die apt te skryf. Die bronnelêer bevat 'n lys van URL's van die bewaarplekke waar die verspreidingsagteware beskikbaar is om af te laai.
U vind die hoofbronlêer vir Raspbian op /etc/apt/sources.list en lyk op 'n nuwe installasie soos volg:
deb http://raspbian.raspberrypi.org/raspbian/ buster hoof bydrae tot nie-gratis rpi
# Uncomment-reël hieronder dan 'apt-get update' om 'apt-get source' in staat te stel
# deb-src http://raspbian.raspberrypi.org/raspbian/ buster hoof bydrae nie-vry rpi
Die enigste aktiewe (onopmerkende) reël hier is die eerste i.e .:
Ons moet hierdie reël verander sodat die lêer met 'n teksredakteur oopgemaak word. Hier gebruik ons ​​nano:
Verander die eerste reël sodat dit soos volg lyk:
deb http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian/ buster hoof bydrae nie-vry rpi
Wat u hier gedoen het, was om 127.0.0.1:3142 in die URL in te voeg.
Die IP-adres 127.0.0.1 is altyd die IP-adres van die plaaslike rekenaar, wat dikwels na verwys word as "localhost". Die deel: 3142 dui die hawe aan.
Stoor en verlaat nano deur op CTRL + o, ENTER, CTRL + x te druk.
U moet nou dieselfde wysiging aanbring in 'n bronnelêer by /etc/apt/sources.list.d/raspi.list.
apt en apt-cacher-ng is nou gereed vir toetsing.
Toets apt met apt-cacher-ng
As u dit regkry, sal dit 'n kopie van die lêers wat dit afgelaai, kas. dit doen dit so dat nee, dit maak nie onnodig afgelaai nie en ook om 'n plaaslike kopie van die installasie-argiewe te bewaar ingeval 'n pakket weer geïnstalleer moet word en geen internet beskikbaar is nie.
Hierdie plaaslike caching beteken dat apt nie met die instaanbediener kontak sal maak as u 'n opdatering of apt-opdatering uitvoer as die bewaarplek nie verander het nie. Daarom moet ons die geskikte kas handmatig uitvee om die instaanbediener te toets. Die volgende opdragte sal alle gepaste pakkette wat geskik is, uitvee:
Toets nou geskik deur 'n opdatering te laat loop en kyk vir foute:
U sal verskeie reëls van die uitvoer sien wat soos volg lyk:
Kry: 1 http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Die URL vanaf http://127.0.0.1:3142/ dui aan dat apt die opdateringslêers van apt-cacher-ng ontvang.
U kan ook die apt-cacher-ng-loglêer vir foute sien deur hierdie opdrag uit te voer:
$ stert -f /var/log/apt-cacher-ng/apt-cacher.log
in 'n tweede terminale. As u geen foute ondervind nie, kan u voortgaan om 'n Debian- of Ubuntu-stelsel op u plaaslike netwerk op te stel.
Stel 'n Ubuntu- of Debian-stelsel op om apt-cacher-ng te gebruik
Die Debian- of Ubuntu-stelsels op u plaaslike netwerk wat u van die apt-cacher-ng-instaanbediener wil benut, hoef geen ekstra sagteware te installeer nie. Al wat u hoef te doen is om hul bronnelêers weer te skryf, sodat hulle al hul opdaterings van apt-cacher-ng versamel in plaas daarvan om direk met die bewaarplek in verbinding te tree.
Die verandering wat u aan die bronnelêers moet maak, is presies dieselfde as die wysiging wat u aan die bronne op die Raspberry PI aangebring het, behalwe dat u die IP-adres van die Raspberry PI moet gebruik in plaas van 127.0.0.1.
Dit beteken dat u eers die IP-adres van u Raspberry Pi moet kry. Die maklikste manier om die IP-adres van die Raspberry PI te kry, is om die volgende opdrag in 'n terminale op die Raspberry PI uit te voer:
$ gasheernaam -I
Dit sal die IP-adresse wat die Raspberry PI het, uitdruk. Gebruik die eerste IPv4 IP-adres. Hier sal ek die voorbeeldadres 192.168.0.2 gebruik. U moet die IP-adres van u Raspberry PI vervang.
Terug op die kliëntmasjien, maak die hoofbronlêer oop met 'n teksredakteur; hier gebruik ons ​​nano:
Die lêer bevat lyne met dieselfde formaat as op die Raspberry PI se /etc/apt/sources.list. Hier is 'n voorbeeldreël van 'n Debian Buster-installasie:
deb http://ftp.debian.org/debian buster hoof
U moet hierdie reëls soos volg wysig met behulp van die IP van u Raspberry PI bv .:
deb http://192.168.0.2:3142/ftp.debian.org/debian buster hoof
Wysig al die reëls in /etc/apt/sources.list en enige ander bronne lêer onder /etc/apt/sources.list.d/. Vee dan lêers uit wat in die geheue lê, om te toets:
Dateer die stelsel weer op:
Die afvoer vanaf apt moet aandui dat die opdateringslêers van die apt-cacher-ng-instaanbediener kom deur reëls soos die volgende te druk wat die IP van die instaanbediener bevat:
Hierdie masjien is nou volledig opgestel om u nuwe apt proxy te gebruik. U moet in die toekoms enige nuwe bronnelêer wat u by hierdie masjien voeg, wysig, insluitend nuwe reëls wat bygevoeg word vir verspreidingsopgraderings.
APT oor HTTPS
Die bronlêers waarna ons tot dusver gekyk het, het almal HTTP-verbindings gebruik. Dit is 'n doelbewuste ontwerpbesluit deur Debian en Ubuntu omdat die installasie-argiewe interne kriptografiese handtekeninge het wat ingebou is wat die kwaadwillige peuter stop. HTTPS voeg dus nie veel ekstra sekuriteit by nie, terwyl dit aansienlik bydra tot die ingenieurslas om 'n groot aantal geografies uiteenlopende spieëls te hê.
Daar is egter 'n paar voordele verbonde aan die gebruik van HTTPS, wat beteken dat sommige, nie-amptelike bewaarplekke, HTTPS gebruik. apt-cacher-ng ondersteun twee metodes om HTTPS-bewaarplekke te hanteer.
Die eerste is om die verbindings van die kliënt direk na die bewaarplaasbediener deur te gee. Dit het die ongelukkige gevolg dat die pakkette nie deur apt-cacher-ng geberg word nie. As u apt-cacher-ng in hierdie modus wil gebruik, open dan /etc/apt-cacher-ng/acng.conf met 'n teksredakteur:
En voeg die volgende reël by:
Dit stel apt-cacher-ng op sodat die HTTPS-verbindings van die kliënt na die bewaarplek kan deurgaan.
Die tweede metode is om die bewaarlyne in die bronlêers van die kliënt te verander, sodat die kliënt via HTTP aan apt-cacher-ng koppel, maar apt-cacher-ng sal dan via HTTPS aan die bewaarplek koppel. Die pakkette sal via HTTPS na apt-cacher-ng afgelaai word, en dan word dit via HTTP na die klientmasjien gestuur. apt-cacher-ng is in staat om die pakkette te kas en ons verloor nie die voordele van HTTPS nie.
Die volgende bronne reël is vir toegang tot die Docker-bewaarplek via HTTPS:
deb [arch = amd64] https://download.docker.com/linux/debian buster stabiel
Toe u HTTP-reëls bewerk, het u 192.168.0.2:3142 in die URL gevoeg. As u HTTPS-reëls bewerk, moet u 192.168.0.2:3142/HTTPS/// bv .:
deb [arch = amd64] http://192.168.1.67:3142/HTTPS///download.docker.com/linux/debian buster stabiel
Nou sal die kliëntmasjien die pakket aanvra van apt-cacher-ng via HTTP en apt-cacher-ng sal die pakkette by Docker via HTTPS aflaai en kas..
Beheer van apt-cacher-ng
'N Web GUI is beskikbaar vir die bestuur van apt-cacher-ng op u plaaslike netwerk. Om toegang tot hierdie GUI te verkry, moet u u blaaier wys na:
Deur die voorbeeld van die plaaslike netwerk IP, 192.168.0.2, te vervang, gee ons:
Die eerste, en belangrikste gedeelte van die GUI, 'Transfer Statistics', gee u inligting oor die hoeveelheid data wat afgelaai is vanaf die bewaarplekke en data wat uit die kas bedien is. Die volgende afbeelding toon hierdie gedeelte van die GUI:
In die afdeling "Cache-doeltreffendheid" word u ingelig oor hoeveel lêers apt-cacher-ng bedien het uit die cache V's, watter omseil die cache. 'Treffers' dui lêers aan dat die instaanbediener vanuit die kas bedien is en 'Mis' lêers is wat die instaanmasjien vanaf die bewaarplek afgelaai en by die kas gevoeg is.
Die bestuur van die kas
Die lêers wat apt-cacher-ng aflaai en bedien vir die kliëntmasjiene op u plaaslike netwerk, sal verouderd raak wanneer die ontwikkelaars 'n nuwe weergawe by die bewaarplek voeg. As dit gebeur, moet hierdie stale apt-cacher-ng dit uit die kas verwyder, aangesien dit nie meer nodig is nie en ruimte op u skyf beslaan. Die Raspberry PI beoordeel die kas en verwyder die verouderde lêers outomaties.
Toe u apt-cacher-ng geïnstalleer het, het u ook 'n cron-lêer geïnstalleer by:
Dit word elke dag deur cron bestuur, wat die kas vir u skoonmaak.
As u die kas handmatig wil hersien en skoonmaak, moet u by die web GUI aanmeld en op die knoppie "Start Scan and / or Expiration" klik. Dit is meestal nie nodig nie, maar u moet dit miskien doen as u opdaterings vanaf die vinnig opdaterende bewaarplekke opdateer.
U het nou 'n doeltreffende instaanbediener wat die netwerklas van groot, herhaalde stelselopdaterings in u kantoor of huis sal verlig.