Dacă locuiești și lucrezi undeva cu un internet mai lent și ai nevoie să obții o grămadă de sisteme Debian și / sau Ubuntu actualizate acest proxy apt îți va face viața mult mai ușoară și mai rapidă.


APT este programul pe care distribuțiile Debian și Ubuntu Linux îl utilizează pentru a instala și actualiza software-ul lor. În configurația lor din afara, atunci când utilizați apt pentru a instala un program, de ex .:

sudo apt instala inkscape

APT va descărca arhiva software de pe serverele de depozit de distribuție și o va instala. Acest lucru funcționează excelent atunci când pachetul software este mic, există doar câteva fișiere care au nevoie de descărcare, iar conexiunea dvs. la internet este rapidă.

Cu toate acestea, dacă aveți o mulțime de programe de instalat și aveți un birou plin de mașini care toate au nevoie de actualizare și aveți o conexiune lentă la internet, poate dura mult timp pentru a descărca și a instala totul pe fiecare mașină.

Un server proxy, în mod specific un proxy de memorie în cache, cum ar fi apt-cacher-ng este un program care se află între computerul pe care încercați să îl actualizați și serverul de depozitare care găzduiește software-ul pe care îl descărcați. Aparatul pe care îl actualizați va solicita software-ul de la serverul proxy în loc de depozit și proxy va trimite apoi cererea către depozit, va descărca software-ul și îl va înmâna mașinii de actualizare..

Partea inteligentă este că proxy-ul va păstra o copie a tuturor fișierelor software pe care le-a descărcat. Când o altă mașină din rețeaua locală încearcă să descarce aceleași fișiere, adică dorește să instaleze sau să actualizeze același software, proxy-ul are deja o copie pe care o poate oferi mașinii solicitante fără a fi nevoie să o descarce.

După prima descărcare, toate descărcările ulterioare vor fi comprimate la viteza rețelei dvs. locale.

cerinţe

Pentru a completa acest ghid, veți avea nevoie de următoarele:

  • Un ecran și o tastatură pentru conectarea la Raspberry Pi. Acestea sunt opționale dacă puteți SSH în Raspberry Pi.
  • Un utilizator non-root, activat sudo pe Raspberry Pi.
  • Un sistem Debian sau Ubuntu din rețeaua dvs. locală.

După ce aveți toate aceste cerințe, conectați-vă la un terminal pe Raspberry PI ca utilizator sudo și treceți la secțiunea următoare.

Instalarea apt-cacher-ng

Înainte de a instala orice pachet nou pe Linux, este întotdeauna o idee bună să efectuați o actualizare a sistemului. Acest lucru vă va asigura că sistemul dvs. rulează aceleași versiuni de pachete ca sunt disponibile în depozitele de distribuție și, de asemenea, că lista locală de versiuni de pachete este actualizată. Făcând acest lucru, vă veți asigura că nu întâmpinați erori în timpul instalării apt-cacher-ng.

Următoarele comenzi vă vor actualiza sistemul:

Actualizare $ sudo apt
Modernizare apt $ sudo

Acum, că dvs. Raspberry PI este instalat actualizat apt-cacher-ng:

$ sudo apt install apt-cacher-ng

Instalatorul vă va întreba dacă doriți să activați tunelurile HTTPS prin apt-cacher-ng. Ar trebui să răspundeți „Nu” la această întrebare. Vom configura APT pentru proxy conexiuni HTTPS prin apt-cacher-ng în loc să avem nevoie de tuneluri. În plus, puteți modifica aceste opțiuni în fișierul de configurare apt-cacher-ng ulterior, dacă aveți nevoie.

În conformitate cu convențiile software moderne, un fișier de service systemd este creat și activat atunci când instalați apt-cacher-ng. Aceasta înseamnă că apt-cacher-ng va porni automat la pornire și puteți gestiona, de asemenea, apt-cacher-ng cu comenzile normale de service systemd:

$ sudo systemctl start apt-cacher-ng.service
$ sudo systemctl stop apt-cacher-ng.service
$ sudo systemctl reporni apt-cacher-ng.service

apt-cacher-ng rulează acum ca un daemon de sistem care ascultă pe portul 3142 și este gata să accepte conexiunile de la apt.

Configurare apt pe Raspberry PI

Primul sistem pe care îl vom configura pentru a folosi proxy-ul apt-cacher-ng va fi apt pe Raspberry PI. Modul în care vom configura apt pentru a folosi proxy-ul apt-cacher-ng va fi rescrierea adreselor URL din fișierul surselor apt. Fișierul surse conține o listă de adrese URL a depozitelor în care software-ul distribuției este disponibil pentru a fi descărcat.

