Bagaimana cara membuat Proxy APT menggunakan Raspberry PI dengan apt-cacher-ng?

Jika Anda tinggal dan bekerja di suatu tempat dengan internet yang lebih lambat dan perlu memperbarui sistem Debian dan / atau Ubuntu, proksi apt ini akan membuat hidup Anda lebih mudah dan lebih cepat.


TEPAT adalah program yang digunakan distribusi Debian dan Ubuntu Linux untuk menginstal dan memperbarui perangkat lunak mereka. Dalam konfigurasi out-of-the-box mereka, ketika Anda menggunakan apt untuk menginstal suatu program, mis .:

sudo untuk menginstal inkscape

APT akan mengunduh arsip perangkat lunak dari server repositori distribusi dan menginstalnya. Ini berfungsi dengan baik ketika paket perangkat lunak kecil, hanya ada beberapa file yang perlu diunduh, dan koneksi internet Anda cepat.

Namun, jika Anda memiliki banyak perangkat lunak untuk diinstal dan memiliki kantor yang penuh dengan mesin yang semuanya perlu diperbarui dan Anda memiliki koneksi internet yang lambat, ini bisa memakan waktu lama untuk mengunduh dan menginstal semua perangkat di setiap mesin..

Server proxy, khususnya proxy cache, seperti apt-cacher-ng adalah program yang terletak di antara komputer yang Anda coba perbarui dan server repositori yang menampung perangkat lunak yang Anda unduh. Mesin yang Anda perbarui akan meminta perangkat lunak dari server proxy alih-alih repositori, dan proksi kemudian akan meneruskan permintaan ke repositori, unduh perangkat lunak dan serahkan kembali ke mesin pembaruan.

Bagian yang pintar adalah bahwa proxy akan menyimpan salinan semua file perangkat lunak yang diunduh. Ketika mesin lain di jaringan lokal mencoba mengunduh file yang sama, mis. Ia ingin menginstal atau memperbarui perangkat lunak yang sama, proksi sudah memiliki salinan yang dapat diberikannya ke mesin permintaan tanpa perlu mengunduhnya.

Setelah unduhan pertama, semua unduhan berikutnya akan berjalan dengan kecepatan jaringan lokal Anda.

Persyaratan

Untuk menyelesaikan panduan ini, Anda perlu yang berikut:

  • Layar dan keyboard untuk dihubungkan ke Raspberry Pi Anda. Ini opsional jika Anda bisa SSH ke Raspberry Pi Anda.
  • Pengguna non-root, sudo-enabled pada Raspberry Pi Anda.
  • Sistem Debian atau Ubuntu di jaringan lokal Anda.

Setelah semua persyaratan ini masuk ke terminal pada Raspberry PI Anda sebagai pengguna sudo dan lanjutkan ke bagian berikutnya.

Menginstal apt-cacher-ng

Sebelum menginstal paket baru di Linux, selalu merupakan ide bagus untuk melakukan pembaruan sistem. Ini akan memastikan bahwa sistem Anda menjalankan versi paket yang sama dengan yang tersedia di repositori distribusi dan juga bahwa daftar versi paket lokal Anda adalah yang terbaru. Melakukan ini akan memastikan bahwa Anda tidak menemukan kesalahan selama instalasi apt-cacher-ng.

Perintah berikut akan memperbarui sistem Anda:

$ sudo apt pembaruan
Upgrade $ sudo apt

Sekarang Raspberry PI Anda adalah yang terbaru menginstal apt-cacher-ng:

$ sudo apt install apt-cacher-ng

Pemasang akan bertanya apakah Anda ingin mengaktifkan terowongan HTTPS melalui apt-cacher-ng. Anda harus menjawab “Tidak” untuk pertanyaan ini. Kami akan mengonfigurasi APT ke koneksi HTTPS proxy melalui apt-cacher-ng alih-alih membutuhkan terowongan. Selain itu, Anda dapat mengubah opsi ini di file konfigurasi apt-cacher-ng nanti jika Anda membutuhkannya.

