CentOS 7/8 Yum 설치 및 설정 완벽 가이드 2025년 최신 정보 보기

CentOS 서버 환경에서 패키지 관리를 위해 필수적인 도구인 Yum(Yellowdog Updater, Modified)의 설치 및 설정 방법을 2025년 최신 정보를 반영하여 자세히 안내합니다. CentOS 7과 CentOS 8(또는 후속 버전인 Rocky Linux/AlmaLinux) 환경 모두에서 안정적으로 패키지를 관리할 수 있도록 기본적인 설치부터 자주 발생하는 문제 해결 방안까지 다룹니다.

Yum은 Red Hat 계열 리눅스 배포판에서 사용되는 강력한 패키지 관리 시스템으로, 의존성 문제를 자동으로 해결하며 소프트웨어 패키지를 쉽게 설치, 업데이트, 제거할 수 있도록 도와줍니다. 서버 운영 및 관리에 있어 필수적인 지식이므로, 이 가이드를 통해 완벽하게 숙지하시길 바랍니다.

CentOS 8부터는 Yum 대신 DNF(Dandified Yum)가 기본 패키지 관리자로 사용되지만, DNF는 Yum과 명령어 사용법이 거의 동일하며 호환성을 위해 yum 명령어를 사용해도 DNF가 실행되도록 설정되어 있습니다. 따라서 이 가이드에서는 두 버전 모두 ‘Yum’이라는 용어를 포괄적으로 사용하여 설명합니다.

CentOS 7/8 Yum 설치 전 시스템 환경 확인하기

Yum을 사용하기 전에 서버의 기본적인 네트워크 연결 상태와 운영체제 버전을 확인하는 것이 중요합니다. 특히 패키지 저장소(Repository)에 접근하기 위해서는 안정적인 인터넷 연결이 필수입니다. 서버에 로그인하여 다음 명령어를 통해 환경을 점검해 보세요.

먼저, 현재 사용하고 있는 리눅스 배포판 및 버전을 확인합니다.

cat /etc/redhat-release

다음으로, 인터넷 연결 상태를 확인합니다. 외부 도메인으로의 핑(ping) 테스트를 통해 네트워크 연결이 정상적인지 확인합니다. 예를 들어, 구글 서버로 테스트할 수 있습니다.

ping -c 4 https://www.google.com/search?q=google.com

만약 핑 테스트가 실패한다면, 서버의 네트워크 설정(IP 주소, 게이트웨이, DNS 설정 등)을 먼저 점검하고 수정해야 합니다. CentOS 8 환경의 경우, CentOS 프로젝트 종료 후 Rocky Linux나 AlmaLinux로 마이그레이션이 권장되었기 때문에, 이들 OS에서의 Yum/DNF 사용법도 동일하게 적용됩니다.

마지막으로, 기존 Yum 캐시를 정리하여 최신 상태를 유지할 수 있습니다. 이미 Yum이 설치되어 있는 경우에 유용합니다.

yum clean all

CentOS 7 환경에서 Yum 저장소(Repository) 설정 상세 더보기

CentOS 7은 기본적으로 Yum을 사용하며, 설치 직후에는 공식 저장소 설정 파일이 존재합니다. 하지만 시간이 지남에 따라 공식 미러 서버의 속도가 느려지거나 접속에 문제가 생길 수 있으므로, 국내 미러 서버로 변경하는 것이 패키지 설치 속도를 높이는 좋은 방법입니다. 주로 KAIST나 네이버 클라우드 등의 미러 서버를 많이 사용합니다.

기존 저장소 백업

저장소 설정 파일을 수정하기 전에 항상 원본 파일을 백업하는 것이 안전합니다. 저장소 설정 파일은 /etc/yum.repos.d/ 디렉토리에 위치합니다.

cd /etc/yum.repos.d/ sudo mv CentOS-Base.repo CentOS-Base.repo.bak

새로운 저장소 설정 파일 생성 및 적용 (국내 미러)

미러 사이트에서 제공하는 새로운 .repo 파일을 다운로드하거나 직접 생성하여 내용을 붙여넣습니다. 아래는 KAIST 미러를 예시로 든 설정 파일 내용의 일부입니다.

sudo vi CentOS-Base.repo

파일 내용에 다음을 추가합니다. (버전에 따라 baseurl 부분을 알맞게 수정해야 합니다)

