Cara Menyiapkan Repositori Http Yum Tempatan di CentOS 7

Cara Menyiapkan Repositori Http Yum Tempatan di CentOS 7

Repositori perisian ("repo"Pendek kata) adalah lokasi penyimpanan fail pusat untuk menyimpan dan mengekalkan pakej perisian, dari mana pengguna dapat mengambil pakej dan memasangnya di komputer mereka.

Repositori sering disimpan di pelayan di rangkaian contohnya Internet, yang boleh diakses oleh beberapa pengguna. Walau bagaimanapun, anda boleh membuat dan mengkonfigurasi repositori tempatan di komputer anda dan mengaksesnya sebagai pengguna tunggal atau membenarkan akses ke mesin lain pada anda Lan (Rangkaian Kawasan Tempatan).

Salah satu kelebihan menubuhkan repositori tempatan ialah anda tidak memerlukan sambungan internet untuk memasang pakej perisian.

Yum (Yellowdog Updater Modified) adalah alat pengurusan pakej yang digunakan secara meluas untuk Rpm (Pengurus Pakej Redhat) berdasarkan sistem linux, yang memudahkan pemasangan perisian Topi merah/centos Linux.

Dalam artikel ini, kami akan menerangkan cara menyediakan tempatan Yum repositori Http (Nginx) pelayan web dihidupkan CentOS 7 VPS dan juga menunjukkan kepada anda bagaimana untuk mencari dan memasang pakej perisian pada pelanggan Centos 7 Mesin.

Persekitaran ujian kami

Pelayan repositori yum http: Centos 7 [192.168.0.100] Mesin pelanggan: Centos 7 [192.168.0.101] 

Langkah 1: Pasang pelayan web nginx

1. Mula pertama dengan memasang pelayan HTTP Nginx dari repositori Epel menggunakan Pengurus Pakej Yum seperti berikut.

# yum pasang epel-release # yum pasang nginx 

2. Sebaik sahaja anda memasang pelayan web nginx, anda boleh memulakannya untuk kali pertama dan membolehkannya bermula secara automatik di boot sistem.

 # Systemctl Mula Nginx # Systemctl Dayakan Nginx # Systemctl Status Nginx 

3. Seterusnya, anda perlu membuka pelabuhan 80 dan 443 Untuk membenarkan trafik web ke perkhidmatan nginx, kemas kini peraturan firewall sistem untuk membenarkan paket masuk Http dan Https Menggunakan arahan di bawah.

# firewall-cmd --Zone = public --PerManent --Add-Service = http # firewall-cmd --zone = public --permanent --add-service = https # firewall-cmd--reload 

4. Sekarang anda boleh mengesahkan bahawa pelayan Nginx anda sedang berjalan dan menggunakan URL berikut; Sekiranya anda melihat laman web nginx lalai, semuanya baik -baik saja.

http: // server_domain_name_or_ip 
Halaman lalai nginx

Langkah 2: Buat repositori tempatan Yum

5. Dalam langkah ini, anda perlu memasang pakej yang diperlukan untuk membuat, mengkonfigurasi, dan menguruskan repositori tempatan anda.

# yum Pasang createrepo yum-utils 

6. Seterusnya, buat direktori yang diperlukan (repositori yum) yang akan menyimpan pakej dan maklumat yang berkaitan.

# mkdir -p/var/www/html/repos/asas, centosplus, tambahan, kemas kini 

7. Kemudian gunakan Reposync alat untuk menyegerakkan Centos Yum repositori ke direktori tempatan seperti yang ditunjukkan.

# reposync -g -l -d -m -repoid = base --newest -only --download -metadata --download_path =/var/www/html/repos/ # reposync -g -l -d -m - repoid = centosplus --dest -only --download -metadata --download_path =/var/www/html/repos/ # reposync -g -l -d -m -repoid = extras --dest -only --download- metadata ---download_path =/var/www/html/repos/ # repoSync -g -l -d -m -repoid = kemas kini --dest -only --download -metadata --download_path =/var/www/html/ repos/ 
Output sampel
Plugin yang dimuatkan: fastestmirror, langpacks Memuatkan kelajuan cermin dari Hostfile Cached * Base: Cermin.Fibergrid.di * epel: cermin.Xeonbd.com * tambahan: cermin.Fibergrid.Dalam * kemas kini: cermin.Fibergrid.Dalam asas/7/x86_64/kumpulan | 891 kb 00:00:02 Tiada metadata presto tersedia untuk pangkalan (1/9911): 389-ds-base-snmp-1.3.7.5-18.EL7.x86_64.RPM | 163 kb 00:00:02 (2/9911): 389-ds-base-devel-1.3.7.5-18.EL7.x86_64.RPM | 267 kb 00:00:02 (3/9911): Electricfence-2.2.2-39.EL7.i686.RPM | 35 kb 00:00:00 (4/9911): Electricfence-2.2.2-39.EL7.x86_64.RPM | 35 kb 00:00:00 (5/9911): 389-ds-base-libs-1.3.7.5-18.EL7.x86_64.RPM | 695 KB 00:00:04 (6/9911): GCONF2-DEVEL-3.2.6-8.EL7.i686.RPM | 110 kb 00:00:00 (7/9911): GCONF2-DEVEL-3.2.6-8.EL7.x86_64.RPM | 110 kb 00:00:00 (8/9911): gconf2-3.2.6-8.EL7.i686.RPM | 1.0 MB 00:00:06 

