Sådan holder du flere maskiner opdaterede på samme tid

I situationer, hvor du administrerer flere maskiner, kan Apt være meget nyttigt, da det gør processen med opdatering og anvendelse af sikkerhedsrettelser til hver maskine meget enkel. Problemet er, at med den traditionelle metode, når en opdatering kommer ud, skal du downloade en kopi af alle de nye pakker til hver af maskinerne, hvilket indebærer et fænomenalt forbrug af vores båndbredde og båndbredde. Heldigvis er der en metode der giver os mulighed for at opdatere en af ​​maskinerne og derfra opdatere resten af ​​de maskiner, der udgør vores netværk. Denne metode undgår ud over at reducere omkostningerne og optimere brugen af ​​vores båndbredde dobbeltarbejde på de forskellige maskiner: De installerer alle pakkerne ved hjælp af vores "cache-server".


Når du kører den samme distribution på forskellige maskiner (hvad enten det er på arbejde, i computerlaboratorier, på server "gårde", i klynger eller endda på dit lille hjemmenetværk) kan det være nyttigt at oprette et cache-lager på dit netværk så at når en pakke er blevet downloadet fra et officielt lager, henter alle andre maskiner den fra det cache-lager, der er gemt på en maskine på dit netværk, som vi kalder "server". På denne måde kan opdateringer, der er downloadet fra en maskine, installeres på de andre uden at skulle downloade dem fra de officielle arkiver.

Lad os først se på nogle "ikke-traditionelle" løsninger, som jeg IKKE anbefaler, men vil helt sikkert komme til at tænke på, når vi løser dette spørgsmål.

Del / etc / apt

Når du installerer en pakke på en Debian distro (eller dens derivater), gemmes den lokalt i '/ etc / apt' biblioteket. Når en pakke er påkrævet, kigger Apt først i denne mappe for at se, om der er en lokal kopi (det vil sige en cache), hvilket undgår unødvendig download. Som et resultat vil flere af jer helt sikkert have troet, at en god måde at løse det pågældende problem kunne være at vælge en computer, som vi ville udpege som en slags server, der ville blive opdateret ved hjælp af de officielle arkiver, og som ville del din mappe '/ etc / apt' med resten af ​​maskinerne på netværket. Denne metode kan dog føre til problemer, der er relateret til filen 'sources.list', der blokeres. Generelt er det ikke den mest anvendte eller den mest bekvemme løsning.

Flyt pakker

I stedet for at dele et fælles '/ etc / apt' bibliotek, kan et andet alternativ være, at hver computer bruger sin egen lokale cache-mappe, men genererer et script, der tager sig af at kopiere pakkerne fra den ene maskine til den anden, så de alle forbliver opdaterede . Et værktøj til at udføre denne opgave kan være 'apt-move', men jeg kan ærligt talt ikke anbefale det, fordi det ikke er gennemsigtigt nok til slutbrugeren. Derudover kan det betyde en helt unødvendig brug af diskplads, da alle pakker skal kopieres til hver af maskinerne.

Dedikerede cache-systemer

Den bedste løsning på dette problem er at bruge et dedikeret cache-system. Kort sagt handler det om at oprette en kopi af de officielle servere på en af ​​maskinerne på dit netværk og derefter konfigurere resten af ​​maskinerne, så i stedet for at lede efter opdateringer fra de officielle servere, gør de det ved hjælp af dette lokal cache (eller kopi).

Der er en række forskellige systemer designet til at arbejde med Apt, herunder apt-cacher, apt-proxy og apt-cached.

Her skal vi beskæftige os med apt-cacher, som er den nemmeste at bruge.

apt-cacher

Apt-cacher er meget forskellig fra andre lagringscaching-systemer, da det ikke er et enkeltstående program, men kører som et CGI-script under Apache. Dette har flere fordele, såsom at gøre det til et lille og simpelt værktøj, men samtidig meget kraftfuldt og følgelig mere robust, fordi det ikke kræver sin egen kode for at håndtere protokoller, og det er meget fleksibelt, fordi du kan bruge Apache's adgangskontrolmekanisme, hvis du vil begrænse antallet af maskiner, der har adgang til cachen.

Apt-cacher behøver kun at blive installeret på en maskine, den, som du beslutter, skal fungere som din lokale lagercache. Derefter skal resten af ​​computere på dit netværk konfigureres til at anmode om opdateringer fra cachen og ikke fra de officielle servere.

Serverkonfiguration

For at installere bare

sudo apt-get installer apt-cacher

Denne pakke har afhængigheder med apache, perl og wget, så den installeres, hvis du ikke har den tidligere installeret.

Når det er installeret, anbefales det at genstarte Apache:

/etc/init.d/apache genstart

Endelig er alt hvad du skal gøre, at justere scriptets standardparametre. Jeg skrev i en terminal:

sudo gedit /etc/apt-cacher/apt-cacher.conf

Generelt er alle standardværdierne fine, men det anbefales at justere følgende tre:

admin_email = mimail @ myserver generate_reports = 1 udløbstimer = 24

Det andet element er en boolsk variabel, der bestemmer genereringen af ​​rapporter (0 genererer ikke rapporter, 1 genererer dem). Det første element er i stedet den e-mail-adresse, som de oprettede rapporter sendes til. Det tredje og sidste punkt bestemmer antallet af timer, Apt skal vente med at kontrollere, om der er tilgængelige opdateringer på de officielle servere.

Hvis du bruger en proxy, skal du ikke glemme at tilføje følgende punkter:

