Computer >> 컴퓨터 >  >> 체계 >> Linux

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

표준(공식) RHEL/CentOS 리포지토리는 항상 최신 버전의 프로그램을 포함하지 않는 소수의 기본 패키지를 제공합니다. 그러나 타사 공개 또는 비공개 리포지토리를 사용하여 Red Hat Enterprise Linux, CentOS, Oracle Linux 및 Scientific Linux에 새 프로그램을 설치할 수 있습니다. Remi 및 EPEL은 가장 인기 있는 타사 리포지토리입니다. 이 기사에서는 CentOS에서 yum(dnf) 패키지 관리자를 사용하여 추가 리포지토리를 설치, 관리 및 사용하는 방법을 살펴봅니다.

저장소는 Linux용 RPM 소프트웨어 패키지의 업데이트 가능한 저장소입니다. 다른 패키지 관리자는 네트워크 저장소를 사용하여 프로그램을 설치하고 업데이트할 수 있습니다.

CentOS에서 EPEL 및 Remi 리포지토리를 활성화하는 방법

OS(이 예에서는 CentOS 7)를 설치할 때 기본 리포지토리가 기본적으로 설치됩니다. 다음 명령을 사용하여 목록을 볼 수 있습니다.

yum repolist

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

스크린샷에서 볼 수 있듯이 시스템에는 기본 3개의 저장소가 설치되어 있습니다. , 기타 , 업데이트 . 기본 소프트웨어 및 추가 리포지토리 설치를 시작하기에 충분합니다.

CentOS에 추가 저장소를 설치하는 방법을 살펴보겠습니다.

EPEL은 오늘날 가장 인기 있는 저장소일 것입니다.

EPEL(Enterprise Linux용 추가 패키지) Fedora 팀에서 제공하는 개방형 무료 저장소 프로젝트입니다. 여기에는 Linux 배포판용 추가 소프트웨어의 고품질 패키지가 포함되어 있습니다. 이 저장소는 FTP 서버에서 PHP 및 시스템 모니터링 도구에 이르기까지 수많은 패키지를 호스팅합니다. 이것은 가장 인기 있는 저장소입니다. EPEL 패키지는 기본 CentOS/RHEL 패키지와 충돌하지 않으며 이를 대체하지 않는다는 점에 유의할 가치가 있습니다.

RPM 패키지를 사용하여 CentOS 7(CentOS 6과 달리)에 EPEL을 설치하는 것은 매우 쉽습니다(새 저장소를 추가하는 가장 쉬운 방법):

yum install epel-release

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

설치가 완료되면 리포지토리가 아무런 작업 없이 리포지토리 목록에 나타납니다(yum 캐시를 지울 필요가 없음).

CentOS에 Remi 저장소를 설치하려면 다음 명령을 실행하십시오.

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

레미 CentOS의 또 다른 인기 있는 저장소입니다. 최신 PHP 및 MySQL 버전이 포함되어 있습니다. 레미 콜레가 만들었습니다. 이 리포지토리를 사용하려면 OS에서 EPEL 리포지토리를 활성화해야 합니다. 일부 패키지는 기본 저장소의 패키지와 충돌할 수 있습니다.

필요한 저장소에 대한 RPM 패키지가 없는 경우 구성 파일 .repo를 만들어 추가할 수 있습니다. /etc/yum.repos.d에서 수동으로(다음 문서 섹션 참조).

패키지가 설치된 저장소를 이해하기 위해 전체 패키지 목록을 표시할 수 있습니다.

yum list installed

보시다시피 모든 패키지에는 설치된 저장소에 대한 정보가 있습니다(아래 스크린샷에는 base, update, epel 및 anaconda repos가 있습니다).

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

특정 리포지토리에 설치할 수 있는 패키지 목록을 표시할 수 있습니다.

yum repo-pkgs epel list

저장소 구성 파일(*.repo)