Veți găsi fișierul principal de surse pentru Raspbian la /etc/apt/sources.list, iar pe o nouă instalare arată următoarele:

deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Linia de dezacord de mai jos, apoi „apt-get update” pentru a activa „apt-get source”
# deb-src http://raspbian.raspberrypi.org/raspbian/ buster principal contribuție non-liber rpi

Singura linie activă (fără comentarii) aici este prima adică:

deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi

Trebuie să modificăm această linie, astfel încât să deschidem fișierul cu un editor de text, aici folosim nano:

$ sudo nano /etc/apt/sources.list

Modificați prima linie astfel încât să arate astfel:

deb http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian/ buster principal contribuție non-liber rpi

Ce ați făcut aici a fost să introduceți 127.0.0.1:3142 în adresa URL.

Adresa IP 127.0.0.1 este întotdeauna IP-ul computerului local, adesea denumit „localhost”. Partea: 3142 indică portul.

Salvați și ieșiți din nano apăsând CTRL + o, ENTER, CTRL + x.

Acum va trebui să faceți aceeași modificare la un fișier sursă la /etc/apt/sources.list.d/raspi.list.

apt și apt-cacher-ng sunt acum gata pentru testare.

Testare apt cu apt-cacher-ng

Ori de câte ori rulați apt, va cache o copie a tuturor fișierelor pe care le descarcă. apt face acest lucru, astfel încât nu, nu face descărcări inutile și, de asemenea, să păstreze o copie locală a arhivelor de instalare în cazul în care un pachet trebuie să fie reinstalat și nu este prezent internet.

Această memorie în cache locală înseamnă că apt nu va contacta proxy-ul atunci când executați o actualizare aptă sau o actualizare a aptului dacă depozitul nu s-a schimbat. Prin urmare, pentru a testa proxy, va trebui să ștergem manual cache-ul apt. Următoarele comenzi vor șterge toate pachetele din cache-ul apt:

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

Acum testează apt, executând o actualizare și verificând eventualele erori:

Actualizare $ sudo apt

Ar trebui să vedeți mai multe linii de ieșire care arată:

Obțineți: 1 http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian buster InRelease [15,0 kB]

URL-ul care începe http://127.0.0.1:3142/ indică faptul că apt primește fișierele de actualizare de la apt-cacher-ng.

De asemenea, puteți urmări fișierul jurnal apt-cacher-ng pentru erori, executând această comandă:

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

într-un al doilea terminal. Dacă nu întâmpinați erori, puteți continua să configurați un sistem Debian sau Ubuntu în rețeaua locală.

Configurarea unui sistem Ubuntu sau Debian pentru a utiliza apt-cacher-ng

Sistemele Debian sau Ubuntu din rețeaua locală de care doriți să beneficiați de proxy-ul apt-cacher-ng nu au nevoie de niciun software suplimentar instalat. Tot ce trebuie să faceți este să re-scrieți fișierele sursă, astfel încât să colecteze toate actualizările lor de la apt-cacher-ng în loc să contactați direct depozitul.

Modificarea pe care trebuie să o efectuați fișierele sursă este exact aceeași cu editarea pe care ați făcut-o la sursele din Raspberry PI, cu excepția faptului că trebuie să utilizați adresa IP a Raspberry PI în locul 127.0.0.1.

Aceasta înseamnă că mai întâi va trebui să obțineți adresa IP a Zmeurului dvs. Pi. Cel mai simplu mod de a obține adresa IP a Raspberry PI este să executați următoarea comandă într-un terminal de pe Raspberry PI:

$ hostname -I

Aceasta va tipări adresele IP pe care le are zmeura PI. Utilizați prima adresă IP IPv4. Aici, voi folosi adresa de exemplu 192.168.0.2. Va trebui să înlocuiți adresa IP a Raspberry PI.

Înapoi pe mașina client, deschideți fișierul surselor principale folosind un editor de text, aici folosim nano:

$ sudo nano /etc/apt/sources.list

Fișierul va conține linii cu același format ca cele de pe /etc/apt/sources.list din Raspberry PI. Iată un exemplu de linie dintr-o instalare Debian Buster:

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

Trebuie să editați aceste rânduri după cum urmează, folosind IP-ul IP-ului dvs. de zmeură, de ex .:

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

Editați toate liniile din /etc/apt/sources.list și orice alte fișiere surse din /etc/apt/sources.list.d/. Apoi ștergeți orice fișiere în cache local pentru testare:

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

Actualizați din nou sistemul:

Actualizare $ sudo apt
Modernizare apt $ sudo

Ieșirea de la apt trebuie să indice că fișierele de actualizare provin de la proxy-ul apt-cacher-ng prin imprimarea unor linii de tipul următoare care conține IP-ul proxy-ului:

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

