V situacích, kdy spravujete více počítačů, může být Apt velmi užitečný, protože velmi usnadňuje proces aktualizace a použití bezpečnostních oprav pro každý počítač. Problém je v tom, že s tradiční metodou, jakmile vyjde aktualizace, musíte si stáhnout kopii všech nových balíčků pro každý ze strojů, což znamená fenomenální spotřebu naší šířky pásma a šířky pásma. z oficiálního serveru Naštěstí existuje metoda, která nám umožňuje aktualizovat jeden ze strojů a odtud aktualizovat ostatní stroje, které tvoří naši síť. Tato metoda kromě snížení nákladů a optimalizace využití naší šířky pásma zamezuje duplikaci balíčků na různých počítačích: všechny balíčky instalují pomocí našeho „serveru mezipaměti“. |
Pokud používáte stejnou distribuci na různých počítačích (ať už v práci, v počítačových laboratořích, na serverových „farmách“, v klastrech nebo dokonce v malé domácí síti), může být užitečné vytvořit úložiště mezipaměti v síti tak, aby jakmile byl balíček stažen z oficiálního úložiště, všechny ostatní počítače jej stáhnou z tohoto úložiště mezipaměti, které je uloženo v počítači ve vaší síti, který budeme nazývat „server“. Tímto způsobem lze aktualizace stažené z jednoho počítače instalovat na ostatní, aniž byste je museli znovu stahovat z oficiálních úložišť.
Nejprve se podívejme na některá „netradiční“ řešení, která NEDOPORUČUJEM, ale to mi při řešení této otázky jistě přijde na mysl.
Sdílet / etc / apt
Když instalujete balíček na distribuci Debianu (nebo jeho deriváty), je uložen lokálně v adresáři '/ etc / apt'. Je-li vyžadován balíček, Apt nejprve vyhledá v tomto adresáři, aby zjistil, zda existuje místní kopie (tj. Mezipaměť), čímž se vyhne zbytečnému stahování. Výsledkem bude, že si mnozí z vás jistě mysleli, že dobrým způsobem, jak vyřešit daný problém, může být výběr počítače, který bychom označili jako jakýsi server, který by byl aktualizován pomocí oficiálních úložišť a který by sdílel adresář '/ etc / apt' se zbytkem počítačů v síti. Tato metoda by však mohla vést k problémům souvisejícím s blokováním souboru „sources.list“. Obecně se nejedná o nejpoužívanější nebo nejpohodlnější řešení.
Přesunout balíčky
Místo sdílení společného adresáře '/ etc / apt' může být další alternativou to, že každý počítač používá svůj vlastní adresář místní mezipaměti, ale vygeneruje skript, který se postará o kopírování balíčků z jednoho počítače do druhého, aby všechny zůstaly aktualizováno. Nástrojem k provedení tohoto úkolu může být „apt-move“, ale upřímně ho nedoporučuji, protože pro koncového uživatele není dostatečně transparentní. Může to také znamenat zcela zbytečné využití místa na disku, protože všechny balíčky budou muset být zkopírovány do každého ze strojů.
Vyhrazené systémy mezipaměti
Nejlepším řešením tohoto problému je použití vyhrazeného systému mezipaměti. Stručně řečeno, jde o to, vytvořit kopii oficiálních serverů na jednom ze počítačů ve vaší síti a poté nakonfigurovat ostatní počítače tak, aby to místo hledání aktualizací z oficiálních serverů dělaly pomocí této místní mezipaměti (nebo kopie).
Existuje celá řada systémů navržených pro práci s Apt, včetně apt-cacher, apt-proxy a apt-cached.
Zde se budeme zabývat apt-cacher, který je nejjednodušší použít.
apt-cacher
Apt-cacher se zcela liší od jiných systémů ukládání do mezipaměti úložiště, protože to není samostatný program, ale běží jako CGI skript pod Apache. To má několik výhod, například to, že se jedná o malý a jednoduchý nástroj, ale zároveň velmi výkonný a následně robustnější, protože pro zpracování protokolů nevyžaduje vlastní kód, a je velmi flexibilní, protože můžete použít Mechanismus řízení přístupu Apache v případě, že chcete omezit počet počítačů, které mají povolen přístup do mezipaměti.
Apt-cacher musí být nainstalován pouze na jednom počítači, ten, o kterém se rozhodnete, by měl fungovat jako místní mezipaměť úložiště. Poté musí být zbytek počítačů ve vaší síti nakonfigurován tak, aby vyžadoval aktualizace z mezipaměti, a nikoli z oficiálních serverů.
Nastavení serveru
Chcete-li nainstalovat jen
sudo apt-get nainstalovat apt-cacher
Tento balíček má závislosti s apache, perl a wget, takže je nainstaluje, pokud jej nemáte dříve nainstalovaný.
Po instalaci se doporučuje restartovat Apache:
/etc/init.d/apache restartovat
Nakonec vše, co musíte udělat, je upravit výchozí parametry skriptu. Napsal jsem do terminálu:
sudo gedit /etc/apt-cacher/apt-cacher.conf
Obecně jsou všechny výchozí hodnoty v pořádku, ale doporučuje se upravit následující tři:
admin_email = mimail @ myserver generate_reports = 1 expire_hours = 24
Druhým prvkem je proměnná typu Boolean, která určuje generování sestav (0 negeneruje zprávy, 1 je generuje). Prvním prvkem je e-mailová adresa, na kterou se budou zasílat vytvořené zprávy. Třetí a poslední položka určuje počet hodin, kdy by Apt měl čekat na kontrolu dostupnosti aktualizací na oficiálních serverech.
Pokud používáte proxy, nezapomeňte přidat následující položky:
http_proxy = proxy.example.com: 8080 use_proxy = 1
Chcete-li ověřit, že to funguje, můžete přistupovat k místní mezipaměti prostřednictvím adresy URL http: // název_serveru / apt-cacher / a zobrazí se stránka s konfigurací apt-cacher. Pamatujte, že 'název_serveru' musí být nahrazen IP zařízením, které jste označili jako 'server', tedy jako depozitář lokální mezipaměti paketů.
Konfigurace klientů
Nyní už jen musíte upravit seznam sources.list klientů tak, aby procházel serverem. Pokud je adresa IP serveru 123.123.123.123, musíte ji přidat do každého řádku seznamu sources.list a také dávat pozor, aby všichni odkazovali na stejný server, jinak nebude mít mezipaměť žádný účinek.
sudo gedit /etc/apt/sources.list
Jakmile je soubor otevřen, IP našeho serveru je 123.123.123.123, všechny řádky by měly být upraveny podle následujících kritérií:
# Původní #deb http://ftp.us.debian.org/debian/ sid main contrib non-free # deb-src http://ftp.us.debian.org/debian/ sid main contrib non-free # Upraveno deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid main contrib non-free deb-src http://123.123.123.123/apt-cacher/ftp.us.debian. org / debian / sid hlavní příspěvek nesvobodný
Jak vidíte, na začátku adresy URL je třeba přidat server IP + '/ apt-cacher /'. Pak přichází zbytek původní linie.
Statistiky provozu
Pokud jste do souboru 'apt-cacher.conf' přidali prvek 'generate_reports = 1', apt-cacher vygeneruje statistiku přístupu, ke které máte přístup pomocí adresy URL '/ apt-cacher / report'.
Pokud z nějakého důvodu potřebujete vygenerovat statistiku před počtem hodin nastaveným v souboru 'apt-cacher.conf', spusťte následující příkaz:
/usr/share/apt-cacher/apt-cacher-report.pl
Zdravím, vynikající příspěvek, moje otázka zní, pokud víte o jakékoli aplikaci, která vám umožní mít centralizované úložiště pro použití oprav, ale pro různé distribuce, to znamená udržovat několik strojů aktualizovaných současně, ale mají různé distribuce
Ahoj Eduardo! Pravdou je, že to vidím velmi obtížně. Pokud něco objevíte, nepřestávejte mi dávat vědět.
Velké objetí! Na zdraví! Pavel.
K dálkové správě serverů, které spravuji, používám loutku.
Ano, velmi vám děkuji za informace. Už jsem to opravil.
Objetí! Pavel.
Dobrý den,
výukový program je super dobrý ... mám rozsah .. v Debianu Lenny je source.lst v cestě / etc / apt /
jde o
otázka….
pokud mám pár strojů se stejnou distribucí… ale ne se stejnými programy…. Jak víte, co si stáhnout z oficiálních repozitářů…. snižuje všechno ??? ...
Vaše otázka je vynikající. Počítám, že systém by měl fungovat stejně jako v běžném Apt: pokud jej nenajde v mezipaměti, stáhne jej z oficiálních úložišť. V tomto případě jeden z „klientských“ počítačů informuje „server“, že potřebuje aktualizaci, podle seznamu aktualizací, který se zobrazí na „serveru“ vaší sítě. Chcete-li nainstalovat tuto aktualizaci, počítám, že nejprve vyhledá balíček v mezipaměti serveru. Pokud ji nemůže najít, stáhne ji z oficiálních úložišť, uloží ji na server a odtud se nainstaluje do počítače, který to vyžadoval. Tento balíček bude k dispozici v mezipaměti „serveru“, aby jej odtamtud mohli nainstalovat i ostatní počítače ve vaší síti.
Pokud mi nebylo dostatečně jasné, neváhejte napsat.
Objetí! Pavel.
Myslím, že existuje CHYBA… balíčky nejsou uloženy v / etc / apt…. ve skutečnosti zůstávají v / var / cache / apt / archivech
Pravdou je, že nevím.
Jistě existuje způsob, jak to udělat. 🙁
Pokud zjistíte, dejte mi vědět a já ji přidám.
Na zdraví! Pavel.
Nic s dynamickými IP, že?
Zřejmě ve více aktuálních distribucích musíte přidat port (ve výchozím nastavení 3142) na adresu URL místní sítě. Vypadalo by to takto: http://mi_servidor:3142/apt-cacher
Mám lubuntu 16.04, kdo to udělal v rámci tohoto systému a pokud to pro něj fungovalo? A to, co jsem se chtěl zeptat, je následující, pokud nainstaluji tento server a moje ostatní počítače nemají stejné programy, když žádám na svých klientských počítačích o instalaci programu, který mám na serveru, myslíte si, že jej instaluji přímo z místního serveru nebo ano požadavek na oficiální server úložiště ¿?