[base] name=CentOS-$releasever - Base - mirrors.kaist.ac.kr baseurl=http://ftp.kaist.ac.kr/pub/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ... (나머지 updates, extras 등 섹션도 동일하게 변경)

파일 저장 후, Yum 캐시를 정리하고 업데이트를 시도하여 변경 사항이 적용되었는지 확인합니다.

sudo yum clean all sudo yum update -y

CentOS 8 (또는 Rocky/AlmaLinux) DNF/Yum 활용 방법 보기

CentOS 8부터는 패키지 관리자로 DNF(Dandified Yum)가 도입되었으며, 이는 Yum의 차세대 버전입니다. DNF는 의존성 해결 알고리즘 개선, 더 빠른 속도, 더 쉬운 명령줄 인터페이스 등의 장점을 가지고 있습니다. CentOS 8은 공식 지원이 종료되었지만, Rocky Linux나 AlmaLinux와 같은 후속 배포판에서도 동일하게 DNF를 사용하며, yum 명령어를 사용해도 DNF가 실행됩니다.

AppStream 및 BaseOS 저장소 활용

CentOS 8 계열에서는 저장소 구조가 BaseOS와 AppStream으로 나뉘었습니다. BaseOS는 핵심 운영체제 기능에 필요한 패키지를 포함하며, AppStream은 사용자 공간 애플리케이션, 런타임 언어, 데이터베이스 등을 포함합니다. 대부분의 경우 기본 설정으로 잘 작동하지만, dnf repolist 명령어로 현재 활성화된 저장소를 확인할 수 있습니다.

dnf repolist

자주 사용하는 DNF/Yum 명령어

Yum과 DNF 명령어는 대부분 동일하게 사용할 수 있습니다.

기능 Yum/DNF 명령어
패키지 설치 sudo yum install [패키지명]
패키지 제거 sudo yum remove [패키지명]
시스템 전체 업데이트 sudo yum update (또는 dnf upgrade)
패키지 검색 yum search [키워드]
패키지 정보 확인 yum info [패키지명]

가장 중요한 것은 정기적인 시스템 업데이트를 통해 보안 취약점을 해결하는 것입니다. sudo yum update -y 명령어를 사용하여 주기적으로 시스템을 최신 상태로 유지하세요.

추가 Yum/DNF 저장소(EPEL, Remi 등) 활성화 및 관리 확인하기

기본 저장소 외에도 더 많은 소프트웨어 패키지를 설치해야 할 때가 있습니다. 이 경우 EPEL(Extra Packages for Enterprise Linux)과 같은 추가 저장소를 활성화해야 합니다. EPEL은 Red Hat 엔터프라이즈 리눅스 계열 시스템을 위한 고품질 추가 패키지를 제공하는 프로젝트입니다.

EPEL 저장소 설치 및 활성화 (CentOS 7/8 공통)

EPEL 저장소는 다음 명령어로 쉽게 설치할 수 있습니다.

sudo yum install epel-release -y

설치 후에는 dnf repolist 또는 yum repolist 명령어를 통해 ‘epel’ 저장소가 목록에 추가되고 활성화되었는지 확인합니다.

Remi 저장소 활성화 (PHP 버전 관리 시 유용)

Remi 저장소는 최신 버전의 PHP, MySQL 등 개발 관련 패키지를 제공할 때 주로 사용됩니다. 특정 버전의 소프트웨어가 필요할 때 유용하며, EPEL 설치가 선행되어야 합니다.

sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y # CentOS 8 계열
또는 CentOS 7 계열:
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

Remi 저장소는 기본적으로 비활성화되어 있으며, 사용할 패키지를 명시적으로 활성화해야 합니다. 예를 들어, PHP 8.2를 설치하고 싶다면 다음과 같이 모듈을 활성화합니다.

sudo dnf module reset php sudo dnf module enable php:remi-8.2 sudo dnf install php php-cli php-fpm

Yum/DNF 설치 및 사용 시 발생 가능한 문제 해결 보기

Yum/DNF 사용 중 가장 흔하게 발생하는 문제는 ‘미러 접속 불가’, ‘저장소 오류’, ‘의존성 충돌’ 등입니다. 다음은 이러한 문제를 해결하는 일반적인 방법입니다.

1. GPG 키 에러 해결

