Menambah dan mengelola repositori di CentOS / RHEL

Dalam repositori RHEL / CentOS standar (resmi), hanya sejumlah kecil paket dasar yang tersedia, dan terkadang mereka tidak menawarkan versi program terbaru. Namun, Anda dapat menggunakan repositori publik atau swasta pihak ketiga untuk menginstal versi baru program di Red Hat Enterprise Linux, CentOS, Oracle Linux, dan Scientific Linux. Dari repositori pihak ketiga yang paling umum, Remi dan EPEL dapat dibedakan. Pada artikel ini, kami akan mempertimbangkan fitur menghubungkan, mengelola dan menggunakan repositori tambahan menggunakan manajer paket YUM di CentOS 7.

Konten:

  • Menghubungkan repositori EPEL dan Remi ke CentOS
  • File konfigurasi repositori (* .repo)
  • Cara menonaktifkan repositori di CentOS?
  • Periksa pembaruan di repositori yang benar
  • Repositori paket populer lainnya untuk CentOS

Repositori adalah repositori yang diperbarui dari paket perangkat lunak rpm untuk Linux. Berbagai manajer paket dapat menggunakan repositori jaringan untuk menginstal dan memperbarui program..

Menghubungkan repositori EPEL dan Remi ke CentOS

Saat memasang sistem operasi (dalam contoh kami, ini adalah CentOS 7), repositori default diinstal. Anda dapat melihat daftar mereka dengan perintah berikut:

yum repolist

Seperti yang dapat Anda lihat di tangkapan layar, sistem ini memiliki 3 repositori yang diinstal - basis, ekstra, pembaruan.

Repositori dasar ini sudah cukup untuk membantu Anda mulai menginstal perangkat lunak dasar dan menginstal repositori tambahan.

Mari kita pertimbangkan cara menambahkan repositori tambahan di CentOS.

Mungkin repositori paling populer saat ini adalah EPEL.

EPEL (Paket Ekstra untuk Perusahaan Linux) adalah proyek repositori terbuka dan gratis yang disediakan oleh tim Fedora. Ini berisi paket-paket perangkat lunak tambahan berkualitas tinggi untuk distribusi Linux. Repositori ini menampung sejumlah besar paket mulai dari ftp-server, diakhiri dengan utilitas pemantauan sistem dan php. Ini adalah repositori sekunder yang paling populer. Penting untuk dicatat bahwa paket dari EPEL tidak bertentangan dengan paket CentOS / RHEL asli dan tidak menggantikannya.

Repositori EPEL di CentOS 7 sangat mudah dipasang (tidak seperti CentOS 6) melalui paket RPM (ini adalah cara termudah untuk menambahkan repositori):

yum instal rilis-epel

Setelah instalasi, repositori ini ditampilkan dalam daftar, bahkan tanpa manipulasi tambahan (membersihkan cache yum tidak diperlukan).

Untuk menghubungkan repositori Remi, jalankan perintah:

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Remi - repositori populer lainnya untuk CentOS. Ini berisi versi terbaru dari php, dan juga mysql. Itu dibuat oleh seorang pria bernama Remi Collet. Untuk menggunakan repositori ini, Epel harus diinstal pada sistem. Harap dicatat bahwa mungkin ada konflik antara paket dari repositori ini dan paket dari repositori dasar..

Jika tidak ada paket RPM untuk repositori yang diinginkan, Anda dapat menambahkannya dengan secara manual membuat file .repo konfigurasi di direktori /etc/yum.repos.d (lihat bagian selanjutnya).

Untuk memahami dari mana repositori paket spesifik diinstal pada sistem Anda, Anda dapat menampilkan daftar paket lengkap:

daftar yum diinstal

Seperti yang Anda lihat, untuk setiap paket itu ditunjukkan dari repositori mana itu diinstal (ada repositori dasar, pembaruan, epel dan anaconda pada scriptshot).

Anda dapat mendaftar paket yang tersedia untuk instalasi di repositori tertentu:

daftar epel yum repo-pkgs

File konfigurasi repositori (* .repo)

