Bagaimana cara agar beberapa mesin diperbarui secara bersamaan

Dalam situasi di mana Anda mengelola banyak mesin, Apt dapat sangat membantu karena membuat proses pembaruan dan penerapan patch keamanan untuk setiap mesin menjadi sangat sederhana. Masalahnya adalah, dengan metode tradisional, setelah pembaruan keluar, Anda harus mengunduh salinan semua paket baru untuk masing-masing mesin, yang menyiratkan konsumsi fenomenal bandwidth dan bandwidth kami. Dari server resmi Untungnya, ada metode yang memungkinkan kita memperbarui salah satu mesin dan, dari sana, memperbarui mesin lainnya yang membentuk jaringan kita. Metode ini, selain mengurangi biaya dan mengoptimalkan penggunaan bandwidth kami, menghindari duplikasi paket di mesin yang berbeda: semua menginstal paket menggunakan "server cache" kami.


Saat Anda menjalankan distribusi yang sama pada mesin yang berbeda (baik di kantor, di lab komputer, di "farms" server, di cluster, atau bahkan di jaringan rumah kecil Anda), akan sangat membantu jika membuat repositori cache di jaringan Anda sehingga setelah sebuah paket diunduh dari repositori resmi, semua mesin lain mengunduhnya dari penyimpanan cache yang disimpan pada mesin di jaringan Anda yang akan kami sebut "server". Dengan cara ini, pembaruan yang diunduh dari satu mesin dapat diinstal pada yang lain tanpa harus mengunduhnya lagi dari repositori resmi.

Pertama-tama, mari kita lihat beberapa solusi "non-tradisional" yang TIDAK saya rekomendasikan, tetapi itu pasti akan muncul di benak Anda saat menjawab pertanyaan ini.

Bagikan / etc / apt

Ketika Anda menginstal sebuah paket pada distro Debian (atau turunannya), itu disimpan secara lokal di direktori '/ etc / apt'. Ketika sebuah paket diperlukan, Apt pertama-tama mencari di direktori ini untuk melihat apakah ada salinan lokal (yaitu, cache), sehingga menghindari pengunduhan yang tidak perlu. Akibatnya, beberapa dari Anda pasti mengira bahwa cara yang baik untuk menyelesaikan masalah tersebut adalah dengan memilih komputer, yang akan kami tunjuk sebagai sejenis server, yang akan diperbarui menggunakan repositori resmi, dan yang mana bagikan direktori Anda '/ etc / apt' dengan mesin lain di jaringan. Namun, metode ini dapat menyebabkan masalah terkait pemblokiran file 'sources.list'. Secara umum, ini bukan solusi yang paling banyak digunakan atau paling nyaman.

Pindahkan paket

Alih-alih berbagi direktori '/ etc / apt' yang umum, alternatif lain adalah bahwa setiap komputer menggunakan direktori cache lokalnya sendiri tetapi menghasilkan skrip yang menangani penyalinan paket dari satu mesin ke mesin lain sehingga semuanya tetap diperbarui. Sebuah alat untuk melaksanakan tugas ini dapat berupa 'apt-move', tetapi sejujurnya saya tidak merekomendasikannya karena tidak cukup transparan untuk pengguna akhir. Selain itu, ini bisa berarti penggunaan ruang disk yang sama sekali tidak perlu karena semua paket harus disalin ke masing-masing mesin.

Sistem cache khusus

Solusi terbaik untuk masalah ini adalah dengan menggunakan sistem cache khusus. Singkatnya, yang dimaksud adalah membuat salinan server resmi di salah satu mesin di jaringan Anda dan kemudian mengkonfigurasi mesin lainnya sehingga, alih-alih mencari pembaruan dari server resmi, mereka melakukannya menggunakan ini. cache lokal (atau salin).

Ada berbagai sistem yang dirancang untuk bekerja dengan Apt, termasuk apt-cacher, apt-proxy, dan apt-cached.

Di sini kita akan membahas apt-cacher, yang paling mudah digunakan.

