Opsæt lokale arkiver med apt-mirror i Ubuntu og Debian Systems


Når trafik og afslappet internethastighed i dag måles i teenagere fra Giga over et øje, selv for almindelige internetklienter, hvad er formålet med at indstille en lokal lagercache på LAN, spørger du måske?

En af grundene er at reducere internetbåndbredde og høj hastighed ved at trække pakker fra lokal cache. Men også en anden vigtig grund bør være privatlivets fred. Lad os forestille os, at klienter fra din organisation er internetbegrænsede, men deres Linux-kasser har brug for regelmæssige systemopdateringer om software og sikkerhed eller bare brug for nye softwarepakker. For at se et yderligere billede indeholder en server, der kører på et privat netværk, kun og serverer hemmelig følsomme oplysninger til et begrænset netværkssegment og bør aldrig udsættes for offentligt internet.

Dette er blot nogle få grunde til, at du skal opbygge et lokalt arkivspejl på dit LAN, delegere en kantserver til dette job og konfigurere interne klienter til at trække software ud af dets cache-spejl.

Ubuntu leverer apt-mirror -pakke til at synkronisere lokal cache med officielle Ubuntu-repositories, spejl, der kan konfigureres via en HTTP eller FTP -server for at dele sin softwarepakker med lokale systemklienter.

For en komplet spejlcache har din server brug for mindst 120G ledig plads reserveret til lokale arkiver.

  1. Min. 120G ledig plads
  2. Proftpd-server installeret og konfigureret i anonym tilstand.

Trin 1: Konfigurer server

1. Den første ting du måske vil gøre er at identificere de nærmeste og hurtigste Ubuntu-spejle i nærheden af din placering ved at besøge siden Ubuntu Archive Mirror og vælge dit land .

Hvis dit land leverer flere spejle, skal du identificere spejladresse og lave nogle tests baseret på ping eller traceroute -resultater.

2. Det næste trin er at installere påkrævet software til opsætning af lokalt spejlopbevaringssted. Installer pakkerne apt-mirror og proftpd , og konfigurer proftpd som standalone systemdemon.

$ sudo apt-get install apt-mirror proftpd-basic

3. Nu er det tid til at konfigurere apt-mirror server. Åbn og rediger /etc/apt/mirror.list fil ved at tilføje dine nærmeste placeringer ( Trin 1 ) - valgfri, hvis standardspejle er hurtige nok, eller hvis du ikke er i travlt - og vælg din systemsti, hvor pakker skal downloades. Som standard bruger apt-mirror /var/spool/apt-mirror placering til lokal cache, men i denne vejledning skal vi ændre systemstien og punkt sæt base_path direktiv til /opt/apt-mirror placering.

$ sudo nano /etc/apt/mirror.list

Du kan også fjerne kommentarer eller tilføje en anden kildeliste før det rene direktiv - inklusive Debian kilder - afhængigt af hvilke Ubuntu versioner dine klienter bruger. Du kan tilføje kilder fra 12.04 , hvis du vil, men vær opmærksom på, at tilføjelse af flere kilder kræver mere ledig plads.

For Debian kildelister, besøg Debian Sources List Generator.

4. Alt hvad du skal gøre nu er bare at oprette stammarked og køre kommandoen apt-mirror for at synkronisere officielle Ubuntu -lagre med vores lokale spejl.

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

Som du kan se fortsætter apt-mirror med indeksering og download af arkiver, der præsenterer det samlede antal downloadede pakker og deres størrelse. Som vi kan forestille os, er 110-120 GB stor nok til at tage lidt tid at downloade.

Du kan køre kommandoen ls for at se bibliotekets indhold.

Når den første download er afsluttet, vil fremtidige downloads være små.

5. Mens apt-mirror downloader pakker, kan du konfigurere din Proftpd server. Den første ting du skal gøre er at oprette anonym konfigurationsfil til proftpd ved at køre følgende kommando.

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

Føj derefter følgende indhold til filen anonymous.conf , og genstart proftd-tjenesten.

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

6. Næste trin er at linke apt-mirror stien til proftpd-stien ved at køre en bindemontering ved at udstede kommandoen.

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

For at bekræfte det skal du køre kommandoen mount uden parameter eller mulighed.

$ mount

7. Sidste trin er at sikre, at Proftpd -serveren startes automatisk efter system genstart og mirror-cache -mappen er også automatisk monteret på ftp-serveren sti. For at aktivere proftpd automatisk skal du køre følgende kommando.

$ sudo update-rc.d proftpd enable

For automatisk at montere apt-mirror cache på proftpd skal du åbne og redigere /etc/rc.local fil.

$ sudo nano /etc/rc.local

Tilføj følgende linje før exit 0 direktivet. Brug også 5 sekunders forsinkelse, inden du prøver at montere.

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

Hvis du trækker pakker fra Debian repositories, kør følgende kommandoer og sørg for, at passende indstillinger for rc.local -fil er aktiveret.

$ 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å oprette et systemplanlægningsjob, der skal køres ved crontab-kommando, vælg din foretrukne editor og tilføj derefter følgende linjesyntaks.

$ sudo crontab –e

På den sidste linje tilføj følgende linje.

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

Nu hver dag kl. 2 AM synkroniseres din systemopbevaringscache med officielle Ubuntu spejle og opretter en logfil.

Trin 2: Konfigurer klienter

9. For at konfigurere lokale Ubuntu klienter skal du redigere /etc/apt/source.list på klientcomputere for at pege på IP-adressen eller værtsnavnet på apt-mirror server - udskift http-protokol med ftp, opdater derefter 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 at se arkiver kan du faktisk åbne en browser og pege på din server IP-adresse på domænenavnet ved hjælp af FTP-protokol.

Det samme system gælder også for Debian klienter og servere. Den eneste nødvendige ændring er debian-spejl og kildeliste .

Også hvis du installerer et nyt Ubuntu eller Debian -system, skal du give dit lokale spejl manuelt med ftp-protokol, når installationsprogrammet spørger, hvilket lager der skal bruges.

Det fantastiske ved at have dine egne lokale spejlforretninger er, at du altid er opdateret, og at dine lokale klienter ikke behøver at oprette forbindelse til internettet for at installere opdateringer eller software.