Aynı anda birden fazla makineyi nasıl güncel tutabilirsiniz?

Birden fazla makineyi yönettiğiniz durumlarda, Apt, her makine için güvenlik yamalarını güncelleme ve uygulama sürecini çok basit hale getirdiğinden çok yardımcı olabilir. Sorun şu ki, geleneksel yöntemde bir güncelleme çıktığında, her bir makine için tüm yeni paketlerin bir kopyasını indirmeniz gerekecek, bu da bant genişliğimizin ve bant genişliğimizin olağanüstü bir şekilde tüketildiği anlamına geliyor. Resmi sunucudan Neyse ki, Makinelerden birini güncellememize ve oradan ağımızı oluşturan diğer makineleri güncellememize izin veren bir yöntem var. Bu yöntem, maliyetleri düşürmenin ve bant genişliğimizin kullanımını optimize etmenin yanı sıra, paketlerin farklı makinelerde kopyalanmasını önler: tüm paketleri "önbellek sunucumuzu" kullanarak kurar.


Aynı dağıtımı farklı makinelerde çalıştırırken (iş yerinde, bilgisayar laboratuvarlarında, sunucu "çiftliklerinde", kümelerde veya hatta küçük ev ağınızda), ağınızda bir önbellek deposu oluşturmak faydalı olabilir böylece bir paket resmi bir depodan indirildikten sonra, diğer tüm makineler onu ağınızdaki bir makinede depolanan ve "sunucu" olarak adlandıracağımız bu önbellek havuzundan indirir. Bu şekilde, bir makineden indirilen güncellemeler, resmi depolardan tekrar indirmeye gerek kalmadan diğerlerine yüklenebilir.

Öncelikle önermediğim bazı "geleneksel olmayan" çözümlere bakalım, ancak bu soruyu çözerken kesinlikle akla gelecek.

Paylaş / etc / apt

Debian dağıtımına (veya türevlerine) bir paket kurduğunuzda, bu paket yerel olarak '/ etc / apt' dizininde saklanır. Bir paket gerektiğinde, Apt önce yerel bir kopya (yani bir önbellek) olup olmadığını görmek için bu dizine bakar, böylece gereksiz indirmeyi önler. Sonuç olarak, birçoğunuzun aklına, söz konusu sorunu çözmenin iyi bir yolu, resmi depoları kullanarak güncellenecek bir tür sunucu olarak tanımlayacağımız bir bilgisayar seçmek olabilir. '/ etc / apt' dizininizi ağdaki diğer makinelerle paylaşır. Ancak, bu yöntem engellenen 'sources.list' dosyasıyla ilgili sorunlara yol açabilir. Genel olarak en yaygın kullanılan veya en uygun çözüm değildir.

Paketleri taşı

Ortak bir '/ etc / apt' dizinini paylaşmak yerine, her bilgisayarın kendi yerel önbellek dizinini kullanması, ancak paketlerin bir makineden diğerine kopyalanmasını sağlayan bir komut dosyası oluşturması, böylece hepsinin güncel kalması için başka bir alternatif olabilir. . Bu görevi yerine getirmek için bir araç 'uygun hareket' olabilir, ancak dürüst olmak gerekirse bunu önermiyorum çünkü son kullanıcı için yeterince şeffaf değil. Ek olarak, tüm paketlerin makinelerin her birine kopyalanması gerekeceğinden, tamamen gereksiz disk alanı kullanımı anlamına gelebilir.

Özel önbellek sistemleri

Bu soruna en iyi çözüm, özel bir önbellek sistemi kullanmaktır. Kısacası, ağınızdaki makinelerden birinde resmi sunucuların bir kopyasını oluşturmak ve ardından geri kalan makineleri, resmi sunuculardan güncellemeleri aramak yerine bunu kullanarak yapacakları şekilde yapılandırmakla ilgili. yerel önbellek (veya kopya).

Apt-cacher, apt-proxy ve apt-cached dahil olmak üzere Apt ile çalışmak üzere tasarlanmış çeşitli sistemler vardır.

Burada kullanımı en kolay apt-cacher ile ilgileneceğiz.

Apt önbellek