Sesuai dengan konvensi perangkat lunak modern, file layanan systemd dibuat dan diaktifkan ketika Anda menginstal apt-cacher-ng. Ini berarti bahwa apt-cacher-ng akan secara otomatis mulai saat boot dan Anda juga dapat mengelola apt-cacher-ng dengan perintah layanan systemd normal:

$ sudo systemctl mulai apt-cacher-ng.service
$ sudo systemctl stop apt-cacher-ng.service
$ sudo systemctl mulai ulang apt-cacher-ng.service

apt-cacher-ng sekarang berjalan sebagai daemon sistem mendengarkan pada port 3142 dan siap menerima koneksi dari apt.

Mengkonfigurasi apt pada Raspberry PI

Sistem pertama yang akan kita konfigurasikan untuk menggunakan proxy apt-cacher-ng akan tepat di Raspberry PI. Cara kami akan mengkonfigurasi apt untuk menggunakan proxy apt-cacher-ng adalah dengan menulis ulang URL dalam file sumber apt. File sumber berisi daftar URL repositori tempat perangkat lunak distribusi tersedia untuk diunduh.

Anda akan menemukan file sumber utama untuk Raspbian di /etc/apt/sources.list dan pada instal baru terlihat seperti berikut:

deb http://raspbian.raspberrypi.org/raspbian/ buster contrib utama rpi tidak bebas
# Batalkan komentar pada baris di bawah lalu ‘apt-get update’ untuk mengaktifkan ‘apt-get source’
# deb-src http://raspbian.raspberrypi.org/raspbian/ buster contrib utama non-free rpi

Satu-satunya baris aktif (tidak dikomentari) di sini adalah yang pertama yaitu i.e .:

deb http://raspbian.raspberrypi.org/raspbian/ buster contrib utama rpi tidak bebas

Kita perlu memodifikasi baris ini jadi buka file dengan editor teks, di sini kita menggunakan nano:

$ sudo nano /etc/apt/sources.list

Ubah baris pertama sehingga terlihat seperti berikut:

deb http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian/ buster contrib utama non-free rpi

Apa yang Anda lakukan di sini adalah memasukkan 127.0.0.1:3142 ke dalam URL.

Alamat IP 127.0.0.1 selalu merupakan IP komputer lokal, sering disebut sebagai “localhost”. Bagian: 3142 menunjukkan port.

Simpan dan keluar dari nano dengan menekan CTRL + o, ENTER, CTRL + x.

Anda sekarang perlu melakukan perubahan yang sama ke file sumber di /etc/apt/sources.list.d/raspi.list.

apt dan apt-cacher-ng sekarang siap untuk pengujian.

Pengujian apt dengan apt-cacher-ng

Setiap kali Anda menjalankan apt itu akan menyimpan salinan file apa pun yang diunduh. apt melakukan ini sehingga tidak membuat unduhan yang tidak perlu dan juga untuk menyimpan salinan lokal dari arsip instalasi jika paket perlu diinstal ulang dan tidak ada internet hadir.

Caching lokal ini berarti bahwa apt tidak akan menghubungi proksi ketika Anda menjalankan pembaruan apt atau pembaruan apt jika repositori tidak berubah. Oleh karena itu, untuk menguji proxy, kita perlu menghapus cache apt secara manual. Perintah-perintah berikut ini akan menghapus semua paket cache yang di-cache:

$ sudo rm -rf / var / lib / apt / daftar /
$ sudo rm -rf / var / cache / apt / *

Sekarang uji coba dengan menjalankan pembaruan dan memeriksa untuk setiap kesalahan:

$ sudo apt pembaruan

Anda akan melihat beberapa baris output yang terlihat seperti:

Dapatkan: 1 http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]

URL yang memulai http://127.0.0.1:3142/ menunjukkan bahwa apt menerima file pembaruan dari apt-cacher-ng.

Anda juga dapat menonton file log apt-cacher-ng untuk kesalahan dengan menjalankan perintah ini:

