Hur man håller flera maskiner uppdaterade samtidigt

I situationer där du hanterar flera maskiner kan Apt vara till stor hjälp eftersom det gör processen att uppdatera och tillämpa säkerhetsuppdateringar för varje maskin mycket enkel. Problemet är att med den traditionella metoden, när en uppdatering kommer ut, måste du ladda ner en kopia av alla nya paket för var och en av maskinerna, vilket innebär en fenomenal förbrukning av vår bandbredd och bandbredd. Från den officiella servern. det finns en metod som gör att vi kan uppdatera en av maskinerna och därifrån uppdatera resten av maskinerna som utgör vårt nätverk. Denna metod, förutom att minska kostnaderna och optimera användningen av vår bandbredd, undviker duplicering av paket på de olika maskinerna: de installerar alla paketen med vår "cacheserver".


När du kör samma distribution på olika maskiner (oavsett om du är på jobbet, i datalaboratorier, på server "gårdar", i kluster eller till och med i ditt lilla hemnätverk) kan det vara användbart att skapa ett cacheförvar i ditt nätverk så att när ett paket har laddats ner från ett officiellt arkiv, hämtar alla andra maskiner det från det cacheförvaret som är lagrat på en maskin i ditt nätverk som vi kommer att kalla "server". På det här sättet kan uppdateringar som laddats ner från en maskin installeras på de andra utan att behöva laddas ner från de officiella förvaren.

Låt oss först titta på några "icke-traditionella" lösningar som jag INTE rekommenderar, men som säkert kommer att tänka på när vi löser denna fråga.

Dela / etc / apt

När du installerar ett paket på en Debian-distro (eller dess derivat) lagras det lokalt i katalogen '/ etc / apt'. När ett paket krävs, tittar Apt först i den här katalogen för att se om det finns en lokal kopia (det vill säga en cache), vilket undviker onödig nedladdning. Som ett resultat kommer många av er säkert att ha trott att ett bra sätt att lösa problemet i fråga kan vara att välja en dator, som vi skulle utse som en typ av server, som skulle uppdateras med de officiella förvaren, och som skulle dela din katalog '/ etc / apt' med resten av maskinerna i nätverket. Denna metod kan dock leda till problem relaterade till blockeringen av filen 'sources.list'. I allmänhet är det varken den mest använda eller den mest lämpliga lösningen.

Flytta paket

Istället för att dela en gemensam katalog '/ etc / apt' kan ett annat alternativ vara att varje dator använder sin egen lokala cachekatalog men genererar ett skript som tar hand om att kopiera paketen från en maskin till en annan så att de alla förblir uppdaterade . Ett verktyg för att utföra denna uppgift kan vara "apt-move", men jag rekommenderar ärligt talat inte det eftersom det inte är tillräckligt transparent för slutanvändaren. Dessutom kan det innebära en helt onödig användning av diskutrymme eftersom alla paket måste kopieras till var och en av maskinerna.

Dedikerade cachesystem

Den bästa lösningen för detta problem är att använda ett dedikerat cachesystem. Kort sagt, vad det handlar om är att skapa en kopia av de officiella servrarna på en av maskinerna i ditt nätverk och sedan konfigurera resten av maskinerna så att de istället för att leta efter uppdateringar från de officiella servrarna gör det med det här lokal cache (eller kopia).

Det finns en mängd olika system som är utformade för att fungera med Apt, inklusive apt-cacher, apt-proxy och apt-cache.

Här ska vi ta itu med apt-cacher, vilket är det enklaste att använda.

apt-cacher

Apt-cacher skiljer sig väldigt mycket från andra lagringscachingsystem eftersom det inte är ett fristående program utan körs som ett CGI-skript under Apache. Detta har flera fördelar, som att göra det till ett litet och enkelt verktyg men samtidigt mycket kraftfullt och följaktligen mer robust eftersom det inte kräver någon egen kod för att hantera protokoll, och det är mycket flexibelt eftersom du kan använda Apache's åtkomstkontrollmekanism om du vill begränsa antalet maskiner som har tillgång till cachen.

Apt-cacher behöver bara installeras på en dator, den som du bestämmer ska fungera som din lokala förvarscache. Därefter måste resten av datorerna i ditt nätverk konfigureras för att begära uppdateringar från cachen och inte från de officiella servrarna.

Serverkonfiguration

Att installera bara

sudo apt-get installera apt-cacher

Detta paket har beroenden med apache, perl och wget, så det kommer att installeras om du inte har det tidigare installerat.

En gång installerat rekommenderas det att starta om Apache:

/etc/init.d/apache startar om

Slutligen är allt du behöver göra att justera skriptets standardparametrar. Jag skrev i en terminal:

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

I allmänhet är alla standardinställningar bra, men det rekommenderas att justera följande tre:

admin_email = mimail @ myserver generera_rapporter = 1 expire_hours = 24

Det andra elementet är en boolesk variabel som bestämmer genereringen av rapporter (0 genererar inte rapporter, 1 genererar dem). Det första elementet är istället e-postadressen som de skapade rapporterna skickas till. Det tredje och sista objektet avgör antalet timmar som Apt ska vänta för att söka efter uppdateringar tillgängliga på de officiella servrarna.