apt-cacher

Apt-cacher sangat berbeda dari sistem penyimpanan cache repositori lainnya karena ini bukan program yang berdiri sendiri tetapi berjalan sebagai skrip CGI di bawah Apache. Ini memiliki beberapa keunggulan, seperti menjadikannya alat yang kecil dan sederhana tetapi pada saat yang sama sangat kuat dan, akibatnya, lebih kuat karena tidak memerlukan kode sendiri untuk menangani protokol, dan sangat fleksibel karena Anda dapat menggunakan Apache. mekanisme kontrol akses jika Anda ingin membatasi jumlah mesin yang diaktifkan untuk mengakses cache.

Apt-cacher hanya perlu diinstal di satu mesin, yang Anda putuskan harus berfungsi sebagai cache repositori lokal Anda. Kemudian, komputer lain di jaringan Anda harus dikonfigurasi untuk meminta pembaruan dari cache dan bukan dari server resmi.

Konfigurasi server

Untuk menginstal saja

sudo apt-get install apt-cacher

Paket ini memiliki ketergantungan dengan apache, perl dan wget, jadi paket ini akan menginstalnya jika Anda belum menginstalnya sebelumnya.

Setelah terinstal, disarankan untuk memulai ulang Apache:

/etc/init.d/apache restart

Terakhir, yang harus Anda lakukan adalah menyesuaikan parameter default skrip. Saya menulis di terminal:

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

Secara umum, semua nilai default baik-baik saja, tetapi disarankan untuk menyesuaikan tiga nilai berikut:

admin_email = mimail @ myserver generate_reports = 1 expire_hours = 24

Elemen kedua adalah variabel Boolean yang menentukan pembuatan laporan (0 tidak menghasilkan laporan, 1 tidak menghasilkannya). Elemen pertama adalah alamat email tujuan pengiriman laporan yang dibuat. Item ketiga dan terakhir menentukan berapa jam Apt harus menunggu untuk memeriksa pembaruan yang tersedia di server resmi.

Jika Anda menggunakan proxy, jangan lupa untuk menambahkan item berikut:

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

Untuk memverifikasi bahwa itu berfungsi, Anda dapat mengakses cache lokal Anda melalui url http: // server_name / apt-cacher / dan sebuah halaman akan muncul yang menampilkan konfigurasi apt-cacher. Ingatlah bahwa 'server_name' harus diganti dengan IP mesin yang telah Anda tetapkan sebagai 'server', yaitu, sebagai penyimpanan cache paket lokal.

Konfigurasi klien

Sekarang yang harus Anda lakukan adalah mengubah sources.list klien sehingga mereka melewati server. Jika IP server adalah 123.123.123.123, Anda harus menambahkannya ke setiap baris sources.list, dan juga berhati-hati karena semuanya merujuk ke server yang sama, jika tidak cache tidak akan berpengaruh.

sudo gedit /etc/apt/sources.list
Catatan: Hati-hati! Di Debian dan turunannya, 'sources.list' disimpan di '/ etc / apt'. Namun, di distribusi lain mungkin disimpan di jalur lain. Jika Anda tidak dapat menemukan file, Anda selalu dapat menemukannya dengan memasukkan 'cari sumber.list' di terminal.

Setelah file dibuka, IP server kami adalah 123.123.123.123, semua baris harus dimodifikasi menggunakan kriteria berikut:

# Original #deb http://ftp.us.debian.org/debian/ sid kontributor utama non-free # deb-src http://ftp.us.debian.org/debian/ sid kontributor utama non-free # Dimodifikasi deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid kontributor utama non-free deb-src http://123.123.123.123/apt-cacher/ftp.us.debian. org / debian / sid kontributor utama tidak bebas

Seperti yang Anda lihat, Anda harus menambahkan IP server + '/ apt-cacher /' di awal URL. Kemudian lanjutkan sisa baris aslinya.

Statistik lalu lintas

