GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Server Repositori APT Lokal di Ubuntu 20.04

Salah satu alasan mengapa Anda dapat mempertimbangkan untuk menyiapkan server repositori apt lokal adalah untuk meminimalkan bandwidth yang diperlukan jika Anda memiliki beberapa instance Ubuntu untuk diperbarui. Ambil contoh situasi di mana Anda memiliki 20 atau lebih server yang semuanya perlu diperbarui dua kali seminggu. Anda dapat menghemat banyak bandwidth karena yang perlu Anda lakukan hanyalah memperbarui semua sistem Anda melalui LAN dari server repositori lokal Anda.

Dalam panduan ini, Anda akan mempelajari cara menyiapkan server repositori apt lokal di Ubuntu 20.04 LTS.

Prasyarat

  • Sistem Ubuntu 20.04 LTS
  • Server Web Apache
  • Minimal 170 GB ruang disk kosong di sistem file /var/www/html
  • Koneksi internet stabil

Langkah 1) Buat Server Web Apache lokal

Pertama, masuk ke Ubuntu 20.04 Anda dan atur server web Apache seperti yang ditunjukkan.

$ sudo apt install -y apache2

Aktifkan layanan Apache2 sehingga akan tetap ada selama reboot . Jalankan perintah berikut

$ sudo systemctl aktifkan apache2

Direktori root dokumen default Apache terletak di jalur /var/www/html. Nanti kita akan membuat direktori repositori di jalur ini yang akan berisi paket-paket yang dibutuhkan.

Langkah 2) Buat direktori repositori paket

Selanjutnya, kita akan membuat direktori repositori lokal bernama ubuntu di jalur /var/www/html.

$ sudo mkdir -p /var/www/html/ubuntu

Setel izin yang diperlukan pada direktori yang dibuat di atas.

$ sudo chown www-data:www-data /var/www/html/ubuntu

Langkah 3) Instal apt-mirror

Langkah selanjutnya adalah menginstal paket apt-mirror, setelah menginstal paket ini kita akan mendapatkan perintah atau alat apt-mirror yang akan mengunduh dan menyinkronkan paket debian jarak jauh ke repositori lokal di server kita. Jadi untuk menginstalnya, jalankan mengikuti

$ sudo apt update$ sudo apt install -y apt-mirror

Langkah 4) Konfigurasikan repositori untuk mencerminkan atau menyinkronkan

Setelah apt-mirror terinstal maka konfigurasinya '/etc/apt/mirrror.list' dibuat secara otomatis. File ini berisi daftar repositori yang akan diunduh atau disinkronkan di folder lokal server Ubuntu kami. Dalam kasus kami, folder lokal adalah ‘/var/www/html/ubuntu/’. Sebelum melakukan perubahan pada file ini mari kita backup terlebih dahulu.

$ sudo cp /etc/apt/mirror.list /etc/apt/mirror.list-bak

Sekarang edit file menggunakan editor vi dan perbarui base_path dan repositori seperti yang ditunjukkan di bawah ini.

$ sudo vi /etc/apt/mirror.list############ config ###################set base_path    / var/www/html/ubuntuset nthreads     20set _tilde 0############# end config #############deb http://archive.ubuntu.com /ubuntu fokus utama alam semesta terbatas \ multiversedeb http://archive.ubuntu.com/ubuntu fokus-keamanan utama terbatas \universe multiversedeb http://archive.ubuntu.com/ubuntu focal-updates utama terbatas \universe multiverseclean http:// archive.ubuntu.com/ubuntu

Simpan dan keluar dari file.

Jika Anda mungkin telah memperhatikan bahwa saya telah menggunakan repositori paket Ubuntu 20.04 LTS dan mengomentari repositori paket src karena saya tidak memiliki cukup ruang di sistem saya. Jika Anda ingin mengunduh atau menyinkronkan paket src juga, batalkan komentar pada baris yang dimulai dengan 'deb-src'.

Langkah 5) Mulai mirror repositori jarak jauh ke folder lokal

Sebelum memulai mirroring atau sinkronisasi, salin dulu skrip postmirror.sh ke folder /var/www/html/ubuntu/var menggunakan perintah cp di bawah ini.

$ sudo mkdir -p /var/www/html/ubuntu/var$ sudo cp /var/spool/apt-mirror/var/postmirror.sh /var/www/html/ubuntu/var

Sekarang, saatnya untuk mulai mencerminkan paket dari repositori jarak jauh ke folder lokal sistem kami. Jalankan di bawah ini:

$ sudo apt-mirror

Perintah di atas juga dapat dimulai di latar belakang menggunakan perintah nohup di bawah ini,

$ nohup sudo apt-mirror &

Untuk memantau kemajuan pencerminan, gunakan di bawah ini,

$ tail nohup.out