Apt-cacher, tek başına bir program olmadığı için Apache altında bir CGI betiği olarak çalıştığı için diğer depo önbellekleme sistemlerinden çok farklıdır. Bunun, küçük ve basit bir araç olmasına karşın aynı zamanda çok güçlü ve sonuç olarak daha sağlam olması gibi birçok avantajı vardır, çünkü protokolleri işlemek için kendi koduna ihtiyaç duymaz ve Apache'yi kullanabileceğiniz için çok esnektir. Önbelleğe erişmesi etkinleştirilen makinelerin sayısını sınırlamak istemeniz durumunda erişim kontrol mekanizması.

Apt-cacher yalnızca bir makineye kurulmalıdır, karar verdiğiniz makinenin yerel depo önbelleğiniz olarak işlev görmesi gerekir. Ardından, ağınızdaki diğer bilgisayarların resmi sunuculardan değil önbellekten güncelleme talep edecek şekilde yapılandırılması gerekir.

Sunucu yapılandırması

Sadece yüklemek için

sudo apt-get install apt-cacher

Bu paket apache, perl ve wget ile bağımlılıklara sahiptir, bu nedenle daha önceden kurmadıysanız bunları kuracaktır.

Kurulduktan sonra Apache'yi yeniden başlatmanız önerilir:

/etc/init.d/apache yeniden başlat

Son olarak, tek yapmanız gereken komut dosyasının varsayılan parametrelerini ayarlamaktır. Bir terminalde yazdım:

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

Genel olarak, tüm varsayılanlar iyidir, ancak aşağıdaki üçünün ayarlanması önerilir:

admin_email = mimail @ myserver generate_reports = 1 expire_hours = 24

İkinci öğe, raporların oluşturulmasını belirleyen bir Boole değişkenidir (0 rapor üretmez, 1 bunları üretir). Bunun yerine ilk öğe, oluşturulan raporların gönderileceği e-posta adresidir. Üçüncü ve son öğe, Apt'nin resmi sunucularda bulunan güncellemeleri kontrol etmek için beklemesi gereken saat sayısını belirler.

Bir proxy kullanıyorsanız, aşağıdaki öğeleri eklemeyi unutmayın:

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

Çalıştığını doğrulamak için, http: // server_name / apt-cacher / url'si aracılığıyla yerel önbelleğinize erişebilirsiniz ve apt-cacher yapılandırmasını gösteren bir sayfa görünecektir. Unutmayın ki 'sunucu_adı', 'sunucu' olarak belirlediğiniz makinenin IP'si ile, yani yerel paket önbelleğinin deposu olarak değiştirilmelidir.

İstemci yapılandırması

Şimdi tek yapmanız gereken, istemcilerin kaynaklar.listesini sunucudan geçecek şekilde değiştirmektir. Sunucunun IP'si 123.123.123.123 ise, bunu sources.list'in her satırına eklemeniz ve hepsinin aynı sunucuya başvurduğuna dikkat etmeniz gerekir, aksi takdirde önbelleğin bir etkisi olmaz.

sudo gedit /etc/apt/sources.list
Not: Dikkatli olun! Debian ve türevlerinde, 'sources.list' '/ etc / apt'de saklanır. Bununla birlikte, diğer dağıtımlarda başka bir yolda saklanabilir. Dosyayı bulamamanız durumunda, bir terminale 'kaynaklar.listesini bulun' yazarak her zaman bulabilirsiniz.

Dosya açıldıktan sonra, sunucumuzun IP adresi 123.123.123.123, tüm satırlar aşağıdaki kriterler kullanılarak değiştirilmelidir:

# Orijinal #deb http://ftp.us.debian.org/debian/ sid main katkı ücretsiz değil # deb-src http://ftp.us.debian.org/debian/ sid ana katkı ücretsiz değil # Değiştirilmiş deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid main katkı ücretsiz olmayan deb-src http://123.123.123.123/apt-cacher/ftp.us.debian. org / debian / sid main katkı ücretsiz olmayan

Gördüğünüz gibi, URL'nin başına IP + '/ apt-cacher /' sunucusunu eklemelisiniz. Ardından orijinal satırın geri kalanına gider.

