Kako ustvariti proxy APT s pomočjo PI Raspberry z apt-cacher-ng?

Če živite in delate nekje s počasnejšim internetom in potrebujete kup posodobljenih sistemov Debian in / ali Ubuntu, bo ta ustrezen proxy pripomogel k lažjemu in hitrejšemu življenju.


APT je program, ki ga distribucije Debian in Ubuntu Linux uporabljajo za namestitev in posodobitev svoje programske opreme. V njihovi zunanji konfiguraciji, ko za namestitev programa uporabljate apt, npr .:

sudo apt namestite Inkscape

APT bo prenesel arhiv programske opreme s strežnikov distribucijskega skladišča in ga namestil. To odlično deluje, ko je programski paket majhen, le nekaj datotek je potrebnih za prenos in internetna povezava je hitra.

Če pa imate nameščeno veliko programske opreme in imate pisarno, polno strojev, ki jih je treba posodobiti, in imate počasno internetno povezavo, lahko traja dolgo časa, da se vse prenese in namesti na vsak stroj.

Proxy strežnik, še posebej predpomnilniški proxy, kot je apt-cacher-ng je program, ki sedi med računalnikom, ki ga poskušate posodobiti, in strežnikom skladišča, v katerem je nameščena programska oprema. Naprava, ki jo posodabljate, bo zahtevala programsko opremo od proxy strežnika namesto iz skladišča, proxy pa bo nato zahtevo posredoval v skladišče, prenesel programsko opremo in jo vrnil nazaj na stroj za posodabljanje..

Pametni del je, da bo proxy shranil kopijo vseh programskih datotek, ki jih je prenesel. Ko drug stroj v lokalnem omrežju poskuša prenesti iste datoteke, to pomeni, da želi namestiti ali posodobiti isto programsko opremo, proxy že ima kopijo, ki jo lahko da zahtevalcu, ne da bi jo moral prenesti.

Po prvem prenosu se vsi naslednji prenosi prenesejo s hitrostjo vašega lokalnega omrežja.

Zahteve

Če želite dokončati ta vodnik, boste potrebovali naslednje:

  • Zaslon in tipkovnica za priklop vašega Raspberry Pi. Te so izbirne, če lahko SSH vstavite v svoj Raspberry Pi.
  • Nekoren, uporabnik s podporo za sudo na vašem Raspberry Pi.
  • Debian ali Ubuntu sistem v vašem lokalnem omrežju.

Ko imate vse te zahteve, se kot uporabnik sudo prijavite v terminal na vašem PI Raspberry kot uporabnik sudo in nadaljujte na naslednji razdelek.

Namestitev apt-cacher-ng

Preden namestite nove pakete v Linux, je vedno dobra ideja, da opravite posodobitev sistema. Tako boste zagotovili, da vaš sistem izvaja enake različice paketov, ki so na voljo v distribucijskih skladiščih, in da je posodobljen vaš lokalni seznam različic paketov. S tem boste zagotovili, da med namestitvijo apt-cacher-ng ne boste naleteli na napake.

Naslednji ukazi bodo posodobili vaš sistem:

$ sudo apt posodobitev
$ sudo primerna nadgradnja

Zdaj, ko je vaš PI Raspberry posodobljen, namestite apt-cacher-ng:

$ sudo apt namestite apt-cacher-ng

Namestitveni program vas bo vprašal, če želite omogočiti predore HTTPS prek apt-cacher-ng. Na to vprašanje odgovorite z „Ne“. APT bomo konfigurirali za proxy HTTPS povezave prek apt-cacher-ng, namesto da bi potrebovali tunele. Poleg tega lahko te možnosti pozneje spremenite v konfiguracijski datoteki apt-cacher-ng, če jo potrebujete.

V skladu s sodobnimi programskimi določili se pri namestitvi apt-cacher-ng ustvari sistemska storitvena datoteka in jo omogoči. To pomeni, da se bo apt-cacher-ng samodejno zagnal ob zagonu in apt-cacher-ng lahko upravljate tudi z običajnimi sistemskimi ukazi storitve:

