Sett opp lokale depoter med 'apt-mirror' i Ubuntu og Debian Systems


Når trafikk og tilfeldige internetthastigheter i dag måles i tenåringer på Giga over et øyeblink selv for vanlige Internett-klienter, hva er hensikten med å sette en lokal depotbuffer på LAN-er spør du kanskje?

En av grunnene er å redusere Internett-båndbredde og høy hastighet på å trekke pakker fra lokal cache. Men også en annen viktig grunn bør være personvern. La oss forestille oss at klienter fra organisasjonen din er begrenset til Internett, men Linux-boksene deres trenger regelmessige systemoppdateringer på programvare og sikkerhet eller bare trenger nye programvarepakker. For å gå videre, en server som kjører på et privat nettverk, inneholder og serverer hemmelig sensitiv informasjon kun for et begrenset nettverkssegment, og bør aldri eksponeres for offentlig Internett.

Dette er bare noen få grunner til at du bør bygge et lokalt depotspeil på lokalnettverket ditt, delegere en edge-server for denne jobben og konfigurere interne klienter til å trekke ut programvare fra bufferspeilet.

Ubuntu tilbyr en apt-mirror-pakke for å synkronisere lokal hurtigbuffer med offisielle Ubuntu-lagre, speil som kan konfigureres gjennom en HTTP- eller FTP-server for å dele sin programvarepakker med lokale systemklienter.

For en fullstendig speilbuffer trenger serveren din minst 120G ledig plass reservert for lokale depoter.

Krav

  1. Min 120G ledig plass
  2. Proftpd server installert og konfigurert i anonym modus.

Trinn 1: Konfigurer server

1. Det første du kanskje vil gjøre er å identifisere de nærmeste og raskeste Ubuntu-speilene i nærheten av din plassering ved å gå til Ubuntu Archive Mirror-siden og velge ditt land.

Hvis landet ditt har flere speil, bør du identifisere speiladressen og gjøre noen tester basert på ping- eller traceroute-resultater.

2. Det neste trinnet er å installere nødvendig programvare for å sette opp lokalt speillager. Installer pakkene apt-mirror og proftpd og konfigurer proftpd som frittstående systemdaemon.

sudo apt-get install apt-mirror proftpd-basic

3. Nå er det på tide å konfigurere apt-mirror server. Åpne og rediger filen /etc/apt/mirror.list ved å legge til de nærmeste stedene dine (Trinn 1) – valgfritt, hvis standardspeilene er raske nok eller du ikke er i hast – og velg din systembane der pakker skal lastes ned. Som standard bruker apt-mirror /var/spool/apt-mirror plassering for lokal hurtigbuffer, men i denne opplæringen skal vi bruke endre systembane og punkt sett base_path-direktivet til /opt/apt-mirror plassering.

sudo nano /etc/apt/mirror.list

Du kan også fjerne kommentarer eller legge til annen kildeliste før rene direktiver – inkludert Debian-kilder – avhengig av hvilke Ubuntu-versjoner kundene dine bruker. Du kan legge til kilder fra 12.04 hvis du vil, men vær oppmerksom på at å legge til flere kilder krever mer ledig plass.

For Debian kildelister, besøk Debian Wiki eller Debians kildelistegenerator.

4. Alt du trenger å gjøre nå er å lage banekatalog og kjøre apt-mirror-kommandoen for å synkronisere offisielle Ubuntu-lagre med vårt lokale speil .

sudo mkdir -p /opt/apt-mirror
sudo apt-mirror

Som du kan se fortsetter apt-mirror med å indeksere og laste ned arkiver som presenterer totalt antall nedlastede pakker og deres størrelse. Som vi kan forestille oss er 110-120 GB stor nok til å ta litt tid å laste ned.

Du kan kjøre ls-kommandoen for å vise kataloginnhold.

Når den første nedlastingen er fullført, vil fremtidige nedlastinger være små.

5. Mens apt-mirror laster ned pakker, kan du konfigurere Proftpd-serveren. Det første du må gjøre er å lage en anonym konfigurasjonsfil for proftpd ved å kjøre følgende kommando.

sudo nano /etc/proftpd/conf.d/anonymous.conf

Legg deretter til følgende innhold i filen anonymous.conf og start proftd-tjenesten på nytt.

<Anonymous ~ftp>
   User                    ftp
   Group                nogroup
   UserAlias         anonymous ftp
   RequireValidShell        off
  MaxClients                   10
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>

6. Neste trinn er å koble apt-mirror-banen til proftpd-banen ved å kjøre en bind-montering ved å utstede kommandoen.

sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/  /srv/ftp/

For å bekrefte det, kjør mount-kommandoen uten parameter eller alternativ.

mount

7. Siste trinn er å sørge for at Proftpd-serveren startes automatisk etter omstart og speilbuffer-katalogen. er også automatisk montert på ftp-serverbanen. For å aktivere proftpd automatisk, kjør følgende kommando.

sudo update-rc.d proftpd enable

Åpne og rediger /etc/rc.local fil for å automatisk montere apt-mirror cache på proftpd.

sudo nano /etc/rc.local

Legg til følgende linje før exit 0-direktivet. Bruk også 5 sekunders forsinkelse før du prøver å montere.

sleep 5
sudo mount --bind  /opt/apt-mirror/mirror/archive.ubuntu.com/ /srv/ftp/

Hvis du henter pakker fra Debian-lagre, kjør følgende kommandoer og sørg for at passende innstillinger for rc.local-filen ovenfor er aktivert.

sudo mkdir /srv/ftp/debian
sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/

8. For en daglig apt-mirror-synkronisering kan du også opprette en systemplanleggingsjobb som skal kjøres kl. 02.00 hver dag. Kjør crontab-kommandoen, velg din foretrukne editor og legg til følgende linjesyntaks.

sudo crontab –e

På siste linje legger du til følgende linje.

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log

Nå hver dag klokken 02.00 vil systemlagerbufferen din synkroniseres med Ubuntu offisielle speil og opprette en loggfil.

Trinn 2: Konfigurer klienter

9. For å konfigurere lokale Ubuntu-klienter, rediger /etc/apt/source.list på klientdatamaskiner for å peke til IP-adressen eller vertsnavnet til apt-mirror server – erstatt http-protokollen med ftp, og oppdater deretter systemet.

deb ftp://192.168.1.13/ubuntu trusty universe
deb ftp://192.168.1.13/ubuntu trusty main restricted
deb ftp://192.168.1.13/ubuntu trusty-updates main restricted
## Ad so on….

10. For å se repositories kan du faktisk åpne en nettleser og peke på serverens IP-adresse til domenenavnet ved hjelp av FTP-protokollen.

Det samme systemet gjelder også for Debian klienter og servere, den eneste endringen som trengs er debian mirror og kildeliste.

Også hvis du installerer et nytt Ubuntu- eller Debian-system, oppgi ditt lokale speil manuelt med ftp-protokoll når installasjonsprogrammet spør hvilket depot som skal brukes.

Det fine med å ha dine egne lokale speillagre er at du alltid er oppdatert og de lokale klientene dine trenger ikke å koble til Internett for å installere oppdateringer eller programvare.