모든 저장소 구성 파일은 /etc/yum.repos.d/에 있습니다. *.repo 확대. 일반적인 구성 파일에는 다음 매개변수가 포함됩니다.

  • 이름 — 저장소 이름
  • baseurl — 리포지토리에 대한 링크(로컬 리포지토리의 경우 ftp://address, https://address, https://address 또는 file://address일 수 있음)
  • 사용 – 이 저장소를 사용해야 하는지 여부:1 — 저장소가 활성화됨, 0 — 저장소가 비활성화됨
  • 비동기 – 병렬 패키지 다운로드 사용 여부(자동/켜기/끄기)
  • gpgcheck – GPG 검사를 수행할지 여부(1 — 검사가 켜져 있음)
  • gpgkey — GPG 키에 대한 링크
  • 제외 — 제외된 패키지 목록
  • pkg 포함 — 포함된 패키지 목록
  • 미러리스트 – 저장소 미러 목록

가장 작은 repo 파일은 다음과 같습니다.

[rep_name]
name=rep_name
baseurl=rep_url

예를 들어, REMI 저장소를 설치한 후 일부 Remi(remi-*.repo) 구성 파일이 저장소 디렉토리에 나타납니다.

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

보시다시피 Remi에는 PHP 버전마다 별도의 구성 파일이 있습니다. 구성 파일을 통해 필요한 PHP 버전을 활성화해야 합니다. 예를 들어, 내 서버에 PHP 7.3이 설치되어 있으므로 해당 저장소를 활성화했습니다(지정한 enabled=1 remi-php73.repo에서 ):

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

저장소를 수동으로 연결할 수 있습니다. 그렇게 하려면 /etc/yum.repos.d/에 저장소 구성 파일을 만듭니다. MariaDB 리포지토리를 추가해 보겠습니다.

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

여기에 MariaDB 패키지 개발자가 제공한 데이터를 추가합니다.

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

CentOS에서 저장소를 비활성화하는 방법

설치된 저장소 중 하나를 비활성화하려면 enabled=0을 지정하는 것으로 충분합니다. 구성 파일에 있습니다.

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

그런 다음 yum 캐시를 정리합니다.

yum clean all

그리고 다시 만드세요:

yum makecache

그 이후에는 패키지를 설치하거나 업데이트할 때 remi-php73 repo가 ​​사용되지 않습니다.

현재 패키지 업데이트/설치 명령에 대해서만 저장소를 사용하지 않으려면 yum 명령에서 비활성화할 수 있습니다. 예:

yum update —disablerepo=epel

이 예에서는 EPEL을 비활성화하고 설치된 패키지를 업데이트했습니다.

필요하지 않은 모든 리포지토리를 일시적으로 비활성화할 수 있습니다. 예를 들어 MariaDB 저장소에서만 패키지를 업데이트하려면 다음 명령을 실행하십시오.

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

저장소를 비활성화하거나 제거하려면 yum-config-manager yum-utils 도구에 속한 도구를 사용합니다.

yum-utils 설치:

yum -y install yum-utils

저장소 비활성화(예:remi:

)

yum-config-manager --disable remi

저장소를 완전히 제거하려면 구성 파일을 제거하고 yum 캐시를 업데이트해야 합니다.

사용 가능한 패키지 업데이트가 있는지 저장소를 확인하는 방법

특정 저장소에서 사용 가능한 패키지 업데이트를 확인할 수 있습니다.

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

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

따라서 서버에서 연결된 저장소를 관리할 수 있습니다. 다른 리포지토리에 동일한 패키지가 포함될 수 있으며 업데이트 중에 버전 충돌이 발생할 수 있습니다. 따라서 작업 중인 저장소만 활성화된 상태로 두십시오.

CentOS 및 RHEL을 위한 인기 있는 타사 저장소

마리아DB repo는 이름으로 짐작할 수 있듯이 MariaDB 패키지를 포함합니다. 저장소는 MariaDB 개발자에 의해 생성되었으며 지속적으로 지원되고 업데이트됩니다.

시스템에 이 리포지토리를 설치하려면 다음 내용으로 .repo 파일을 만드십시오.

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

이전 저장소와 마찬가지로 Nginx nginx HTTPD 서버와 관련된 패키지를 포함합니다.

nginx repo를 설치하려면 .repo 파일을 만들고 여기에 다음 텍스트를 추가하세요.

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

이 저장소 목록은 nginx를 프런트 엔드 서버로 사용하여 소위 LAMP 스택을 구성하기에 충분합니다.

이 저장소 목록은 거의 모든 사용자에게 충분할 수 있지만 몇 가지 예를 더 들겠습니다.

웹타틱 제한된 수의 전문가가 지원하며 대부분 Andy Thompson입니다. 여기에는 PHP 관련 패키지가 포함되어 있지만 이 문서가 작성될 당시 이 저장소의 최신 PHP 버전이 7.2였기 때문에 Remi보다 덜 유명합니다.

yum repo-pkgs webtatic list | 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

저장소를 활성화하려면 다음 RPM 패키지를 설치하십시오.

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

MySQL 내가 상기시키고 싶은 것입니다. 데이터베이스 서버로서의 MySQL이 그 위치를 잃었다고 생각하기 때문에 나는 그것을 대중적인 것들과 함께 배치하지 않았습니다. MariaDB는 일반적으로 대신 서버에 설치됩니다. 그러나 누군가 MySQL을 설치하려는 경우 이 저장소를 활성화할 수 있습니다. 예를 들어, mysql 5.7을 설치하려고 합니다.

패키지 다운로드:

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

그리고 설치:

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

설치 후 MySQL을 설치할 수 있습니다.

CentOS/RHEL에서 리포지토리를 설치 및 구성하는 방법은 무엇입니까?

이 기사에서는 CentOS에서 저장소 관리의 일부 측면을 보여주고 몇 가지 유용한 저장소를 연구했습니다.