$ sudo systemctl zaženite apt-cacher-ng.service
$ sudo systemctl ustavi apt-cacher-ng.service
$ sudo systemctl znova zaženite apt-cacher-ng.service

apt-cacher-ng zdaj deluje kot sistemski daemon posluša na pristanišču 3142 in je pripravljen sprejeti povezave iz apt.

Konfiguriranje apt na PI Raspberry

Prvi sistem, ki ga bomo konfigurirali z uporabo proxy apt-cacher-ng, bo apt na PI Raspberry. Način, kako bomo apt konfigurirali za uporabo prot-ja apt-cacher-ng, bo ponovno vpisovanje URL-jev v datoteko virov apta. Datoteka z viri vsebuje seznam URL-jev skladišč, v katerih je na voljo programska oprema za distribucijo.

Glavno datoteko virov za Raspbian najdete na /etc/apt/sources.list in na novi namestitvi izgleda takole:

deb http://raspbian.raspberrypi.org/raspbian/ buster glavni prispevek non-free rpi
# Spodnja vrstica za komentar, nato ‘apt-get update’, da omogoči ‘apt-get source’
# deb-src http://raspbian.raspberrypi.org/raspbian/ glavni prispevek brez prispevka rpi

Edina aktivna (nekomentirana) vrstica tukaj je prva, tj .:

deb http://raspbian.raspberrypi.org/raspbian/ buster glavni prispevek non-free rpi

To vrstico moramo spremeniti, tako da odprete datoteko z urejevalnikom besedil, tukaj uporabljamo nano:

$ sudo nano /etc/apt/sources.list

Spremenite prvo vrstico tako, da izgleda takole:

deb http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian/ buster glavni prispevek non-free rpi

Kar ste storili tukaj, je bilo, da v URL vstavite 127.0.0.1:3142.

IP naslov 127.0.0.1 je vedno IP lokalnega računalnika, ki ga pogosto imenujemo “localhost”. : 3142 del označuje vrata.

Nano shranite in zapustite s pritiskom na CTRL + o, ENTER, CTRL + x.

Zdaj boste morali spremeniti isto izvorno datoteko na /etc/apt/sources.list.d/raspi.list.

apt in apt-cacher-ng sta zdaj pripravljena za testiranje.

Testiranje apt s apt-cacher-ng

Kadarkoli zaženete apt, bo predpomnil kopijo datotek, ki jih naloži. apt to naredi tako, da ne, ne po nepotrebnem naloži in tudi shrani lokalno kopijo namestitvenega arhiva, če je treba paket ponovno namestiti in ni interneta.

To lokalno predpomnjenje pomeni, da apt ne bo vzpostavil stika s proxyjem, ko zaženete apt update ali nadgradnjo apt, če se skladišče ni spremenilo. Zato bomo morali za preizkus proxyja ročno počistiti predpomnilnik. Naslednji ukazi bodo izbrisali vse predpomnjene pakete:

$ sudo rm -rf / var / lib / apt / liste /
$ sudo rm -rf / var / cache / apt / *

Zdaj preizkusite apt z izvajanjem posodobitve in preverjanjem morebitnih napak:

$ sudo apt posodobitev

Morali bi videti več vrstic izhoda, ki izgledajo tako:

Pridobite: 1 http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian buster InRelease [15,0 kB]

URL, ki se začne http://127.0.0.1:3142/, označuje, da apt prejema datoteke za posodobitev od apt-cacher-ng.

Za napake si lahko ogledate tudi datoteko dnevnika apt-cacher-ng, tako da zaženete ta ukaz:

$ tail -f /var/log/apt-cacher-ng/apt-cacher.log

v drugem terminalu. Če ne naletite na napake, lahko nadaljujete s konfiguriranjem sistema Debian ali Ubuntu v vašem lokalnem omrežju.

