U situacijama kada upravljate s više strojeva, Apt može biti vrlo koristan jer postupak ažuriranja i primjene sigurnosnih zakrpa za svaki stroj čini vrlo jednostavnim. Problem je u tome što, s tradicionalnom metodom, nakon što izađe ažuriranje, morate preuzeti kopiju svih novih paketa za svaki od strojeva, što podrazumijeva fenomenalnu potrošnju naše propusnosti i propusnosti. sa službenog poslužitelja Srećom, postoji metoda koja nam omogućuje ažuriranje jednog od strojeva i odatle ažuriranje ostalih strojeva koji čine našu mrežu. Ova metoda, osim što smanjuje troškove i optimizira upotrebu naše propusnosti, izbjegava dupliciranje paketa na različitim strojevima: svi oni instaliraju pakete pomoću našeg "poslužitelja predmemorije". |
Kada pokrećete istu distribuciju na različitim strojevima (bilo na poslu, u računalnim laboratorijima, na "farmama poslužitelja", u klasterima ili čak na vašoj maloj kućnoj mreži), može biti korisno stvoriti spremište predmemorije na vašoj mreži tako da nakon preuzimanja paketa iz službenog spremišta, svi ostali strojevi preuzimaju ga iz onog spremišta predmemorije koje je pohranjeno na računalu u vašoj mreži koji ćemo nazvati "poslužitelj". Na taj se način nadogradnje preuzete s jednog računala mogu instalirati na ostale, bez ponovnog preuzimanja iz službenih spremišta.
Pogledajmo najprije neka "netradicionalna" rješenja koja NE preporučujem, ali koja će vam sigurno pasti na pamet prilikom rješavanja ovog pitanja.
Podijeli / etc / apt
Kada instalirate paket na distribucijski sustav Debian (ili njegove derivate), on se lokalno pohranjuje u direktorij '/ etc / apt'. Kada je potreban paket, Apt prvo pogleda u ovaj direktorij kako bi utvrdio postoji li lokalna kopija (odnosno predmemorija), izbjegavajući nepotrebno preuzimanje. Kao rezultat toga, nekolicina vas sigurno će pomisliti da bi dobar način rješavanja predmetnog problema mogao biti odabir računala koje bismo odredili kao neku vrstu poslužitelja, koje bi se ažuriralo pomoću službenih spremišta i koje bi dijelilo svoj direktorij '/ etc / apt' s ostalim računalima na mreži. Međutim, ova metoda može dovesti do problema povezanih s blokiranjem datoteke 'sources.list'. Općenito, to nije najčešće korišteno ili najprikladnije rješenje.
Premjestite pakete
Umjesto dijeljenja zajedničkog direktorija '/ etc / apt', druga alternativa može biti svako računalo da koristi vlastiti direktorij lokalne predmemorije, ali generira skriptu koja se brine za kopiranje paketa s jednog računala na drugi tako da svi ostanu ažurirano. Alat za izvršavanje ovog zadatka može biti "apt-move", ali iskreno ga ne preporučujem jer nije dovoljno transparentan za krajnjeg korisnika. Uz to, to može značiti potpuno nepotrebno korištenje prostora na disku, jer će svi paketi morati biti kopirani na svaki od strojeva.
Namjenski predmemorijski sustavi
Najbolje rješenje za ovaj problem je uporaba namjenskog predmemorijskog sustava. Ukratko, ono o čemu se radi je stvoriti kopiju službenih poslužitelja na jednom od računala u vašoj mreži, a zatim konfigurirati ostatak strojeva tako da, umjesto da traže ažuriranja sa službenih poslužitelja, oni to učine pomoću ove lokalne predmemorije (ili kopije).
Postoji niz sustava dizajniranih za rad s Aptom, uključujući apt-cacher, apt-proxy i apt-cached.
Ovdje ćemo se pozabaviti apt-cacherom, koji je najjednostavniji za korištenje.
apt-cacher
Apt-cacher se vrlo razlikuje od ostalih sustava za predmemoriranje spremišta, jer nije samostalni program, već se izvodi kao CGI skripta pod Apacheom. To ima nekoliko prednosti, kao što je stvaranje malog i jednostavnog alata, ali istodobno vrlo moćnog i, shodno tome, robusnijeg jer ne zahtijeva vlastiti kôd za obradu protokola, a vrlo je fleksibilan jer možete koristiti Apacheov mehanizam kontrole pristupa u slučaju da želite ograničiti broj strojeva kojima je omogućen pristup predmemoriji.
Apt-cacher treba instalirati samo na jednom računalu, onaj za koji odlučite da treba funkcionirati kao vaša predmemorija lokalnog spremišta. Zatim, ostatak računala na vašoj mreži mora biti konfiguriran tako da zahtijeva ažuriranja iz predmemorije, a ne sa službenih poslužitelja.
Konfiguracija poslužitelja
Za samo instaliranje
sudo apt-get instalirati apt-cacher
Ovaj paket ima ovisnosti o apacheu, perlu i wgetu, pa će ih instalirati ako ga prethodno niste instalirali.
Jednom instaliran, preporuča se ponovno pokrenuti Apache:
/etc/init.d/apache ponovno pokretanje
Napokon, sve što morate učiniti je prilagoditi zadane parametre skripte. U terminalu sam napisao:
sudo gedit /etc/apt-cacher/apt-cacher.conf
Općenito su sve zadane vrijednosti u redu, ali preporuča se prilagoditi sljedeće tri:
admin_email = mimail @ myserver generiraj izvještaje = 1 expire_hours = 24
Drugi element je logička varijabla koja određuje generiranje izvješća (0 ne generira izvješća, 1 ih generira). Umjesto toga, prvi je element adresa e-pošte na koju će se poslati stvorena izvješća. Treća i zadnja stavka određuje broj sati koje bi Apt trebao pričekati da provjeri ima li ažuriranja dostupnih na službenim poslužiteljima.
Ako koristite proxy, ne zaboravite dodati sljedeće stavke:
http_proxy = proxy.example.com: 8080 use_proxy = 1
Da biste provjerili radi li, lokalnoj predmemoriji možete pristupiti putem URL-a http: // ime_poslužitelja / apt-cacher / i pojavit će se stranica koja prikazuje konfiguraciju apt-cachera. Imajte na umu da 'server_name' mora biti zamijenjen IP-om stroja koji ste odredili kao 'server', odnosno kao depozitar lokalne predmemorije paketa.
Konfiguracija klijenata
Sada sve što morate učiniti je modificirati Source.list klijenata tako da prolaze kroz poslužitelj. Ako je IP poslužitelja 123.123.123.123, morate ga dodati u svaki redak sources.list-a i također pripaziti da se svi odnose na isti poslužitelj, inače predmemorija neće imati učinka.
sudo gedit /etc/apt/sources.list
Jednom kada se datoteka otvori, IP našeg poslužitelja je 123.123.123.123, sve linije treba izmijeniti prema sljedećim kriterijima:
# Original #deb http://ftp.us.debian.org/debian/ sid glavni prilog neslobodno # deb-src http://ftp.us.debian.org/debian/ sid glavni prilog neslobodno # Izmijenjeno deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid glavni doprinos neslobodni deb-src http://123.123.123.123/apt-cacher/ftp.us.debian. org / debian / sid glavni doprinos neslobodan
Kao što vidite, na početku URL-a morate dodati IP poslužitelja + '/ apt-cacher /'. Zatim ide ostatak originalne linije.
Statistika prometa
Ako ste dodali element 'generiraj izvještaje = 1' u datoteku 'apt-cacher.conf', apt-cacher će generirati statistiku pristupa kojoj možete pristupiti s url-om '/ apt-cacher / report'.
Ako iz bilo kojeg razloga trebate generirati statistiku prije broja sati postavljenih u 'apt-cacher.conf', pokrenite sljedeću naredbu:
/usr/share/apt-cacher/apt-cacher-report.pl
Pozdrav, izvrstan doprinos, moje pitanje je ako znate bilo koju aplikaciju koja vam omogućuje da imate centralizirano spremište za primjenu zakrpa, ali na različite distribucije, odnosno održavajte nekoliko računala ažuriranim u isto vrijeme, ali imaju različite distribucije
Bok Eduardo! Istina je da to vidim vrlo teško. Ako otkrijete bilo koji način, nemojte mi prestajati javljati.
Veliki zagrljaj! Živjeli! Pavao.
Lutku koristim za daljinsko upravljanje poslužiteljima kojima upravljam.
Da, puno vam hvala na informacijama. Već sam to ispravio.
Zagrliti! Pavao.
Pozdrav,
tutorial je super dobar ... imam opseg .. u Debianu Lennyju source.lst je na putu / etc / apt /
pozdravi
pitanje….
ako imam nekoliko strojeva s istim distro-om ... ali ne s istim programima .... Kako znati što preuzeti sa službenog repoa ... spušta sve ??? ...
Vaše pitanje je izvrsno. Računam da bi sustav trebao raditi isto kao u uobičajenom Apt-u: ako ga ne pronađe u predmemoriji, preuzima ga iz službenih spremišta. U tom slučaju, jedan od "klijentskih" strojeva obavještava "poslužitelj" da mu je potrebno ažuriranje prema popisu ažuriranja na "poslužitelju" vaše mreže. Da bih instalirao to ažuriranje, izračunavam da će prvo potražiti paket u predmemoriji poslužitelja. Ako ga ne može pronaći, preuzima ga iz službenih spremišta, sprema na poslužitelj i odatle se instalira na stroj koji ga zahtijeva. Ovaj će paket biti dostupan u predmemoriji "poslužitelja", tako da ga odatle mogu instalirati i drugi strojevi na vašoj mreži.
Slobodno pišite ako nisam bio dovoljno jasan.
Zagrljaj! Pavao.
Mislim da postoji GREŠKA… paketi se ne pohranjuju u / etc / apt…. zapravo ostaju u / var / cache / apt / archives
Istina je da ne znam.
Sigurno postoji način da se to učini. 🙁
Ako saznate, javite mi i ja ću ga dodati.
Živjeli! Pavao.
Ništa s dinamičkim IP-ovima, zar ne?
Očito u aktualnijim distribucijama morate dodati priključak (3142 prema zadanim postavkama) URL-u lokalne mreže. To bi izgledalo ovako: http://mi_servidor:3142/apt-cacher
Imam lubuntu 16.04 tko je to radio pod ovim sustavom i je li to uspjelo kod njega? a ono što sam želio pitati je sljedeće ako instaliram ovaj poslužitelj i moji drugi strojevi nemaju iste programe prilikom podnošenja zahtjeva na mojim klijentskim strojevima za instalaciju programa koji imam na poslužitelju, mislite li da ga instaliram izravno s lokalnog poslužitelja ili ne zahtjev službenom poslužitelju spremišta?