Dalam arahan di atas, pilihan:

  • -g - Membolehkan mengeluarkan pakej yang gagal pemeriksaan tandatangan GPG setelah memuat turun.
  • -L - membolehkan sokongan plugin yum.
  • -d - membolehkan pemadaman pakej tempatan tidak lagi hadir di repositori.
  • -m - Membolehkan memuat turun comps.XML fail.
  • --repoid - Menentukan ID repositori.
  • --Terkini sahaja - Beritahu Reposync untuk hanya menarik versi terkini setiap pakej di repos.
  • --muat turun-metadata - membolehkan memuat turun semua metadata bukan lalai.
  • --muat turun_path - Menentukan jalan untuk memuat turun pakej.

8. Seterusnya, periksa kandungan direktori tempatan anda untuk memastikan semua pakej telah disegerakkan secara tempatan.

# ls -l/var/www/html/repos/asas/ # ls -l/var/www/html/repos/bungkusan/pakej/ # ls -l/var/www/html/repos/centosplus/ # ls - l/var/www/html/repos/centosplus/pakej/ # ls -l/var/www/html/repos/extras/ # ls -l/var/www/html/repos/extras/bungkusan/ # ls -l -l /var/www/html/repos/kemas kini/ # ls -l/var/www/html/repos/kemas kini/pakej/ 

9. Sekarang buat repodata baru untuk repositori tempatan dengan menjalankan perintah berikut, di mana bendera -g digunakan untuk mengemas kini maklumat kumpulan pakej menggunakan yang ditentukan .XML fail.

# createrepo -g comps.XML/VAR/WWW/HTML/REPOS/BASE/ # CREATEREPO -G COMPS.xml/var/www/html/repos/centosplus/ # createrepo -g comps.xml/var/www/html/repos/extras/ # createrepo -g comps.xml/var/www/html/repos/kemas kini/ 

10. Untuk membolehkan melihat repositori dan pakej di dalamnya, melalui pelayar web, buat blok pelayan nginx yang menunjuk kepada akar repositori anda seperti yang ditunjukkan.

# vim/etc/nginx/conf.d/repos.Conf 

Tambahkan fail konfigurasi berikut repos.Conf.

pelayan mendengar 80; Repos server_name.ujian.makmal; Ujian #Change.makmal ke root domain sebenar/var/www/html/repos; lokasi / indeks indeks.Indeks PHP.Indeks HTML.htm; Autoindex ON; #Inable Penyenaraian Indeks Direktori 

Simpan fail dan tutupnya.

11. Kemudian mulakan semula pelayan nginx anda dan lihat repositori dari pelayar web menggunakan url berikut.

http: // repos.ujian.makmal 
Lihat repositori yum tempatan

Langkah 3: Buat pekerjaan Cron untuk menyegerakkan dan membuat repositori

12. Seterusnya, tambahkan pekerjaan cron yang akan menyegerakkan repos tempatan anda secara automatik dengan repos rasmi CentOS untuk merebut kemas kini dan patch keselamatan.

# vim /etc /cron.harian/kemas kini-localrepos 

Tambahkan arahan ini dalam skrip.

#!/bin/bash ## Tentukan semua repositori tempatan dalam pembolehubah tunggal local_repos = "Base Centosplus Extras Updates" ## Loop untuk mengemas kini repos satu pada masa untuk repo dalam $ local_repos; Adakah reposync -g -l -d -m -repoid = $ repo --dest -only --download -metadata --download_path =/var/www/html/repos/createrepo -g comps.XML/VAR/WWW/HTML/REPOS/$ REPO/DONE 

Simpan skrip dan tutupnya dan tetapkan keizinan yang sesuai di atasnya.

# chmod 755 /etc /cron.harian/kemas kini-localrepos 

Langkah 4: Setup repositori yum tempatan pada mesin pelanggan

13. Sekarang di anda Centos mesin pelanggan, tambahkan repos tempatan anda ke konfigurasi yum.

# vim /etc /yum.repos.D/Local-Repos.repo 

Salin dan tampal konfigurasi di bawah dalam fail Repos tempatan.repo (buat perubahan di mana perlu).

[Local-base] Nama = Centos Base BaseUrl = http: // repos.ujian.makmal/asas/gpgcheck = 0 enabled = 1 [local-centosplus] name = centos centosplus baseUrl = http: // repos.ujian.makmal/centosplus/gpgcheck = 0 enabled = 1 [local-extras] name = centos extras baseUrl = http: // repos.ujian.LAB/EXTRAS/GPGCHECK = 0 Enabled = 1 [Local-Updates] Name = CentOS UPDATE BASEURL = http: // repos.ujian.makmal/ kemas kini/ gpgcheck = 0 enabled = 1 

Simpan fail dan mula menggunakan cermin yum tempatan anda.

14. Seterusnya, jalankan arahan berikut untuk melihat repos tempatan anda dalam senarai repos yum yang ada, di mesin pelanggan.

# yum repolist atau # yum repolist semua 
Lihat repositori yum tempatan pada pelanggan

Itu sahaja! Dalam artikel ini, kami telah menjelaskan bagaimana untuk menubuhkan repositori Yum tempatan di CentOS 7. Kami harap anda dapati panduan ini berguna. Sekiranya anda mempunyai sebarang pertanyaan, atau sebarang pemikiran lain untuk dikongsi, gunakan borang komen di bawah.