Konfiguriranje sistema Ubuntu ali Debian za uporabo apt-cacher-ng

Sistemi Debian ali Ubuntu v vašem lokalnem omrežju, za katere želite imeti koristi proxy apt-cacher-ng, ne potrebujejo nameščene dodatne programske opreme. Vse, kar morate storiti, je, da ponovno napišete svoje izvorne datoteke, tako da zberejo vse svoje posodobitve iz apt-cacher-ng, namesto da se neposredno obrnejo na skladišče.

Sprememba, ki jo potrebujete za izdelavo izvornih datotek, je popolnoma enaka urejanju, ki ste ga naredili virom PI Raspberry, le da morate namesto 127.0.0.1 uporabiti naslov IP PI Raspberry..

To pomeni, da boste najprej morali dobiti naslov IP vašega Raspberry Pi. Najlažji način, da dobite IP naslov Raspberry PI je, da v terminalu na PI Raspberry zaženete naslednji ukaz:

$ ime gostitelja -I

To bo natisnilo IP naslove, ki jih ima PI Raspberry. Uporabite prvi IPv4 naslov IP. Tu bom uporabil primer naslova 192.168.0.2. Morali boste nadomestiti IP naslov vašega PI Raspberry.

Nazaj na odjemalskem stroju odprite datoteko glavnih virov z urejevalnikom besedil, tukaj uporabljamo nano:

$ sudo nano /etc/apt/sources.list

Datoteka bo vsebovala vrstice v enaki obliki kot tiste na seznamu /etc/apt/sources.list Raspberry PI. Tu je primer vrstice iz namestitve Debian Buster:

deb http://ftp.debian.org/debian buster main

Te vrstice morate urediti na naslednji način z uporabo IP vašega Raspberry PI, npr .:

deb http://192.168.0.2:3142/ftp.debian.org/debian buster main

Uredite vse vrstice v /etc/apt/sources.list in kateri koli drugi datoteki virov pod /etc/apt/sources.list.d/. Nato za testiranje izbrišite vse predpomnjene datoteke:

$ sudo rm -rf / var / lib / apt / liste / *
$ sudo rm -rf / var / cache / apt / *

Ponovno posodobite sistem:

$ sudo apt posodobitev
$ sudo primerna nadgradnja

Izhod iz apt naj bi nakazoval, da datoteke za posodobitev prihajajo iz proxy apt-cacher-ng s tiskanjem vrstic, kot je naslednja, ki vsebuje IP proxyja:

Hit: 1 http://192.168.0.2:3142/ftp.debian.org/debian buster InRelease

Ta naprava je zdaj popolnoma konfigurirana za uporabo vašega novega proxy proxyja. V prihodnosti boste morali urediti novo datoteko virov, ki jo dodate tej napravi, vključno z vsemi novimi vrsticami, ki jih dodate za nadgradnje distribucije.

APT prek HTTPS

V izvornih datotekah, ki smo jih doslej preučili, so vse uporabljene povezave HTTP. To je namerna oblikovalska odločitev Debiana in Ubuntuja, ker imajo namestitveni arhivi vgrajene notranje kriptografske podpise, ki zaustavijo zlonamerno poseganje. HTTPS torej ne prinaša veliko dodatne varnosti, obenem pa znatno povečuje inženirsko breme velikega števila geografsko raznolikih ogledal.

Vendar pa obstaja nekaj prednosti uporabe HTTPS, ki pomenijo, da nekatera neuradna skladišča uporabljajo HTTPS. apt-cacher-ng podpira dva načina ravnanja s skladišči HTTPS.

Prvi je prenos povezav odjemalca neposredno do strežnika repozitorij. To ima nesrečo, da paketov ne predpomni apt-cacher-ng. Če želite v tem načinu zagnati apt-cacher-ng, odprite /etc/apt-cacher-ng/acng.conf z urejevalnikom besedil:

