Dodawanie repozytoriów i zarządzanie nimi w CentOS / RHEL

W standardowych (oficjalnych) repozytoriach RHEL / CentOS dostępna jest tylko niewielka liczba podstawowych pakietów, a czasem nie oferują one najnowszych wersji programów. Możesz jednak używać publicznych lub prywatnych repozytoriów innych firm do instalowania nowych wersji programów w systemach Red Hat Enterprise Linux, CentOS, Oracle Linux i Scientific Linux. Spośród najpopularniejszych repozytoriów stron trzecich można wyróżnić Remi i EPEL. W tym artykule rozważymy funkcje łączenia, zarządzania i używania dodatkowych repozytoriów za pomocą menedżera pakietów YUM w CentOS 7.

Treść

  • Łączenie repozytoriów EPEL i Remi z CentOS
  • Pliki konfiguracyjne repozytorium (* .repo)
  • Jak wyłączyć repozytorium w CentOS?
  • Sprawdź dostępność aktualizacji w odpowiednim repozytorium
  • Inne popularne repozytoria pakietów dla CentOS

Repozytorium to zaktualizowane repozytorium pakietów oprogramowania rpm dla systemu Linux. Różni menedżerowie pakietów mogą używać repozytoriów sieciowych do instalowania i aktualizowania programów..

Łączenie repozytoriów EPEL i Remi z CentOS

Podczas instalacji systemu operacyjnego (w naszym przykładzie jest to CentOS 7), instalowane są domyślne repozytoria. Możesz wyświetlić ich listę za pomocą następującego polecenia:

mniam repolist

Jak widać na zrzucie ekranu, system ma zainstalowane 3 repozytoria - podstawową, dodatki, aktualizacje.

Te podstawowe repozytoria wystarczą, aby rozpocząć instalowanie podstawowego oprogramowania i instalowanie dodatkowych repozytoriów.

Zastanówmy się, jak dodać dodatkowe repozytoria w CentOS.

Być może najbardziej popularnym obecnie repozytorium jest EPEL.

EPEL (Extra Packages for Enterprise Linux) to otwarty i darmowy projekt repozytorium dostarczony przez zespół Fedory. Zawiera wysokiej jakości pakiety dodatkowego oprogramowania dla dystrybucji Linuksa. To repozytorium zawiera ogromną liczbę pakietów, poczynając od serwerów ftp, a kończąc na php i narzędziach do monitorowania systemu. To najpopularniejsze repozytorium wtórne. Należy zauważyć, że pakiety z EPEL nie powodują konfliktów z natywnymi pakietami CentOS / RHEL i nie zastępują ich.

Repozytorium EPEL w CentOS 7 jest bardzo proste do zainstalowania (w przeciwieństwie do CentOS 6) poprzez pakiet RPM (jest to najprostszy sposób na dodanie repozytorium):

mniam zainstalować epel-release

Po instalacji to repozytorium jest wyświetlane na liście, nawet bez dodatkowych manipulacji (wyczyszczenie pamięci podręcznej yum nie jest wymagane).

Aby połączyć repozytorium Remi, uruchom polecenie:

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

Remi - inne popularne repozytorium dla CentOS. Zawiera najnowsze wersje php, a także mysql. Został stworzony przez mężczyznę o imieniu Remi Collet. Aby korzystać z tego repozytorium, Epel musi być zainstalowany w systemie. Pamiętaj, że mogą wystąpić konflikty między pakietami z tego repozytorium a pakietami z podstawowych repozytoriów..

Jeśli dla żądanego repozytorium nie ma pakietu RPM, można go dodać, ręcznie tworząc plik .repo konfiguracji w katalogu /etc/yum.repos.d (patrz następna sekcja).

Aby zrozumieć, z których repozytoriów są zainstalowane określone pakiety w systemie, możesz wyświetlić pełną listę pakietów:

zainstalowana lista mniam

Jak widać, dla każdego pakietu jest wskazane, z którego repozytorium jest zainstalowane (na skrypcie znajdują się repozytoria podstawowe, aktualizacyjne, epel i anakonda).

Możesz wyświetlić listę pakietów dostępnych do instalacji w określonym repozytorium:

mniam repo-pkgs lista epel

Pliki konfiguracyjne repozytorium (* .repo)