http_proxy = proxy.example.com: 8080 use_proxy = 1

For at bekræfte, at det fungerer, kan du få adgang til din lokale cache via url http: // servernavn / apt-cacher /, og en side vises med apt-cacher-konfigurationen. Husk, at 'server_name' skal erstattes af IP-adressen på den maskine, du har udpeget som 'server', det vil sige som depot for den lokale pakkecache.

Klients konfiguration

Nu er alt hvad du skal gøre, at ændre sources.list af klienterne, så de passerer gennem serveren. Hvis serverens IP er 123.123.123.123, skal du føje den til hver linje i sources.list, og også være forsigtig med at de alle henviser til den samme server, ellers har cachen ingen effekt.

sudo gedit /etc/apt/sources.list
Bemærk: Pas på! I Debian og dets derivater gemmes 'sources.list' i '/ etc / apt'. I andre distributioner kan det dog gemmes i en anden sti. Hvis du ikke kan finde filen, kan du altid finde den ved at indtaste 'find sources.list' i en terminal.

Når filen er åbnet, og IP-adressen på vores server er 123.123.123.123, skal alle linjer ændres ved hjælp af følgende kriterier:

# Original #deb http://ftp.us.debian.org/debian/ sid hovedbidrag ikke-gratis # deb-src http://ftp.us.debian.org/debian/ sid hovedbidrag ikke-gratis # Modificeret deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid hovedbidrag ikke-gratis deb-src http://123.123.123.123/apt-cacher/ftp.us.debian. org / debian / sid hovedbidrag ikke-gratis

Som du kan se, skal du tilføje serveren IP + '/ apt-cacher /' i begyndelsen af ​​URL'en. Derefter går resten af ​​den oprindelige linje.

Trafikstatistikker

Hvis du tilføjede elementet 'create_reports = 1' i filen 'apt-cacher.conf', vil apt-cacher generere adgangsstatistikker, som du kan få adgang til med url '/ apt-cacher / report'.

Hvis du af en eller anden grund skal generere statistik inden det antal timer, der er angivet i 'apt-cacher.conf', skal du køre følgende kommando:

/usr/share/apt-cacher/apt-cacher-report.pl

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Eduardo sagde han

    Hilsner, fremragende bidrag, mit spørgsmål er, hvis du kender nogen applikationer, der giver dig mulighed for at have et centraliseret lager til at anvende programrettelser, men til forskellige distributioner, det vil sige holde flere maskiner opdateret på samme tid, men har forskellige distributioner

  2.   Lad os bruge Linux sagde han

    Hej Eduardo! Sandheden er, at jeg ser det meget svært. Hvis du opdager nogen måde, skal du ikke stoppe med at lade mig vide det.
    Et stort knus! Skål! Paul.

  3.   chiche sagde han

    Jeg bruger marionet til ekstern styring af de servere, jeg administrerer.

  4.   Lad os bruge Linux sagde han

    Ja, meget tak for informationen. Jeg har allerede rettet det.
    Kram! Paul.

  5.   Geniutrixon sagde han

    Hej,

    tutorial er super god ... Jeg har et omfang .. i Debian Lenny er source.lst i stien / etc / apt /

    hensyn

  6.   sepulvedamarcos sagde han

    spørgsmål….

    hvis jeg har et par maskiner med samme distro ... men ikke med de samme programmer ... Hvordan ved du, hvad du skal downloade fra de officielle repos…. sænker alt ??? ...

  7.   Lad os bruge Linux sagde han

    Dit spørgsmål er fremragende. Jeg beregner, at systemet skal fungere som i en almindelig Apt: hvis det ikke finder det i cachen, downloader det det fra de officielle arkiver. I dette tilfælde informerer en af ​​"klient" -maskinerne "serveren" om, at den har brug for en opdatering i henhold til listen over opdateringer på "serveren" i dit netværk. For at installere denne opdatering beregner jeg, at det først vil se efter pakken i servercachen. Hvis den ikke kan finde den, downloader den den fra de officielle arkiver, gemmer den på serveren, og derfra installeres den på den maskine, der krævede det. Denne pakke vil være tilgængelig i "server" cachen, så andre maskiner på dit netværk også kan installere den derfra.

    Du er velkommen til at skrive, hvis jeg ikke var klar nok.

    Et kram! Paul.

  8.   Mishudark sagde han

    Jeg tror, ​​der er en FEJL ... pakker gemmes ikke i / etc / apt…. de forbliver faktisk i / var / cache / apt / arkiver

  9.   Lad os bruge Linux sagde han

    Sandheden er, at jeg ikke ved det.
    Sikker på, at der er en måde at gøre det på. 🙁
    Hvis du finder ud af det, så lad mig det vide, så tilføjer jeg det.
    Skål! Paul.

  10.   Alvaro sagde han

    Intet med dynamiske ip'er, ikke?

  11.   Mærke sagde han

    I mere aktuelle distroer skal du tilsyneladende tilføje porten (3142 som standard) til URL'en på det lokale netværk. Det ville se sådan ud: http://mi_servidor:3142/apt-cacher

  12.   alfredo Torrealba sagde han

    Jeg har lubuntu 16.04, hvem har gjort det under dette system, og hvis det har fungeret for ham? og hvad jeg ville stille er følgende, hvis jeg installerer denne server, og mine andre maskiner ikke har de samme programmer, når jeg fremsætter en anmodning på mine klientmaskiner om installation af et program, som jeg har på serveren, tror du, jeg installerer det direkte fra den lokale server, eller gør anmodningen til den officielle repository-server ¿?