yum 명령어 | 사용법 | 옵션 | yum-utils | 패키지 관리와 저장소 관리🔝
레드햇 계열의 리눅스 배포판에서 사용하는 YUM 명령어는 패키지 관리(설치, 업데이트, 제거)를 하는데 사용하는 명령어입니다.
yum은 기존 패키지 시스템인 RPM의 의존성 문제를 해결하기 위해 제공되는 도구이며, RPM에서 수행할 수 있는 많은 작업을 수행할 수 있습니다.
├── yum
│ ├──repo
│ ├── Base.repo
│ ├── epel.repo
│ ├── remi.repo
├── yum-utils
│ ├── yum-config-manager
│ ├── yum-groups-manager
│ ├── yum-builddep
│ ├── yumdownloader
│ ├── yum-debuginfo-install
│ ├── package-cleanup
│ ├── repoquery
│ └── repo-graph
✅ YUM 명령어
yum 명령어의 기본 사용 방법은 다음과 같습니다.
yum [options] COMMAND
✅ YUM 명령어 옵션
✅ YUM 패키지 관리: 확인 및 업데이트
리눅스 시스템에 설치된 업데이트 및 적용되었거나 대기 중인 업데이트를 확인할 수 있습니다.
🔲 yum을 이용한 안정적인 시스템 업데이트 순서
yum makecache # 선택적, 메타데이터(패키지 목록) 미리 갱신
yum update -y # 설치된 패키지를 최신 버전으로 업그레이드 (의존성 포함)
yum autoremove -y # 더 이상 필요 없는 의존성 패키지 제거
- yum makecache
- 패키지 목록을 미리 캐시해 두는 용도로, yum update 전에 실행하면 속도가 약간 향상될 수 있습니다.
- (생략 가능 – yum update 시 자동 처리됨)
- yum update
- 설치된 모든 패키지를 최신 버전으로 업그레이드하며, 필요한 의존성도 자동으로 처리됩니다.
- apt upgrade와 dist-upgrade를 통합한 역할을 합니다.
- yum autoremove
- 더 이상 사용되지 않는 불필요한 패키지를 자동으로 정리합니다. 시스템을 깔끔하게 유지할 수 있습니다.
⚠️ 순서 변경 시 주의사항
- yum autoremove를 먼저 실행하면, 나중에 필요한 의존성까지 제거될 수 있으므로 마지막에 실행해야 안전합니다.
- yum update 없이 makecache만 해도 패키지는 업그레이드되지 않습니다.
1. 업데이트 확인
yum check-update
2. 패키지 업데이트
단일 패키지 또는 여러 패키지를 한 번에 업데이트 할 수 있습니다.
yum update [패키지 명]
# 명령어 사용예
yum update rpm
yum update [패키지 그룹]
3. yum update 시 주의 사항
CeontOS 7에서 커널이 같이 업데이트 되어 컴파일로 설치한 Apache에 문제가 생기는 등의 문제가 생길 수 있음. 그 외에 기본적인 커널 패닉과 같은 문제들이 발생할 수 있음.
키워드: yum 커널 패닉
✅ yum-utils
yum-utils는 Red Hat 계열의 리눅스 배포판에서 사용되는 패키지 관리 도구인 YUM의 확장 패키지 관리 도구입니다. 이 패키지는 YUM을 보완하여 시스템 관리 및 유지 보수 작업을 수행하는 데 도움이 되는 다양한 도구와 유틸리티를 제공합니다. 시스템 관리자 및 개발자들이 패키지 관리 및 관련 작업을 효과적으로 수행할 수 있도록 도와줍니다.
yum 저장소를 관리하고 설치하기 위한 도구 및 프로그램 모음인 yum-utils은 디버그 패키지, 소스 패키지, 리포지토리의 확장 정보 및 관리 등을 할 수 있습니다.
yum-utils은 yum-config-manager, yum-builddep, yumdownloader, yum-debuginfo-install, repo-graph와 같이 여러 개의 보조 도구를 포함하는 패키지입니다.
YUM 유틸리티 중 config-manager는 yum 구성 옵션 및 저장소를 관리합니다. config-manager가 설치되어 있지 않을 경우 ‘yum install -y yum-utils’로 yum-utils 설치 후 진행합니다.
yum-config-manager --disable remi-php70 # php 70 비활성
yum-config-manager --enable remi-php74 # php 74 활성화
소스 RPM을 빌드하기 위해 필요한 의존성 패키지를 설치하는 데 사용됩니다.
PM 패키지를 다운로드하는 데 사용되며, 패키지를 미리 다운로드하여 나중에 설치할 수 있습니다.
디버그 정보가 포함된 패키지를 설치합니다. 이는 디버깅이나 프로파일링을 위해 필요한 정보를 제공합니다.
패키지 의존성을 출력합니다.
✅ YUM 저장소(Repository)
YUM 저장소 위치는 /etc/yum.repos.d/파일이름.repo 형식으로 되어 있습니다. 기본 형식은 다음과 같습니다.
[저장소 이름]
name=저장소 표시이름
baseurl=저장소 주소
enabled=활성화 여부 (0 or 1)
gpgcheck=gpg 서명키 사용여부 (0 or 1)
gpgkey= 서명키를 사용한다면 서명키 주소 입력
다음은 APM을 설치하면서 설정했던 MariaDB의 저장소입니다.
현재 추가되어 사용 중인 저장소 목록을 확인할 수 있습니다.
1. EPEL 저장소
기본 저장소에는 없는 확장 패키지 저장소인 EPEL(Extra Packages for Enterprise Linux)은 아래 2가지 방법 중 기본 설치 또는 지정 설치를 진행할 수 있습니다.
yum install -y epel-release
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
2. REMI 저장소
프랑스의 소프트웨어 개발자인 Remi Collet(레미 콜레)의 이름에서 유래 된 Remi 저장소는 기본적으로 Red Hat 계열의 리눅스 배포판에 기본적으로 포함되지 않는 최신 PHP 버전 및 관련 패키지에 대한 추가적인 지원을 제공합니다.
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
◻️ Remi 저장소 PHP 설치
Remi 저장소를 활용한 PHP 설치를 진행 해 보겠습니다. yum -y install php를 입력하면 세팅 된 OS 환경의 기본 저장소의 php가 설치가 됩니다. [yum repolist all] 명령어 or [yum module list php] 명령을 입력해서 REMI 저장소로 설치 가능한 php 목록을 확인합니다.
yum module list php 명령어로 활성화 된 php 버전을 확인할 수 있습니다.
# PHP 버전 활성화 및 비활성화 명령어
yum module enable php:remi-8.2
yum module disable php:remi-8.2