Acest aparat este acum configurat complet pentru a utiliza proxy-ul dvs. nou apt. Va trebui să editați orice fișier surse noi pe care le adăugați la acest aparat în viitor, inclusiv orice linii noi care se adaugă pentru actualizări de distribuție.

APT prin HTTPS

Fișierele sursă pe care le-am analizat până acum au toate conexiunile HTTP utilizate. Aceasta este o decizie deliberată de proiectare de către Debian și Ubuntu, deoarece arhivele de instalare au semnături criptografice interne încorporate care opresc alterarea falsă. Prin urmare, HTTPS nu adaugă o mare securitate suplimentară, adăugând considerabil sarcinii inginerești de a avea un număr mare de oglinzi geografice diverse.

Cu toate acestea, există câteva mai multe avantaje în utilizarea HTTPS, ceea ce înseamnă că unii, depozitele neoficiale, folosesc HTTPS. apt-cacher-ng acceptă două metode de manipulare a depozitelor HTTPS.

Prima este transmiterea conexiunilor de la client direct la serverul de depozitare. Aceasta are consecința nefericită că pachetele nu sunt memorate în cache de apt-cacher-ng. Dacă doriți să rulați apt-cacher-ng în acest mod, atunci deschideți /etc/apt-cacher-ng/acng.conf cu un editor de text:

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

Și adăugați următoarea linie:

PassThroughPattern:. *

Aceasta configurează apt-cacher-ng pentru a permite conexiunilor HTTPS să treacă de la client la depozit.

A doua metodă este de a modifica liniile de depozitare din fișierele sursă ale clientului, astfel încât clientul să se conecteze la apt-cacher-ng prin HTTP, dar apt-cacher-ng se va conecta apoi la depozit prin intermediul HTTPS. Pachetele se vor descărca în apt-cacher-ng prin HTTPS, apoi vor fi trimise către aparatul client prin HTTP. apt-cacher-ng este capabil să cache pachetele și nu pierdem beneficiile HTTPS.

Următoarea linie de surse este pentru accesarea depozitului Docker prin HTTPS:

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

Când ați editat liniile HTTP, ați adăugat 192.168.0.2:3142 în adresa URL. Când editați linii HTTPS, trebuie să adăugați 192.168.0.2:3142/HTTPS/// de ex .:

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

Acum, aparatul client va solicita pachetul de la apt-cacher-ng prin HTTP și apt-cacher-ng va descărca și cache pachetele de la Docker prin HTTPS.

Administrarea apt-cacher-ng

O GUI web este disponibilă pentru gestionarea apt-cacher-ng în rețeaua dvs. locală. Pentru a accesa această GUI, trebuie să indicați browserul dvs. către:

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

Înlocuirea exemplului IP de rețea locală, 192.168.0.2, ne oferă:

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

Prima, și cea mai importantă secțiune a GUI, „Statistici de transfer”, vă oferă informații despre cantitatea de date descărcate din depozitele de date Vs care au fost furnizate din cache. Următoarea imagine arată această secțiune a GUI:

Secțiunea „Eficiență de memorie cache” vă informează despre câte fișiere serveați de apt-cacher-ng din secțiunile sale V, care dintre ele au ocolit memoria cache. „Hits” indică fișierele pe care proxy-ul servit din cache și „Misses” sunt fișiere descărcate de dispozitivul proxy din depozit și adăugate în cache..

Gestionarea memoriei cache

Fișierele care descarcă apt-cacher-ng și servește la mașinile client din rețeaua locală vor deveni neplăcute când dezvoltatorii vor adăuga o nouă versiune la depozit. Când se întâmplă acest lucru, aceste stale apt-cacher-ng trebuie să le elimine din cache, deoarece nu mai sunt necesare și ocupă spațiu pe unitatea dvs. Raspberry PI Examinează memoria cache și elimină automat fișierele vechi.

Când ați instalat apt-cacher-ng, ați instalat și un fișier cron la:

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

Acest lucru este condus de cron în fiecare zi, care șterge memoria cache pentru tine.

Dacă doriți să revizuiți și să ștergeți manual memoria cache, atunci ar trebui să vă conectați la GUI-ul web și să faceți clic pe butonul marcat „Start Scanare și / sau expirare”. De obicei, nu este necesar să faceți acest lucru, dar poate fi necesar să faceți acest lucru dacă faceți o actualizare din depozitele cu actualizare rapidă.

Acum aveți un proxy apt eficient care va scuti sarcina rețelei de actualizări mari, repetate, ale sistemului în biroul sau casa dvs..

Interesat să exploreze Raspberry Pi, consultați acest curs online.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me