Sådan opsættes Apt caching server på Ubuntu eller Debian

Hvis du ofte opretter gæst VM'er eller containere på din Linux-computer, vil du gå gennem pakkeinstallation mange gange på tværs af forskellige VM'er / containere. I så fald kan din tid være bedre brugt på noget mere produktivt end bare at vente på at afslutte installation af pakker. Selvom serveringsværktøjer som dukkepotte, kokke eller ansible kan automatisere hele maskinprocesprocessen, er de en overkill for virtualisering på en enkelt bærbar eller stationær computer. Også parallelle downloads har en begrænset effekt, når netværket er langsomt.

En mere praktisk tilgang til at spare tid på at installere pakker på engangs VM / containere på din computer er at oprette et lokalt Apt / Yum repository spejl, så pakker kan trækkes lokalt i stedet for over internettet. Imidlertid afspejler et helt opbevaringssted et gebyr på diskplads og båndbredde, og det er ikke værd at gøre, da antallet af nødvendige pakker typisk ikke er meget stort.

Et alternativ til repository mirroring er at oprette en lokal caching server for Apt / Yum repositories. I dette tilfælde caches alle hentede pakker på caching-serveren, så enhver efterfølgende installation af de samme pakker kan gøres hurtigt. I mange tilfælde slutter du med at installere lignende pakker på nogen måde. Så caching fungerer rigtig godt.

I Debian-baseret system er der flere software, der giver dig mulighed for at konfigurere en caching-server / proxy for Apt-arkiver. For eksempel er apt-proxy det ældste design, og senere blev apt-cacher oprettet for at løse hurtighed og pålidelighedsproblemer fra sin forgænger. Så er der apt-cacher-ng, der tilføjer multi-threading og HTTP pipeline support til apt-cacher.

I denne vejledning skal jeg vise, hvordan man opretter en Apt caching-server ved hjælp af apt-cacher-ng.

Installer og konfigurer apt-cacher-ng på Debian eller Ubuntu

Det er let at oprette apt-cacher-ng på Debian-baseret system.

$ sudo apt-get install apt-cacher-ng

Når du har installeret det, vil apt-cacher-ng blive indstillet til automatisk start på dit system. Standardkonfigurationsfilen for apt-cacher-ng findes på /etc/apt-cacher-ng/acng.conf. Det er stærkt kommenteret, så sørg for at tjekke ud. Men i de fleste tilfælde vil standardkonfigurationen gøre.

Når du ændrer konfigurationen, skal du genstarte apt-cacher-ng.

$ sudo service apt-cacher-ng genstart

apt-cacher-ng leveres med en indbygget webserver for at kunne "proxy" HTTP-baserede apt-get downloads. Den integrerede webserver kan også være tilgængelig til web-baseret administration og rapporteringsformål. For at kontrollere, at apt-cacher-ng fungerer, skal du pege på din webbrowser til http: // <din-ip-adresse>: 3142 / acng-report.html. Administrationssiden af ​​apt-cacher-ng ser ud som følger.

I dette eksempel er IP-adressen til Apt-cacher-serveren 192.168.1.243.

Når apt-cacher-serveren er klar, skal du konfigurere andre klientmaskiner, VM'er eller containere, så de kan installere pakker via caching-serveren. På hver klientmaskin skal du oprette proxy-konfigurationen i /etc/apt/apt.conf.d, der peger på caching-serveren som følger.

$ sudo vi /etc/apt/apt.conf.d/00aptproxy

Acquire :: http :: Proxy "http: // 192.168.1.242: 3142";

Når klientmaskiner installerer pakker, starter caching-serveren caching nedlastede pakker i / var / cache / apt-cacher-ng.

For at tjekke cachestatistikken skal du klikke på "Gælder data" -knappen inden for trafikstatistiktabellen.

Bemærk, at diskcache er organiseret til forskellige distributioner (f.eks. Debian, Ubuntu, Linu Mint).

Nyttige tips Når du bruger apt-cacher-ng

Her er nogle nyttige tips til apt-cacher-ng.

1. Adgangskontrol

Nogle gange er det nyttigt at begrænse adgangen til apt-cacher-ng-serveren til sikkerhedsformål. apt-cacher-ng leveres med indbygget ACL (access-control-list) support ved hjælp af TCP wrappers. Så hvis du vil oprette en whitelist eller blacklist for indgående forbindelser til serveren, kan du bruge /etc/hosts.allow eller /etc/hosts.deny.

Hvis du f.eks. Vil blokere bestemte IP-adresser (192.168.1.242, 192.168.1.100), kan du angive følgende.

I /etc/hosts.deny:

apt-cacher-ng: 192.168.1.242 192.168.1.100

Hvis du vil blokere al lokal trafik (192.168.1.0 / 24) undtagen 192.168.1.160, skal du gøre følgende.

I /etc/hosts.allow:

apt-cacher-ng: 192.168.1.160

I /etc/hosts.deny:

apt-cacher-ng: 192.168.1.0 / 24

Der er ikke behov for at genstarte apt-cacher-ng, når du konfigurerer ACL'er.

2. Lokal cacheoprydning

Når apt-cacher-ng-serveren begynder at cache downloadede pakker, begynder disken på serveren at fylde over tid. Således skal du regelmæssigt rydde op på diskpladsen.

Dets web-baserede management interface kan hjælpe med det. Du skal blot klikke på "Start Scan" -knappen, og den vil scanne cacheindhold og planlægge eventuelle unødvendige pakker, der skal fjernes fra disken.

Alternativt kan du manuelt (eller via cron job) rydde hele cachen som følger.

$ sudo service apt-cacher-ng stop
$ sudo rm -rf / var / cache / apt-cacher-ng /
$ sudo service apt-cacher-ng start

Som en endelig bonus, her er hvordan man konfigurerer apt-cacher-ng-serveren med en enkelt Docker-kommando (forudsat at du allerede har installeret Docker). Spin en apt-cacher-ng-beholder, når du har brug for det, og smid det væk, når du er færdig. Ingen grund til at ødelægge værtssystemet.

$ docker køre-navn apt-cacher-ng -d -restart = altid-offentliggør 3142: 3142-volume / srv /havnearbejder/ apt-cacher-ng: / var / cache / apt-cacher-ng sameersbn / apt-cacher-ng: nyeste

Xmodulo

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.