Di Ubuntu 20.04 LTS, apt-mirror melakukan sinkronisasi direktori CNF dan file-filenya, jadi kita harus mengunduh dan menyalin folder dan file-filenya secara manual. Jadi untuk menghindari mengunduh direktori CNF secara manual, buat skrip shell dengan konten di bawah ini,

$ vi cnf.sh#!/bin/bashfor p in "${1:-focal}"{,-{security,updates}}\/{main,restricted,universe,multiverse};do>&2 echo "${p}"wget ​​-q -c -r -np -R "index.html*"\ "http://archive.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-amd64. xz"wget ​​-q -c -r -np -R "index.html*"\ "http://archive.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-i386.xz"selesai 

simpan dan tutup skrip.

Jalankan skrip untuk mengunduh direktori CNF dan file-filenya.

$ chmod +x cnf.sh$ bash  cnf.sh

Script ini akan membuat folder dengan nama 'archive.ubuntu.com' di direktori kerja saat ini. Salin folder ini ke folder cermin,

$ sudo cp -av archive.ubuntu.com  /var/www/html/ubuntu/mirror/

Catatan : Jika kita tidak menyinkronkan direktori cnf maka pada mesin klien kita akan mendapatkan kesalahan berikut, jadi untuk mengatasi kesalahan ini kita harus membuat dan menjalankan skrip di atas.

E:Gagal mengambil http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal/restricted/cnf/Commands-amd64  404  Tidak Ditemukan [IP:169.144.104.219 80]E :Gagal mengambil http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal-updates/main/cnf/Commands-amd64  404  Tidak Ditemukan [IP:169.144.104.219 80]E:Gagal untuk mengambil http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal-security/main/cnf/Commands-amd64  404  Tidak Ditemukan [IP:169.144.104.219 80]

Menjadwalkan Sinkronisasi Repositori Otomatis

Konfigurasikan tugas cron untuk secara otomatis memperbarui repositori apt lokal kami. Disarankan untuk mengatur tugas cron ini di malam hari setiap hari.

Jalankan 'crontab -e' dan tambahkan perintah berikut untuk dijalankan setiap hari pada pukul 01:00 malam.

$ sudo crontab -e00 01 * * * /usr/bin/apt-mirror

Simpan dan tutup.

Catatan:Jika Firewall berjalan di Server Ubuntu maka izinkan port 80 menggunakan perintah berikut

$ sudo ufw izinkan 80

Langkah 6) Mengakses repositori APT Lokal melalui browser web

Untuk Mengakses repositori apt yang dikonfigurasi secara lokal melalui browser web, ketik URL berikut:

http:///ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/

Langkah 7) Konfigurasikan klien Ubuntu 20.04 untuk menggunakan server repositori apt lokal

Untuk menguji dan memverifikasi apakah server repositori apt kami berfungsi dengan baik atau tidak, saya memiliki sistem Ubuntu 20.04 lts lain di mana saya akan memperbarui file /etc/apt/sources.list sehingga perintah apt menunjuk ke repositori lokal alih-alih remote.

Jadi, login ke sistem, ubah yang berikut di sources.list

http://archive.ubuntu.com/ubuntutohttp://169.144.104.219/ubuntu/mirror/archive.ubuntu.com/ubuntu

Berikut '169.144.104.219' adalah Alamat IP dari server repositori apt saya, ganti alamat ip ini yang sesuai dengan lingkungan Anda.

Pastikan juga mengomentari semua repositori lain yang tidak dicerminkan di server repositori apt kami. Jadi, setelah melakukan perubahan pada file sources.list, akan terlihat seperti di bawah ini:

Sekarang Jalankan perintah 'apt update' untuk memverifikasi bahwa mesin klien mendapatkan pembaruan dari server repositori apt lokal kami,

$ sudo apt update

Sempurna, output di atas mengonfirmasi bahwa mesin klien berhasil terhubung ke repositori kami untuk mengambil paket dan pembaruan. Itu saja dari artikel ini, saya harap panduan ini membantu Anda untuk mengatur server repositori apt lokal di sistem Ubuntu 20.04.

Baca Juga :14 Contoh Perintah 'ls' yang Berguna di Linux


Ubuntu
  1. Pengaturan server WebDAV di Ubuntu Linux

  2. Cara Mengatur Server Rsyslog di Ubuntu 18.04 LTS

  3. 4 Langkah untuk Mengatur Repositori Lokal di Ubuntu menggunakan APT-mirror

  1. Cara mengatur repositori ISO lokal ubuntu Debian

  2. Cara Setup Server NTP di Ubuntu &LinuxMint

  3. Setup Rsyslog Server di Ubuntu 20.04 - Bagaimana cara melakukannya?

  1. Cara membuat server repositori Ubuntu

  2. Cara mengatur server OpenVPN di Ubuntu 20.04

  3. Cara Mengatur Server FTP dengan VSFTPD di Ubuntu 20.04