Cara memastikan pelbagai mesin sentiasa dikemas kini pada masa yang sama

Dalam situasi di mana anda menguruskan banyak mesin, Apt dapat sangat membantu kerana menjadikan proses mengemas kini dan menerapkan patch keselamatan untuk setiap mesin sangat mudah. Masalahnya ialah, dengan kaedah tradisional, setelah kemas kini keluar, anda harus memuat turun salinan semua pakej baru untuk setiap mesin, yang menunjukkan penggunaan lebar jalur lebar dan lebar jalur kami yang luar biasa. Dari pelayan rasmi Nasib baik, ada kaedah yang membolehkan kita mengemas kini salah satu mesin dan, dari sana, mengemas kini sisa mesin yang membentuk rangkaian kita. Kaedah ini, selain mengurangkan kos dan mengoptimumkan penggunaan lebar jalur kami, mengelakkan penduaan pakej pada mesin yang berbeza: mereka semua memasang paket menggunakan "pelayan cache" kami.


Apabila anda menjalankan pengedaran yang sama pada mesin yang berbeza (sama ada di tempat kerja, di makmal komputer, di "ladang" pelayan, atau dalam rangkaian rumah kecil anda), berguna untuk membuat repositori cache di rangkaian anda sehingga apabila pakej telah dimuat turun dari repositori rasmi, semua mesin lain memuat turunnya dari repositori cache yang disimpan di mesin di rangkaian anda yang akan kami panggil "pelayan". Dengan cara ini, kemas kini yang dimuat turun dari satu mesin boleh dipasang pada yang lain tanpa perlu memuat turunnya lagi dari repositori rasmi.

Mari kita lihat dahulu beberapa penyelesaian "bukan tradisional" yang TIDAK saya sarankan, tetapi itu pasti akan terlintas dalam fikiran ketika menyelesaikan soalan ini.

Kongsi / etc / apt

Apabila anda memasang pakej pada distro Debian (atau turunannya), ia disimpan di dalam direktori '/ etc / apt'. Apabila pakej diperlukan, Apt pertama kali melihat ke dalam direktori ini untuk melihat apakah ada salinan tempatan (iaitu cache), sehingga mengelakkan muat turun yang tidak perlu. Akibatnya, sebilangan besar dari anda pasti akan berfikir bahawa cara yang baik untuk menyelesaikan masalah tersebut ialah memilih komputer, yang akan kita tetapkan sebagai sejenis pelayan, yang akan dikemas kini menggunakan repositori rasmi, dan yang mana kongsi direktori anda '/ etc / apt' dengan mesin lain di rangkaian. Walau bagaimanapun, kaedah ini boleh menyebabkan masalah yang berkaitan dengan penyekatan fail 'source.list'. Secara umum, ini bukan penyelesaian yang paling banyak digunakan atau paling mudah.

Pindahkan pakej

Daripada berkongsi direktori '/ etc / apt' yang sama, alternatif lain ialah setiap komputer menggunakan direktori cache tempatannya sendiri tetapi menghasilkan skrip yang menguruskan penyalinan paket dari satu mesin ke mesin yang lain sehingga semuanya tetap diperbarui. Alat untuk melaksanakan tugas ini boleh menjadi 'apt-move', tetapi saya tidak mengesyorkannya kerana tidak cukup telus untuk pengguna akhir. Juga, ini boleh bermaksud penggunaan ruang cakera yang sangat tidak perlu kerana semua pakej harus disalin ke setiap mesin.

Sistem cache khusus

Penyelesaian terbaik untuk masalah ini adalah dengan menggunakan sistem cache khusus. Ringkasnya, yang dimaksudkan adalah membuat salinan pelayan rasmi di salah satu mesin di rangkaian anda dan kemudian mengkonfigurasi mesin yang lain sehingga, bukannya mencari kemas kini dari pelayan rasmi, mereka melakukannya menggunakan ini cache tempatan (atau salin).

Terdapat pelbagai sistem yang dirancang untuk bekerja dengan Apt, termasuk apt-cacher, apt-proxy, dan apt-cache.

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

apt-cacher