$ tail -f /var/log/apt-cacher-ng/apt-cacher.log

di terminal kedua. Jika Anda tidak menemukan kesalahan, Anda dapat melanjutkan untuk mengkonfigurasi sistem Debian atau Ubuntu di jaringan lokal Anda.

Mengkonfigurasi Ubuntu atau Sistem Debian untuk menggunakan apt-cacher-ng

Sistem Debian atau Ubuntu di jaringan lokal Anda yang ingin Anda manfaatkan dari proxy apt-cacher-ng tidak memerlukan perangkat lunak tambahan yang diinstal. Yang perlu Anda lakukan adalah menulis ulang file sumber mereka sehingga mereka mengumpulkan semua pembaruan mereka dari apt-cacher-ng alih-alih menghubungi repositori secara langsung.

Perubahan yang Anda perlukan untuk membuat file sumber persis sama dengan edit yang Anda lakukan pada sumber pada Raspberry PI, kecuali bahwa Anda harus menggunakan alamat IP Raspberry PI di tempat 127.0.0.1.

Ini berarti bahwa Anda harus terlebih dahulu mendapatkan alamat IP Raspberry Pi Anda. Cara termudah untuk mendapatkan alamat IP Raspberry PI adalah dengan menjalankan perintah berikut di terminal pada Raspberry PI:

$ hostname -I

Ini akan mencetak alamat IP yang dimiliki Raspberry PI. Gunakan alamat IP IPv4 pertama. Di sini, saya akan menggunakan alamat contoh 192.168.0.2. Anda harus mengganti alamat IP Raspberry PI Anda.

Kembali ke mesin klien, buka file sumber utama menggunakan editor teks, di sini kami menggunakan nano:

$ sudo nano /etc/apt/sources.list

File ini akan berisi baris dengan format yang sama dengan yang ada di Raspberry PI’s /etc/apt/sources.list. Berikut ini contoh baris dari instalasi Debian Buster:

deb http://ftp.debian.org/debian buster main

Anda perlu mengedit garis-garis ini sebagai berikut menggunakan IP Raspberry PI Anda mis .:

deb http://192.168.0.2:3142/ftp.debian.org/debian buster main

Edit semua baris di /etc/apt/sources.list dan file sumber lain di bawah /etc/apt/sources.list.d/. Kemudian hapus semua file yang di-cache secara lokal untuk pengujian:

$ sudo rm -rf / var / lib / apt / daftar / *
$ sudo rm -rf / var / cache / apt / *

Perbarui sistem lagi:

$ sudo apt pembaruan
Upgrade $ sudo apt

Output dari apt harus menunjukkan bahwa file pembaruan berasal dari proxy apt-cacher-ng dengan mencetak baris seperti berikut ini yang berisi IP dari proxy:

Hit: 1 http://192.168.0.2:3142/ftp.debian.org/debian buster InRelease

Mesin ini sekarang sepenuhnya dikonfigurasikan untuk memanfaatkan proxy apt baru Anda. Anda perlu mengedit file sumber baru apa pun yang Anda tambahkan ke mesin ini di masa depan termasuk setiap baris baru yang ditambahkan untuk peningkatan distribusi.

APT melalui HTTPS

File sumber yang telah kita lihat sejauh ini semuanya menggunakan koneksi HTTP. Ini adalah keputusan disengaja desain oleh Debian dan Ubuntu karena arsip instalasi memiliki tanda tangan kriptografi internal yang menghentikan perusakan berbahaya. HTTPS tidak, oleh karena itu, menambahkan banyak keamanan tambahan sambil menambah beban teknis untuk memiliki sejumlah besar cermin yang beragam secara geografis.

Namun, ada beberapa keuntungan menggunakan HTTPS yang berarti beberapa, repositori tidak resmi, menggunakan HTTPS. apt-cacher-ng mendukung dua metode penanganan repositori HTTPS.