Semua file konfigurasi repositori terletak di direktori /etc/yum.repos.d/. Masuk file konfigurasi * .repo. File konfigurasi repositori biasanya berisi parameter berikut:

  • nama - nama repositori;
  • baseurl - tautan ke repositori (bisa berupa ftp: // alamat, http: // alamat, https: // alamat atau file: // alamat untuk repositori lokal);
  • diaktifkan - apakah akan menggunakan repositori ini: 1 - repositori terhubung, 0 - dinonaktifkan;
  • async - apakah akan menggunakan pemuatan paralel paket (otomatis / on / off);
  • gpgcheck - apakah akan melakukan verifikasi GPG (1 - cek);
  • gpgkey - tautan ke kunci GPG;
  • tidak termasuk - daftar paket yang dikecualikan;
  • termasuk kg - daftar paket yang disertakan;
  • mirrorlist - daftar mirror repositori.

Dalam kasus minimal, file repo mungkin terlihat seperti ini:

[rep_name] name = rep_name baseurl = rep_url

Sebagai contoh, setelah menghubungkan repositori REMII, beberapa file konfigurasi Remi (remi - *. Repo) akan muncul di direktori repositori.

Seperti yang Anda lihat, Remi memiliki file konfigurasi terpisah untuk setiap versi php. Anda perlu memasukkan versi yang Anda butuhkan dalam file konfigurasi, misalnya, saya akan memiliki php 7.3 di server saya, untuk ini saya mengaktifkan repositori khusus ini (saya tentukan diaktifkan = 1 dalam file remi-php73.repo):

Anda dapat menghubungkan repositori secara manual, untuk ini Anda perlu membuat file konfigurasi repositori di direktori /etc/yum.repos.d/. Hubungkan repositori MaruaDB.

nano /etc/yum.repos.d/mariadb.repo

Tambahkan data yang disediakan oleh pengembang paket MariaDB kepada kami:

[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos73-amd64/ gpgkey = https: //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck = 1 

Cara menonaktifkan repositori di CentOS?

Untuk memutuskan salah satu dari repositori yang terhubung, cukup tentukan dalam file konfigurasinya diaktifkan = 0.

Setelah itu, Anda perlu mengatur ulang cache di yum:

yum bersih semuanya

Dan buat lagi:

yum makecache

Sekarang ketika menginstal atau memperbarui paket, repositori remi-php73 tidak akan digunakan.

Jika Anda ingin repositori tertentu tidak hanya digunakan ketika menjalankan perintah pembaruan / instal paket saat ini, Anda dapat menonaktifkan repositori sebagai bagian dari permintaan yum, misalnya:

pembaruan yum -disablerepo = epel

Dalam contoh ini, kami menonaktifkan repositori EPEL dan memperbarui paket pada sistem..

Anda dapat menonaktifkan sementara semua kecuali repositori tertentu. Misalnya, untuk menginstal pembaruan hanya untuk paket-paket dari repositori MariaDB:

pembaruan yum --disablerepo "*" --enablerepo = mariadb

Untuk menghapus repositori, gunakan utilitas yum-config-manager, yang termasuk dalam paket yum-utils.

Instal yum-utils:

yum -y install yum-utils

Hapus repositori seperti remi:

yum-config-manager - remi yang bisa dihapus

Untuk menghapus repositori, Anda perlu menghapus file konfigurasinya dan memperbarui cache yum.

Periksa pembaruan di repositori yang benar

Kita dapat memeriksa apakah ada pembaruan paket di repositori yang diperlukan, sedikit keluar perintah dari paragraf terakhir:

yum periksa-perbarui --disablerepo "*" --enablerepo = mariadb

Dengan cara ini Anda dapat mengelola repositori yang terhubung di server. Perhatikan bahwa repositori yang berbeda mungkin berisi paket yang sama, dan ketika memutakhirkan Anda mungkin memiliki konflik versi. Karena itu, selalu biarkan diaktifkan hanya repositori yang bekerja dengan Anda..

Repositori paket populer lainnya untuk CentOS

MariaDB - seperti namanya, ini adalah repositori yang berisi paket-paket MariaDB. Repositori dibuat oleh pengembang MariaDB, dikelola dan terus diperbarui..

Untuk menginstal repositori ini ke dalam sistem, Anda perlu membuat file repo dengan isinya:

[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos73-amd64/ gpgkey = https: //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck = 1

Nginx - mirip dengan repositori sebelumnya, membawa paket yang terkait dengan server nginx httpd.

Dan menghubungkan repositori ini mirip dengan menghubungkan repositori MariaDB. Buat file .repo dan letakkan informasi ini di sana:

[nginx-stable] name = nginx stable repo baseurl = http: //nginx.org/packages/CentOS/$releasever/$basearch/ gpgcheck = 1 diaktifkan = 1 gpgkey = https: //nginx.org/keys/nginx_signing. kunci

Daftar repositori ini cukup untuk mengkonfigurasi apa yang disebut LAMP, dengan nginx diinstal sebagai server front-end.

Mungkin daftar repositori ini cukup untuk hampir setiap pengguna, saya akan memberikan beberapa contoh lebih atau kurang populer.

Webtatic - Repositori ini didukung oleh sejumlah spesialis, terutama Andy Thompson, yang berisi paket-paket yang terkait dengan php, tetapi kurang populer daripada Remi, dan saya kira alasannya. Pada saat penulisan, versi php terbaru dalam repositori ini adalah 7.2.

yum daftar webtatic repo-pkgs | grep php7

mod_php71w.x86_64 7.1.31-1.w7 webtatic mod_php72w.x86_64 7.2.21-1.w7 webtatic ~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ php72w-tidy.x86_64 7.2.21-1.w7 webtatic php72w-xml.x86_64 7.2.21-1.w7 webtatic php72w-xmlrpc.x86_64 7.2.21-1.w7 webtatic 

Untuk menghubungkan repositori ini, Anda perlu menginstal paket rpm:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

MySQL - baik, dan mungkin saya akan mengingatkan Anda tentang mysql. Saya tidak menginstal repositori ini bersama-sama dengan yang populer, karena menurut saya mysql sebagai server database telah memudar ke latar belakang dan pada dasarnya MariaDB diinstal pada server. TETAPI jika seseorang ingin menginstal persis mysql (misalnya, mysql diperlukan untuk Bitrix), Anda dapat menghubungkan repositori ini ke diri Anda sendiri. Misalnya, jika Anda ingin menghubungkan mysql 5.7:

Unduh paket:

wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Dan instal:

rpm -Uvh mysql57-komunitas-release-el7-9.noarch.rpm

Setelah instalasi, saya berkesempatan menginstal mysql:

Pada artikel ini, kami menunjukkan fitur mengelola repositori di CentOS dan memeriksa repositori yang berguna..