Apt-cacher agak berbeza dengan sistem cache repositori lain kerana ia bukan program yang berdiri sendiri tetapi berfungsi sebagai skrip CGI di bawah Apache. Ini mempunyai beberapa kelebihan, seperti menjadikannya alat kecil dan sederhana tetapi pada masa yang sama sangat kuat dan, akibatnya, lebih mantap kerana tidak memerlukan kodnya sendiri untuk mengendalikan protokol, dan sangat fleksibel kerana anda dapat menggunakan Apache mekanisme kawalan akses sekiranya anda ingin menghadkan bilangan mesin yang diaktifkan untuk mengakses cache.

Apt-cacher hanya perlu dipasang pada satu mesin, yang anda putuskan harus berfungsi sebagai cache repositori tempatan anda. Kemudian, komputer lain di rangkaian anda mesti dikonfigurasi untuk meminta kemas kini dari cache dan bukan dari pelayan rasmi.

Konfigurasi pelayan

Untuk memasang hanya

sudo apt-get install apt-cacher

Pakej ini mempunyai kebergantungan dengan apache, perl dan wget, jadi ia akan memasangnya jika anda belum memasangnya sebelumnya.

Setelah dipasang, disyorkan untuk memulakan semula Apache:

/etc/init.d/apache mulakan semula

Akhirnya, yang harus anda lakukan ialah menyesuaikan parameter lalai skrip. Saya menulis di terminal:

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

Secara umum, semua nilai lalai baik-baik saja, tetapi disyorkan untuk menyesuaikan tiga perkara berikut:

admin_email = mimail @ myserver create_reports = 1 expire_hours = 24

Elemen kedua adalah pemboleh ubah Boolean yang menentukan penjanaan laporan (0 tidak menghasilkan laporan, 1 tidak menghasilkannya). Sebaliknya, elemen pertama adalah alamat e-mel yang akan dihantar oleh laporan yang dibuat. Item ketiga dan terakhir menentukan jumlah jam yang perlu ditunggu Apt untuk memeriksa kemas kini yang terdapat di pelayan rasmi.

Sekiranya anda menggunakan proksi, jangan lupa untuk menambahkan item berikut:

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

Untuk mengesahkan bahawa ia berfungsi, anda dapat mengakses cache tempatan anda melalui url http: // server_name / apt-cacher / dan halaman akan muncul yang menunjukkan konfigurasi apt-cacher. Ingat bahawa 'server_name' mesti diganti dengan IP mesin yang telah anda tetapkan sebagai 'server', iaitu sebagai simpanan cache paket tempatan.

Konfigurasi pelanggan

Sekarang yang perlu anda lakukan ialah mengubah sumber. Senarai pelanggan untuk melalui pelayan. Sekiranya IP pelayan adalah 123.123.123.123, anda harus menambahkannya ke setiap baris source.list, dan juga berhati-hati bahawa mereka semua merujuk kepada pelayan yang sama, jika tidak, cache tidak akan memberi kesan.

sudo gedit /etc/apt/sources.list
Nota: Hati-hati! Dalam Debian dan turunannya 'source.list' disimpan di '/ etc / apt'. Walau bagaimanapun, dalam pengedaran lain mungkin disimpan di jalan lain. Sekiranya anda tidak dapat mencari fail, anda selalu dapat mencarinya dengan memasukkan 'cari sumber.list' di terminal.

Setelah fail dibuka, IP pelayan kami menjadi 123.123.123.123, semua baris harus diubah menggunakan kriteria berikut:

# Original #deb http://ftp.us.debian.org/debian/ sid main contrib tidak bebas # deb-src http://ftp.us.debian.org/debian/ sid main contrib tidak bebas # Diubah suai deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid main contrib bebas deb-src http://123.123.123.123/apt-cacher/ftp.us.debian. org / debian / sid main contrib percuma

Seperti yang anda lihat, IP + '/ apt-cacher /' pelayan mesti ditambahkan pada awal URL. Kemudian muncul barisan asal yang lain.

Statistik lalu lintas