패키지의 무결성을 확인하는 GPG(GNU Privacy Guard) 키가 없거나 만료되면 에러가 발생할 수 있습니다. 이 경우, 해당 저장소의 GPG 키를 수동으로 가져와야 합니다. 예를 들어 EPEL 키가 없으면 다음과 같이 가져올 수 있습니다.

sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 # CentOS 7 예시

2. ‘Could not retrieve mirrorlist’ 에러 (미러 접속 문제)

이 에러는 주로 DNS 문제, 네트워크 연결 끊김, 또는 저장소 URL 변경으로 인해 발생합니다. 다음 조치들을 순서대로 시도해 보세요.

  • 네트워크 연결 상태 재확인 (ping https://www.google.com/search?q=google.com)
  • DNS 설정 확인 (cat /etc/resolv.conf)
  • /etc/yum.repos.d/ 파일에서 mirrorlist= 줄을 주석 처리하고 baseurl= 줄을 직접적이고 안정적인 미러 URL로 변경해봅니다. (위의 국내 미러 변경 방법 참조)
  • yum clean all 명령으로 캐시를 정리합니다.

3. 의존성 충돌 해결 (DNF의 강점)

여러 저장소에서 동일한 패키지의 다른 버전을 제공할 때 의존성 충돌이 발생할 수 있습니다. DNF는 이러한 문제를 Yum보다 잘 처리하며, dnf distro-sync 명령어를 사용하여 설치된 패키지를 저장소와 일치시키도록 시도해 볼 수 있습니다. 또한, 특정 패키지를 설치할 때 --skip-broken 옵션을 사용하여 깨진 의존성을 건너뛸 수도 있습니다.

sudo dnf --skip-broken install [패키지명]

이러한 문제 해결 단계를 통해 대부분의 Yum/DNF 관련 문제를 해결하고, 안정적인 서버 환경을 유지할 수 있습니다. 정기적인 Yum 캐시 정리와 저장소 파일 백업은 서버 관리의 기본입니다.

자주 묻는 질문 (FAQ)

Q1: CentOS 7에서 DNF를 사용할 수 있나요?

A: CentOS 7의 기본 패키지 관리자는 Yum이지만, DNF는 EPEL 저장소를 통해 설치할 수 있습니다. 설치 후 dnf 명령어를 사용할 수 있지만, 시스템의 안정성을 위해 기본적으로는 yum을 사용하는 것이 권장됩니다. CentOS 8 이상에서는 DNF가 기본이며 yum 명령어도 DNF를 호출합니다.

Q2: Yum과 DNF의 가장 큰 차이점은 무엇인가요?

A: 가장 큰 차이점은 의존성 해결 알고리즘의 개선입니다. DNF는 솔버(Solver)를 사용하여 더 빠르고 정확하게 의존성 충돌을 해결합니다. 또한, 메모리 사용량과 API가 개선되어 대규모 시스템 관리에서 더 효율적입니다. 명령어 사용법은 거의 동일하게 유지되어 사용자 전환이 쉽습니다.

Q3: Yum 설치 시 ‘Cannot find a valid baseurl for repo’ 에러는 어떻게 해결하나요?

A: 이 에러는 저장소 파일(.repo)에 정의된 URL로 접근하지 못할 때 발생합니다.

주요 해결 방법은 다음과 같습니다: 1) 서버의 네트워크 및 DNS 설정 확인, 2) 저장소 파일(/etc/yum.repos.d/)에서 baseurl이 올바른지 확인하거나, 3) mirrorlist 설정에 문제가 있다면 baseurl로 직접 미러 URL을 지정합니다 (예: 국내 미러 서버 주소로 변경). 또한 yum clean all 명령으로 캐시를 정리해 보세요.

Q4: EPEL 저장소를 사용하면 시스템이 불안정해질 수 있나요?

A: EPEL은 Red Hat 엔터프라이즈 리눅스 사용자들에게 널리 사용되는 신뢰할 수 있는 저장소입니다. 대부분의 경우 시스템 안정성에 큰 영향을 미치지 않지만, 공식 저장소 패키지와 EPEL 패키지 간의 의존성 충돌이 아주 드물게 발생할 수 있습니다. 문제가 발생하면 yum --disablerepo=epel install [패키지] 처럼 특정 저장소를 비활성화하여 충돌을 회피할 수 있습니다.