Yang pertama adalah meneruskan koneksi dari klien langsung ke server repositori. Ini memiliki konsekuensi yang disayangkan bahwa paket tidak di-cache oleh apt-cacher-ng. Jika Anda ingin menjalankan apt-cacher-ng dalam mode ini maka buka /etc/apt-cacher-ng/acng.conf dengan editor teks:

$ sudo nano /etc/apt-cacher-ng/acng.conf

Dan tambahkan baris berikut:

PassThroughPattern:. *

Ini mengkonfigurasi apt-cacher-ng untuk memungkinkan koneksi HTTPS melewati dari klien ke repositori.

Metode kedua adalah memodifikasi garis repositori di file sumber klien sehingga klien terhubung ke apt-cacher-ng melalui HTTP tetapi apt-cacher-ng kemudian akan terhubung ke repositori melalui HTTPS. Paket-paket tersebut akan diunduh ke apt-cacher-ng melalui HTTPS, kemudian mereka akan dikirim ke mesin klien melalui HTTP. apt-cacher-ng dapat melakukan cache paket dan kami tidak kehilangan manfaat dari HTTPS.

Baris sumber berikut adalah untuk mengakses repositori Docker melalui HTTPS:

deb [arch = amd64] https://download.docker.com/linux/debian buster stable

Ketika Anda mengedit garis HTTP Anda menambahkan 192.168.0.2:3142 ke dalam URL. Saat Anda mengedit baris HTTPS Anda perlu menambahkan 192.168.0.2:3142/HTTPS/// mis .:

deb [arch = amd64] http://192.168.1.67:3142/HTTPS///download.docker.com/linux/debian buster stable

Sekarang mesin klien akan meminta paket dari apt-cacher-ng via HTTP dan apt-cacher-ng akan mengunduh dan men-cache paket dari Docker melalui HTTPS.

Mengelola apt-cacher-ng

GUI web tersedia untuk mengelola apt-cacher-ng di jaringan lokal Anda. Untuk mengakses GUI ini, Anda harus mengarahkan browser Anda ke:

http: //: 3142 / acng-report.html

Mengganti contoh IP jaringan lokal, 192.168.0.2, memberi kita:

http://192.168.0.2:3142/acng-report.html

Bagian pertama, dan yang paling penting, dari GUI, “Transfer Statistics”, memberikan Anda informasi jumlah data yang diunduh dari repositori Vs data yang telah dilayani dari cache. Gambar berikut menunjukkan bagian GUI ini:

Bagian “Efisiensi cache” memberi tahu Anda tentang berapa banyak file yang disediakan oleh cache-nya dari Vs cache yang mana yang mem-bypass cache. “Hits” menunjukkan file yang dilayani oleh proxy dari cache dan “Misses” adalah file yang diunduh mesin proxy dari repositori dan ditambahkan ke cache.

Mengelola cache

File yang apt-cacher-ng unduh dan berfungsi untuk mesin klien di jaringan lokal Anda akan menjadi basi ketika pengembang menambahkan versi baru ke repositori. Ketika ini terjadi, basi ini apt-cacher-ng harus menghapusnya dari cache karena tidak diperlukan lagi dan menempati ruang pada drive Anda. The Raspberry PI Meninjau cache dan menghapus file basi secara otomatis.

Ketika Anda menginstal apt-cacher-ng Anda juga menginstal file cron di:

/etc/cron.daily/apt-cacher-ng

Ini dijalankan oleh cron setiap hari yang membersihkan cache untuk Anda.

Jika Anda ingin meninjau dan menghapus cache secara manual, maka Anda harus masuk ke GUI web dan klik tombol bertanda “Mulai Pindai dan / atau Kedaluwarsa”. Melakukan ini biasanya tidak perlu, tetapi Anda mungkin perlu melakukannya jika Anda memperbarui dari memperbarui repositori dengan cepat.

Anda sekarang memiliki proksi apt yang efisien yang akan meringankan beban jaringan pembaruan sistem yang besar dan berulang di kantor atau rumah Anda.

Tertarik menjelajahi Raspberry Pi, lihat kursus online ini.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map