Sekiranya anda menambahkan elemen 'create_reports = 1' dalam fail 'apt-cacher.conf', apt-cacher akan menghasilkan statistik akses, yang dapat anda akses dengan url '/ apt-cacher / report'.

Sekiranya, atas sebab apa pun, anda perlu membuat statistik sebelum jumlah jam yang ditetapkan dalam 'apt-cacher.conf', jalankan arahan berikut:

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

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Eduardo kata

    Salam, sumbangan yang sangat baik, pertanyaan saya ialah jika anda mengetahui ada aplikasi yang membolehkan anda mempunyai repositori terpusat untuk menerapkan tampalan tetapi untuk pengedaran yang berbeza, iaitu terus memperbaharui beberapa mesin pada masa yang sama tetapi mempunyai pengedaran yang berbeza

  2.   Mari gunakan Linux kata

    Hai Eduardo! Yang benar adalah bahawa saya melihatnya sangat sukar. Sekiranya anda menemui cara, jangan berhenti memberitahu saya.
    Pelukan besar! Ceria! Paul.

  3.   chiche kata

    Saya menggunakan boneka untuk mengurus pelayan yang saya kendalikan dari jauh.

  4.   Mari gunakan Linux kata

    Ya. Terima kasih banyak atas maklumatnya. Saya sudah membetulkannya.
    Peluk! Paul.

  5.   Geniutrixone kata

    Hello,

    tutorialnya sangat bagus ... saya mempunyai skop .. dalam Debian Lenny sumbernya. pertama ada di jalan / etc / apt /

    berkaitan

  6.   sepulvedamarcos kata

    soalan….

    jika saya mempunyai beberapa mesin dengan distro yang sama… tetapi tidak dengan program yang sama…. Bagaimana anda tahu memuat turun dari repos rasmi…. merendahkan segalanya ??? ...

  7.   Mari gunakan Linux kata

    Soalan anda sangat baik. Saya mengira bahawa sistem harus berfungsi sama seperti pada Apt biasa: jika tidak menemuinya di cache, ia akan memuat turunnya dari repositori rasmi. Dalam kes ini, salah satu mesin "klien" memberitahu "pelayan" bahawa ia memerlukan pembaruan sesuai dengan senarai kemas kini yang muncul di "pelayan" rangkaian anda. Untuk memasang kemas kini itu, saya mengira bahawa ia akan mencari pakej terlebih dahulu dalam cache pelayan. Sekiranya tidak dapat menemuinya, ia memuat turunnya dari repositori rasmi, menyimpannya di pelayan dan, dari situ, ia dipasang di mesin yang memerlukannya. Pakej ini akan tersedia di cache "pelayan" sehingga mesin lain di rangkaian anda dapat memasangnya dari sana juga.

    Jangan teragak-agak untuk menulis sekiranya saya tidak cukup jelas.

    Pelukan! Paul.

  8.   Mishudark kata

    Saya rasa ada KESALAHAN ... pakej tidak disimpan di / etc / apt…. mereka sebenarnya tinggal di / var / cache / apt / arkib

  9.   Mari gunakan Linux kata

    Yang benar adalah saya tidak tahu.
    Pasti ada kaedah untuk melakukannya. 🙁
    Sekiranya anda mengetahuinya, beritahu saya dan saya akan menambahkannya.
    Ceria! Paul.

  10.   Alvaro kata

    Tiada apa-apa dengan ip dinamik, bukan?

  11.   tanda kata

    Nampaknya di distro terkini anda perlu menambahkan port (3142 secara lalai) ke URL rangkaian tempatan. Ia akan kelihatan seperti ini: http://mi_servidor:3142/apt-cacher

  12.   alfredo torrealba kata

    Saya mempunyai lubuntu 16.04 yang telah melakukannya di bawah sistem ini dan jika ia berjaya untuknya? dan apa yang ingin saya tanyakan adalah yang berikut sekiranya saya memasang pelayan ini dan mesin saya yang lain tidak mempunyai program yang sama ketika membuat permintaan pada mesin pelanggan saya untuk pemasangan program yang saya ada di pelayan, adakah anda fikir saya memasang ia langsung dari pelayan tempatan atau adakah permintaan ke pelayan rasmi repositori?