Om du använder en proxy, glöm inte att lägga till följande:

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

För att verifiera att det fungerar kan du komma åt din lokala cache via webbadressen http: // server_name / apt-cacher / så visas en sida som visar apt-cacher-konfigurationen. Kom ihåg att 'server_name' måste ersättas med IP-adressen för den maskin som du har angett som 'server', det vill säga som depå för den lokala paketcachen.

Klientkonfiguration

Nu är allt du behöver göra att ändra klienternas sources.list så att de passerar servern. Om serverns IP är 123.123.123.123 måste du lägga till den i varje rad i sources.list och också vara försiktig så att de alla hänvisar till samma server, annars kommer cachen inte att ha någon effekt.

sudo gedit /etc/apt/sources.list
Obs! Var försiktig! I Debian och dess derivat lagras 'sources.list' i '/ etc / apt'. I andra distributioner kan det dock lagras i en annan sökväg. Om du inte kan hitta filen kan du alltid hitta den genom att ange "lokalisera sources.list" i en terminal.

När filen väl har öppnats, vår IP-adress är 123.123.123.123, ska alla rader ändras enligt följande kriterier:

# Original #deb http://ftp.us.debian.org/debian/ sid huvudbidrag icke-gratis # deb-src http://ftp.us.debian.org/debian/ sid huvudbidrag icke-gratis # Modifierad deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid huvudbidrag icke-gratis deb-src http://123.123.123.123/apt-cacher/ftp.us.debian. org / debian / sid huvudbidrag icke-gratis

Som du kan se måste du lägga till servern IP + '/ apt-cacher /' i början av webbadressen. Sedan går resten av den ursprungliga raden.

Trafikstatistik

Om du har lagt till elementet 'create_reports = 1' i filen 'apt-cacher.conf' kommer apt-cacher att skapa åtkomststatistik, som du kan komma åt med url '/ apt-cacher / report'.

Om du av någon anledning behöver generera statistiken innan antalet timmar som anges i 'apt-cacher.conf', kör du följande kommando:

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

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   eduardo sade

    Hälsningar, utmärkt bidrag, min fråga är om du känner till något program som gör att du kan ha ett centraliserat arkiv för att tillämpa korrigeringar men till olika distributioner, det vill säga hålla flera maskiner uppdaterade samtidigt men har olika distributioner

  2.   Låt oss använda Linux sade

    Hej Eduardo! Sanningen är att jag ser det mycket svårt. Om du upptäcker något sätt, sluta inte att meddela mig.
    En stor kram! Skål! Paul.

  3.   snål sade

    Jag använder marionett för att fjärrhantera de servrar jag hanterar.

  4.   Låt oss använda Linux sade

    Ja, tack så mycket för informationen. Jag har redan rättat till det.
    Kram! Paul.

  5.   Geniutrixon sade

    Hej,

    handledningen är super bra ... Jag har en räckvidd .. i Debian Lenny är source.lst i sökvägen / etc / apt /

    gäller

  6.   sepulvedamarcos sade

    fråga….

    om jag har ett par maskiner med samma distro ... men inte med samma program ... Hur vet du vad du ska ladda ner från de officiella reporna…. sänker allt ??? ...

  7.   Låt oss använda Linux sade

    Din fråga är utmärkt. Jag beräknar att systemet ska fungera på samma sätt som i en vanlig Apt: om den inte hittar den i cachen laddas den ner från de officiella förvaren. I det här fallet informerar en av "klientmaskinerna" servern "om att den behöver uppdateras enligt listan över uppdateringar på" servern "i ditt nätverk. För att installera den uppdateringen beräknar jag att det först letar efter paketet i servercachen. Om den inte hittar den hämtar den den från de officiella förvaren, sparar den på servern och därifrån installeras den på den maskin som krävde den. Detta paket kommer att finnas tillgängligt i "server" -cache så att andra maskiner i ditt nätverk också kan installera därifrån.

    Du är välkommen att skriva om jag inte var tillräckligt tydlig.

    En kram! Paul.

  8.   Mishudark sade

    Jag tror att det finns ett FEL ... paket lagras inte i / etc / apt .... de stannar faktiskt i / var / cache / apt / archives

  9.   Låt oss använda Linux sade

    Sanningen är att jag inte vet det.
    Visst finns det ett sätt att göra det. 🙁
    Om du får reda på det, låt mig veta så lägger jag till det.
    Skål! Paul.

  10.   alvaro sade

    Ingenting med dynamiska IP-apparater, eller hur?

  11.   Marce sade

    Tydligen i mer aktuella distros måste du lägga till porten (3142 som standard) till webbadressen till det lokala nätverket. Det skulle se ut så här: http://mi_servidor:3142/apt-cacher

  12.   alfredo torrealba sade

    Jag har lubuntu 16.04 som har gjort det under detta system och om det har fungerat för honom? Och vad jag ville fråga är följande om jag installerar den här servern och mina andra maskiner inte har samma program när jag gör en begäran på mina klientdatorer för installation av ett program som jag har på servern, tror du att jag installerar det direkt från den lokala servern eller gör begäran till den officiella förvarsservern ¿?