Trafik İstatistikleri

'Apt-cacher.conf' dosyasına 'generate_reports = 1' öğesini eklediyseniz, apt-cacher, '/ apt-cacher / report' URL'si ile erişebileceğiniz erişim istatistiklerini oluşturacaktır.

Herhangi bir nedenle, 'apt-cacher.conf'da ayarlanan saat sayısından önce istatistik oluşturmanız gerekirse, aşağıdaki komutu çalıştırın:

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

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   eduardo dijo

    Selamlar, mükemmel bir katkı, sorum şu ki, yamaları uygulamak için merkezi bir depoya sahip olmanıza, ancak farklı dağıtımlara, yani birkaç makineyi aynı anda güncel tutmanıza, ancak farklı dağıtımlara sahip olmanıza izin veren herhangi bir uygulama biliyorsanız.

  2.   Hadi Linux kullanalım dijo

    Merhaba Eduardo! Gerçek şu ki, bunu çok zor görüyorum. Herhangi bir şekilde keşfederseniz bana haber vermeyi bırakmayın.
    Büyük bir sarılma! Şerefe! Paul.

  3.   chiche dijo

    Yönettiğim sunucuları uzaktan yönetmek için kukla kullanıyorum.

  4.   Hadi Linux kullanalım dijo

    Evet, bilgi için çok teşekkür ederim. Ben zaten düzelttim.
    Sarıl! Paul.

  5.   geniutrikson dijo

    Merhaba,

    öğretici süper iyi ... Bir kapsamım var .. Debian Lenny'de source.lst / etc / apt / yolundadır.

    Saygılarımızla

  6.   sepulvedamarcos dijo

    soru….

    aynı dağıtıma sahip birkaç makinem varsa… ama aynı programlara sahip değilse…. Resmi depolardan indirmeyi nasıl biliyorsunuz…. her şeyi düşürür ??? ...

  7.   Hadi Linux kullanalım dijo

    Sorunuz mükemmel. Sistemin ortak bir Apt ile aynı şekilde çalışması gerektiğini hesaplıyorum: önbellekte bulamazsa, resmi depolardan indirir. Bu durumda, "istemci" makinelerden biri, "sunucuya", ağınızın "sunucusundaki" güncelleme listesine göre bir güncellemeye ihtiyacı olduğunu bildirir. Bu güncellemeyi yüklemek için öncelikle sunucu önbelleğinde paketi arayacağını hesaplıyorum. Bulamazsa, resmi depolardan indirir, sunucuya kaydeder ve oradan gerekli olan makineye yüklenir. Bu paket "sunucu" önbelleğinde bulunacaktır, böylece ağınızdaki diğer makineler de oradan yükleyebilir.

    Yeterince açık değilsem lütfen yazmaktan çekinmeyin.

    Sarılmak! Paul.

  8.   Mişudark dijo

    Sanırım bir HATA var… paketler / etc / apt… içinde saklanmıyor. aslında / var / cache / apt / arşivlerinde kalıyorlar

  9.   Hadi Linux kullanalım dijo

    Gerçek şu ki bilmiyorum.
    Elbette bunu yapmanın bir yolu var. 🙁
    Eğer öğrenirsen bana haber ver, ben de ekleyeyim.
    Şerefe! Paul.

  10.   Alvaro dijo

    Dinamik ip ile hiçbir şey yok, değil mi?

  11.   Marce dijo

    Görünüşe göre daha güncel dağıtımlarda bağlantı noktasını (varsayılan olarak 3142) yerel ağın URL'sine eklemeniz gerekiyor. Şöyle görünecektir: http://mi_servidor:3142/apt-cacher

  12.   alfredo torrealba dijo

    Lubuntu 16.04'ü bu sistem altında kim yaptı ve onun için çalıştıysa? ve sormak istediğim şu: Sunucuda sahip olduğum bir programın yüklenmesi için istemci makinelerimde talepte bulunurken bu sunucuyu kurarsam ve diğer makinelerim aynı programlara sahip değilse, kurduğumu düşünüyor musunuz? doğrudan yerel sunucudan mı yoksa depoların resmi sunucusuna talep mi?