서로 여러 패키지들이 의존성을 갖게 되어 패키지 간의 의존 관계가 점점 복잡해지게 되고, 관리가 어려워지는 문제가 있다.
사용법
필요한 패키지는 인터넷에 있는 패키지 저장소 서버로부터 다운로드 받기 때문에 인터넷에 연결된 상태여야 함
패키지 저장소 서버는 /etc/yum.conf와 /etc/yum.repos.d/ 디렉토리의 저장소 파일을 통해 관리됨
# 사용 형식
yum [옵션] [명령] [패키지명]
# 설치
yum install 패키지명
yum -y install 패키지명 # y옵션을 사용하면 사용자에게 yes/no 여부를 묻지 않고 넘어감
# 업데이트 가능한 패키지 목록 확인
yum check-update
# 업데이트
yum update 패키지명
# 삭제
yum remove 패키지명
# 정보 확인
yum info 패키지명
# 패키지 list ghkrdls
yum list
yum list | grep 패키지명 # 원하는 패키지 목록만 확인
# 설치된 패키지 중 업데이트된 패키지 목록을 보고싶은 경우
yum list updates
# 설치 가능한 패키지 리스트
yum list available
# 설치된 패키지 리스트
yum list installed
동작방식
yum install로 패키지 설치 명령을 실행합니다.
/etc/yum.repos.d/ 디렉토리의 여러 설정파일 및 CentOS-Base.repo 파일을 참고하여 인터넷 상의 패키지 저장소 서버 주소를 얻습니다.
패키지 목록을 저장소 서버로부터 얻습니다. 실제 패키지를 받는 것은 아니고 목록만 가져옵니다.
3번과 동일
가져온 패키지 목록을 터미널에 출력하고 설치할 것인지(y/n) 묻습니다.
y를 입력하면 패키지를 다운로드하여 자동으로 설치합니다.
CentOS-Base.repo 설정 파일
패키지를 다운받는 패키지 저장소 서버는 /etc/yum.repos.d/CentOS-Base.repo 파일에 주소가 명시되어 있습니다.
아래 명령어로 파일을 열어봅니다.
vi /etc/yum.repos.d/CentOS-Base.repo
파일은 다음과 같은 구조입니다.
패키지 저장소
각 항목은 패키지 저장소의 위치를 나타냅니다.
[base], [updates], [extras]는 동작방식에 있는 원본 패키지, 업데이트 패키지, 추가 패키지입니다.
[base]
CentOS가 릴리즈 되는 시점에 제작된 버전의 패키지
배포판을 처음 설치할때 같이 설치되는 패키지, DVD 이미지에 담겨있습니다.
[updates]
이후 버그 수정이나 기능 수정 등으로 인해 업데이트 된 패키지
[updates] 항목에 URL을 설정할 수 있습니다.
yum은 패키지를 설치할 때 기본적으로 [base] 저장소가 아닌 [updates] 저장소를 이용하며, 이 항목을 주석처리하게 되면 yum 명령어로 패키지를 설치할때 업데이트 버전을 설치하는 것이 아닌 원본패키지 저장소의 패키지를 설치하게 됩니다.
[extras], [centosplus]
추가로 배포된 패키지인 추가패키지 저장소 설정은 [extras] 항목에서 관리
[centosplus] 항목이 있지만 기본적으로 enabled=0 으로 설정이 꺼져있고 사용되지 않습니다.
CentOS-Base.repo 설정 구성
name : 저장소의 이름을 명시한 것이며, 아무렇게나 지정해도 상관없습니다.
mirrorlist : baseurl 속성의 값이 생략된 경우 이곳에 명시된 URL을 사용합니다. 기본적으로 CentOS 프로젝트에서 운영하는 공식 서버 URL이 지정 되어 있습니다.
baseurl : 패키지 저장소의 url이며, http://, ftp://, file:// 프로토콜 스킴을 사용할 수 있습니다.
gpgcheck : GPG(GNU Privacy Guard) 키가 들어있는 저장소의 URL을 적습니다. GPG 키는 rpm 패키지를 인증하는데 사용하는 암호화 서명입니다.
enabled : 이 저장소 설정 여부를 사용할것인지 여부를 지정합니다. 기본값은 1이며 1 = 사용, 0 = 미사용 입니다.