Wszystkie pliki konfiguracyjne repozytorium znajdują się w katalogu /etc/yum.repos.d/. W plik konfiguracyjny * .repo. Typowy plik konfiguracyjny repozytorium zawiera następujące parametry:

  • imię - nazwa repozytorium;
  • baseurl - link do repozytorium (może to być ftp: // adres, http: // adres, https: // adres lub plik: // adres lokalnego repozytorium);
  • włączone - czy korzystać z tego repozytorium: 1 - repozytorium jest połączone, 0 - wyłączone;
  • asynchronizacja - czy korzystać z równoległego ładowania pakietów (auto / on / off);
  • gpgcheck - czy przeprowadzić weryfikację GPG (1 - sprawdź);
  • gpgkey - link do klucza GPG;
  • wykluczyć - lista wykluczonych pakietów;
  • w tym paczki - lista dołączonych pakietów;
  • lista kopii lustrzanych - lista kopii lustrzanych repozytorium.

W minimalnym przypadku plik repo może wyglądać następująco:

[nazwa_powrotu] nazwa = nazwa_populacji baseurl = nazwa_powrotu

Na przykład po podłączeniu repozytorium REMII kilka plików konfiguracyjnych Remi (remi - *. Repo) pojawi się w katalogu repozytorium.

Jak widać, Remi ma osobny plik konfiguracyjny dla każdej wersji php. Musisz dołączyć potrzebną wersję do pliku konfiguracyjnego, na przykład będę miał php 7.3 na moim serwerze, w tym celu włączyłem to konkretne repozytorium (określiłem włączone = 1 w pliku remi-php73.repo):

Możesz podłączyć repozytorium ręcznie, w tym celu musisz utworzyć plik konfiguracyjny repozytorium w katalogu /etc/yum.repos.d/. Połącz repozytorium MaruaDB.

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

Dodaj do tego dane, które udostępnia nam twórca pakietu MariaDB:

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

Jak wyłączyć repozytorium w CentOS?

Aby odłączyć jedno z połączonych repozytoriów, po prostu określ w jego pliku konfiguracyjnym włączone = 0.

Następnie musisz zresetować pamięć podręczną w yum:

mniam wszystko

I odtwórz go ponownie:

mniam makecache

Teraz podczas instalowania lub aktualizowania pakietów repozytorium remmi-php73 nie będzie używane.

Jeśli chcesz, aby określone repozytorium nie było używane tylko podczas wykonywania bieżącej komendy aktualizacji / instalacji pakietu, możesz wyłączyć repozytorium w ramach zapytania yum, na przykład:

mniam aktualizacja -disablerepo = epel

W tym przykładzie wyłączyliśmy repozytorium EPEL i zaktualizowaliśmy pakiety w systemie..

Możesz tymczasowo wyłączyć wszystkie repozytoria oprócz określonych. Na przykład, aby zainstalować aktualizacje tylko dla pakietów z repozytorium MariaDB:

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

Aby usunąć repozytoria, użyj narzędzia yum-config-manager, które jest zawarte w pakiecie yum-utils.

Zainstaluj yum-utils:

mniam -y instaluj mniam-utils

Usuń repozytorium jak remi:

yum-config-manager - wyłącz remis

Aby całkowicie usunąć repozytorium, musisz usunąć jego pliki konfiguracyjne i zaktualizować pamięć podręczną yum.

Sprawdź dostępność aktualizacji w odpowiednim repozytorium

Możemy sprawdzić, czy w niezbędnym repozytorium są jakieś aktualizacje pakietów, trochę z polecenia z ostatniego akapitu:

mniam check-update --disablerepo "*" --enablerepo = mariadb

W ten sposób możesz zarządzać połączonymi repozytoriami na serwerze. Pamiętaj, że różne repozytoria mogą zawierać te same pakiety, a podczas aktualizacji może wystąpić konflikt wersji. Dlatego zawsze pozostawiaj włączone tylko te repozytoria, z którymi pracujesz..

Inne popularne repozytoria pakietów dla CentOS

MariaDB - jak sama nazwa wskazuje, jest to repozytorium zawierające pakiety MariaDB. Repozytorium zostało utworzone przez programistów MariaDB, jest utrzymywane i stale aktualizowane..

Aby zainstalować to repozytorium w systemie, musisz utworzyć plik repozytorium z zawartością:

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

Nginx - podobnie jak poprzednie repozytorium, przenosi pakiety związane z serwerem httpd nginx.

A podłączenie tego repozytorium jest podobne do podłączenia repozytorium MariaDB. Utwórz plik .repo i umieść tam te informacje:

[nginx-stable] name = stabilne repozytorium nginx baseurl = http: //nginx.org/packages/CentOS/$releasever/$basearch/ gpgcheck = 1 włączone = 1 gpgkey = https: //nginx.org/keys/nginx_signing. klucz

Ta lista repozytoriów wystarcza do skonfigurowania tak zwanego LAMP, z nginx zainstalowanym jako serwer front-end.

Być może ta lista repozytoriów jest wystarczająca dla prawie każdego użytkownika, podam jeszcze kilka przykładów mniej lub bardziej popularnych.

Webtatic - To repozytorium jest obsługiwane przez ograniczoną liczbę specjalistów, głównie Andy'ego Thompsona, zawiera pakiety związane z php, ale mniej popularne niż Remi, i chyba dlaczego. W chwili pisania tego tekstu najnowsza wersja php w tym repozytorium miała 7.2.

mniam repo-pkgs lista stron | 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 

Aby podłączyć to repozytorium, musisz zainstalować pakiet rpm:

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

MySQL - no i może przypomnę ci mysql. Nie zainstalowałem tego repozytorium razem z popularnymi, ponieważ moim zdaniem mysql jako serwer bazy danych zniknął w tle i zasadniczo MariaDB jest zainstalowany na serwerach. ALE jeśli ktoś chce zainstalować dokładnie mysql (na przykład mysql jest potrzebny dla Bitrix), możesz podłączyć to repozytorium do siebie. Na przykład, jeśli chcesz połączyć mysql 5.7:

Pobierz pakiet:

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

I zainstaluj:

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

Po instalacji miałem okazję zainstalować mysql:

W tym artykule pokazaliśmy funkcje zarządzania repozytoriami w CentOS i sprawdziliśmy przydatne repozytoria..