$ sudo nano /etc/apt-cacher-ng/acng.conf

In dodajte naslednjo vrstico:

PassThroughPattern:. *

Ta konfigurira apt-cacher-ng, da omogoči prehod povezav HTTPS iz odjemalca v skladišče.

Druga metoda je spreminjanje vrstic repozitorija v izvornih datotekah odjemalca, tako da se odjemalec poveže z apt-cacher-ng prek HTTP, vendar se bo apt-cacher-ng nato povezoval s skladiščem prek HTTPS. Paketi se bodo naložili v apt-cacher-ng prek HTTPS, nato pa bodo prek HTTP poslani na odjemalsko napravo. apt-cacher-ng lahko predpomni pakete in ne izgubimo prednosti HTTPS.

Naslednja vrstica virov je za dostop do skladišča Docker prek HTTPS:

deb [arch = amd64] https://download.docker.com/linux/debian buster stabilen

Ko ste uredili vrstice HTTP, ste v URL dodali 192.168.0.2:3142. Ko urejate vrstice HTTPS, morate dodati 192.168.0.2:3142/HTTPS/// npr .:

deb [arch = amd64] http://192.168.1.67:3142/HTTPS///download.docker.com/linux/debian buster stable

Zdaj bo odjemalec računalnik zahteval paket od apt-cacher-ng prek HTTP-ja, apt-cacher-ng pa bo pakete prenašal in predpomnil iz Dockerja prek HTTPS.

Urejanje apt-cacher-ng

Na voljo je spletni GUI za upravljanje apt-cacher-ng v vašem lokalnem omrežju. Če želite dostopati do tega GUI-ja, morate brskalnik usmeriti na:

http: //: 3142 / acng-report.html

Z zamenjavo primera lokalnega omrežja IP, 192.168.0.2, dobimo:

http://192.168.0.2:3142/acng-report.html

V prvem in najpomembnejšem razdelku grafičnega uporabniškega vmesnika, “Statistika prenosa”, dobite informacije o količini podatkov, prenesenih iz VS podatkov iz shrambe, ki so bili posredovani iz predpomnilnika. Naslednja slika prikazuje ta razdelek GUI:

Razdelek »Učinkovitost predpomnilnika« vas obvešča o tem, koliko datotek apt-cacher-ng se je prikazovalo iz predpomnilnika Vs, ki so zaobšle predpomnilnik. “Ogledi” označujejo datoteke, ki jih je posrednik, ki je bil prikazan iz predpomnilnika, in “zgrešeni”, datoteke, ki jih je proxy stroj prenesel iz skladišča in jih dodal v predpomnilnik..

Upravljanje predpomnilnika

Datoteke, ki jih apt-cacher-ng prenesejo in služijo odjemalcem v vašem lokalnem omrežju, bodo postale zastarele, ko razvijalci dodajo novo različico v skladišče. Ko se to zgodi, jih mora ta ustaljena apt-cacher-ng odstraniti iz predpomnilnika, saj niso več potrebni in zasedajo prostor na vašem pogonu. Raspberry PI pregleda predpomnilnik in samodejno odstrani ustaljene datoteke.

Ko ste namestili apt-cacher-ng, ste tudi namestili datoteko cron na:

/etc/cron.daily/apt-cacher-ng

To lahko vsak dan vodi cron, ki počisti predpomnilnik za vas.

Če želite ročno pregledati in počistiti predpomnilnik, se prijavite v spletni GUI in kliknite na gumb “Začni skeniranje in / ali prenehanje veljavnosti”. To ponavadi ni potrebno, vendar boste morda morali to storiti, če posodabljate iz hitro posodabljanja skladišč.

Zdaj imate učinkovit proxy proxy, ki bo razbremenil omrežje velikih, ponavljajočih se posodobitev sistema v vaši pisarni ali domu.

Zanima vas raziskovanje Raspberry Pi, si oglejte ta spletni tečaj.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map