Ada banyak alasan mengapa Anda menginginkan repositori Red Hat Enterprise Linux lokal. Bandwidth adalah faktor utama karena mengunduh pembaruan dari Internet dapat memakan waktu dan bandwidth. Alasan lain mungkin karena server Anda tidak terhubung ke Internet dan karenanya perlu mendapatkan pembaruannya dari sumber lokal. Anda mungkin memiliki lingkungan pengembangan yang tidak ingin Anda keluarkan uang untuk lisensi tetapi masih perlu memperbarui. Apa pun alasan Anda, tutorial ini akan memandu Anda melalui proses penyiapan repositori lokal Anda.
Catatan:Server yang berfungsi sebagai repositori Anda seharusnya hanya berfungsi sebagai repositori.
Instal paket yang diperlukan untuk repositori
yum install yum-utils createrepo httpd
Buat direktori untuk repositori Anda
mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc
Perintah Bermanfaat
Cantumkan repo di server Anda yang diaktifkan dan dinonaktifkan.
yum repolist all
Cantumkan repo yang tersedia di langganan Anda
subscription-manager repos --list
Aktifkan repo di sistem Anda
subscription-manager repos --enable=rhel-6-server-optional-rpms
Nonaktifkan repo di sistem Anda
subscription-manager repos --disble=rhel-6-server-optional-rpms
Kami ingin server, dts, dan repositori rhsc (kumpulan perangkat lunak) diaktifkan di repositori
Sinkronkan Repos
Setelah semua repo ini diaktifkan, lakukan perintah berikut untuk semuanya mengubah download_path untuk masing-masing agar sesuai dengan download_path untuk repo itu.
reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata
Catatan:Repo server akan memakan waktu paling lama. Seperti sepanjang malam. Yang lain harus lebih pendek.
Membuat Perintah Repo
Setelah paket diunduh, yang diperlukan hanyalah perintah createrepo di bawah ini untuk setiap repo
createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml
Catatan:-g comps.xml hanya diperlukan untuk repo server.
Menyiapkan Server Klien
Sekarang Anda memiliki repositori lokal tetapi Anda perlu membuat beberapa perubahan pada server Red Hat Anda yang akan menggunakan repositori ini untuk pembaruan.
Pertama-tama pastikan bahwa semua repo lain memiliki flag yang diaktifkan yang disetel ke 0 (nol) di dalam file repo di /etc/yum.repos.d. Saya tidak akan menghapus repo untuk saat ini karena Anda mungkin membutuhkannya nanti. Cukup mengubah bendera yang diaktifkan sudah cukup.
Sekarang Anda perlu membuat file .repo yang akan ditambahkan ke direktori /etc/yum.repos.d di setiap server menggunakan repositori. File itu akan terlihat mirip dengan file berikut.
vi /etc/yum.repos.d/name_of_repo_file.repo
[server] name = rhel-6-server-rpms baseurl = http://hostname_or_ip_address_of_repository/rhel6/server gpgcheck = 0 enabled = 1 [dts] name = rhel-server-dts-6-rpms baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts gpgcheck = 0 enabled = 1 [dts2] name = rhel-server-dts2-6-rpms baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2 gpgcheck = 0 enabled = 1 [rhsc] name = rhel-server-dts2-6-rpms baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2 gpgcheck = 0 enabled = 1
Buat Script dan Cron Job untuk Memperbarui Repositori Anda
Buat skrip bernama update-repository.sh dan letakkan di /usr/local/bin dengan konten berikut:
vi /usr/local/bin/update-repository.sh
echo Update script started at $(date) >> /var/log/update-repository.log reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadata createrepo --update /var/www/html/rhel6/server/ reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadata createrepo --update /var/www/html/rhel6/dts/ \\ reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadata createrepo --update /var/www/html/rhel6/dts2/ echo Update script ended at $(date) >> /var/log/update-repository.log
chmod 600 /usr/local/bin/update-repository.sh
Perhatikan bahwa saya memasukkannya ke dalam log yang telah saya siapkan untuk dirotasi setiap bulan.
Buat file di /etc/cron.d dan beri nama update-repository dengan konten berikut.
vi /etc/cron.d/update-repository
@weekly root /usr/local/bin/update-repository.sh
Pemikiran Terakhir
Ada banyak cara berbeda untuk menyelesaikan pengaturan repositori lokal dan saya tentu saja tidak menemukan roda yang satu ini. Lihat sumber saya di bawah untuk informasi dan wawasan lebih lanjut untuk penyiapan Anda.
Sumber
- https://access.redhat.com/solutions/23016
- http://www.Oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.html
- https://www.howtoforge.com/creating_a_local_yum_repository_centos