1. 개요
Yum은 Yellow dog Updater, Modified의 약자로 RPM 기반의 시스템을 위한 자동 업데이터 겸 패키지 설치/제거 도구이다. 듀크 대학교의 Linux@DUKE 프로젝트의 일부분으로 개발되었다. yumex 같은 GUI 기반 확장 도구도 있다.
Yum 이전에 있었던 Yellowdog Updater (YUP) 도구를 대체하며, 듀크 대학교 물리학부에서 사용되었던 레드햇 리눅스 시스템 관리를 위해서 등장하였다. 그 이후로 페도라, CentOS 등 많은 RPM 기반 리눅스 배포판에서 사용되었다. 레드햇의 패키지 관리자 up2date에서도 Yum 저장소에 접근할 수 있다.
현재 GNU 일반 공중 사용 허가서 버전 2 이상으로 사용 가능하다.
Yum은 페도라 22 버전 이후부터 DNF로 전환되고 있다. 그러나 여전히 Yum의 전신인 rpm, 그리고 후신인 DNF와 같이 사용 가능하다.
rpm 패키지들에 대해 검색, 다운로드, 설치 기능을 편리하게 해 주는 것이 가장 큰 역할이지만, 가장 큰 장점은 의존성 1‘A’라는 패키지 설치를 위해 ‘가’ 라는 패키지가 필요할 경우 ‘A’에 대한 설치 명령만 수행해도 ‘가’ 패키지를 함께 다운로드하고 설치 해 준다. 문제를 자동으로 해결 해준다는 점이다.
2. Repository 파일
/etc/yum.repo.d/ 아래에 존재한다.
※ CentOS Base repository 예
[CentOS-repo] name=CentOS-7- Base # 리포지터리 이름 (단지 이름이다.) baseurl=http://mirrorlist.centos.org # 패키지를 다운로드할 수 있는 미러 목록이 포함된 URL 또는 저장소 자체 지정 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra # 리포지터리 주소 enabled=1 # 활성화 여부 gpgcheck=0 # gpg key 검증 여부 # 리포지터리에 있는 패키지 파일이 정상적인 파일인지확인한다. (변조 여부 등) gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #gpg key 위치
3. 사용법 : 검색 관련
[HOSTNAME:/root]# yum clean all # Yum cache 삭제 [HOSTNAME:/root]# rm -rf /var/cache/yum # yum clean all 명령의 에러 발생 등의 경우 [HOSTNAME:/root]# yum repolist # /etc/yum.repo.d/ 아래의 모든 리포지터리 정보를 갱신한다. [HOSTNAME:/root]# yum search PACKAGE_NAME # PACKAGE_NAME 이라는 이름을 포함한 패키지를 검색한다. [HOSTNAME:/root]# yum provides LIBRARY_NAME # LIBRARY_NAME 이라는 라이브러리를 포함한 패키지를 검색한다. [HOSTNAME:/root]# yum list # 패키지 리스트를 출력한다. [HOSTNAME:/root]# yum list installed # 현재 설치된 패키지 리스트를 출력한다. [HOSTNAME:/root]# yum list PACKAGE_FULL_NAME --show duplicate # PACKAGE_FULL_NAME 패키지의 중복 여부 정보를 출력한다. [HOSTNAME:/root]# yum list PACKAGE-VERSION # PACKAGE 란 이름의 패키지 중 VERSION 에 해당하는 버전의 목록을 출력한다.
4. 사용법 : 패키지 설치
[HOSTNAME:/root]# yum install PACKAGE_NAME # PACKAGE_NAME 패키지를 설치한다. [HOSTNAME:/root]# yum install PACKAGE_NAME* # PACKAGE_NAME으로 시작하는 이름의 패키지들을 설치한다. [HOSTNAME:/root]# yum install PACKAGE_1 PACKAGE_2 PACKAGE_3 # PACKAGE_1, PACKAGE_2, PACKAGE_3 세개의 패키지를 설치한다. [HOSTNAME:/root]# yum -y install PACKAGE_NAME # 명령어 수행 시 사용자의 확인이 필요한 경우('진짜로 설치 하시겠습니까? 등 ')자동으로 y 가 입력되는 것과 같다
5. 사용법 : RPM 패키지 설치
[HOSTNAME:/root]# yum install /tmp/PACKAGE_1.rpm # /tmp/PACKAGE_1.rpm 을 설치한다. 의존성 패키지가 필요한경우 리포지터리에서 자동으로 다운로드 하고 함께 설치 된다. [HOSTNAME:/root]# yum install /tmp/* # /tmp 디렉토리 내에 모든 rpm 을 설치한다.
※ yum 명령은 관리자 권한(root)으로 수행 해야 한다.