Jika Anda menambahkan elemen 'generate_reports = 1' dalam file 'apt-cacher.conf', apt-cacher akan menghasilkan statistik akses, yang dapat Anda akses dengan url '/ apt-cacher / report'.

Jika, karena alasan apa pun, Anda perlu membuat statistik sebelum jumlah jam yang ditetapkan di 'apt-cacher.conf', jalankan perintah berikut:

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

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   eduardo dijo

    Salam, kontribusi luar biasa, pertanyaan saya adalah jika Anda mengetahui aplikasi apa pun yang memungkinkan Anda memiliki repositori terpusat untuk menerapkan tambalan tetapi untuk distribusi yang berbeda, yaitu, terus perbarui beberapa mesin pada saat yang sama tetapi memiliki distribusi yang berbeda

  2.   Mari gunakan Linux dijo

    Hai Eduardo! Yang benar adalah saya melihatnya sangat sulit. Jika Anda menemukan cara apa pun, jangan berhenti memberi tahu saya.
    Pelukan hangat! Bersulang! Paul.

  3.   anak ayam dijo

    Saya menggunakan boneka untuk mengelola server yang saya kelola dari jarak jauh.

  4.   Mari gunakan Linux dijo

    Ya, terima kasih banyak atas informasinya. Saya sudah mengoreksinya.
    Memeluk! Paul.

  5.   geniutrixone dijo

    Halo,

    tutorialnya sangat bagus ... Saya memiliki ruang lingkup .. di Debian Lenny, source.lst ada di jalur / etc / apt /

    salam

  6.   sepulvedamarcos dijo

    pertanyaan….

    jika saya memiliki beberapa mesin dengan distro yang sama… tetapi tidak dengan program yang sama…. Bagaimana Anda tahu apa yang harus diunduh dari repo resmi…. menurunkan semuanya ??? ...

  7.   Mari gunakan Linux dijo

    Pertanyaan Anda luar biasa. Saya menghitung bahwa sistem harus bekerja sama seperti di Apt umum: jika tidak menemukannya di cache, ia mengunduhnya dari repositori resmi. Dalam kasus ini, salah satu mesin "klien" memberi tahu "server" bahwa ia memerlukan pembaruan sesuai dengan daftar pembaruan di "server" jaringan Anda. Untuk menginstal pembaruan itu, saya menghitung bahwa itu pertama-tama akan mencari paket di cache server. Jika tidak dapat menemukannya, ia mengunduhnya dari repositori resmi, menyimpannya di server dan, dari sana, itu diinstal pada mesin yang membutuhkannya. Paket ini akan tersedia di cache "server" sehingga mesin lain di jaringan Anda juga dapat menginstalnya dari sana.

    Silakan menulis jika saya tidak cukup jelas.

    Sebuah pelukan! Paul.

  8.   Mishudark dijo

    Saya rasa ada ERROR… paket tidak disimpan di / etc / apt…. mereka sebenarnya tetap di / var / cache / apt / archives

  9.   Mari gunakan Linux dijo

    Sebenarnya saya tidak tahu.
    Pasti ada cara untuk melakukannya. 🙁
    Jika Anda mengetahuinya, beri tahu saya dan saya akan menambahkannya.
    Bersulang! Paul.

  10.   Alvaro dijo

    Tidak ada dengan ip dinamis, bukan?

  11.   Marc dijo

    Rupanya di distro yang lebih baru Anda harus menambahkan port (default 3142) ke URL jaringan lokal. Ini akan terlihat seperti ini: http://mi_servidor:3142/apt-cacher

  12.   alfredo torrealba dijo

    Saya memiliki lubuntu 16.04 yang telah melakukannya di bawah sistem ini dan apakah itu berhasil untuknya? Dan yang ingin saya tanyakan adalah sebagai berikut jika saya menginstal server ini dan mesin saya yang lain tidak memiliki program yang sama saat membuat permintaan pada mesin klien saya untuk menginstal program yang saya miliki di server, apakah menurut Anda saya menginstal itu langsung dari server lokal atau apakah permintaan ke server repositori resmi ¿?