yum으로 패키지를 설치할 때 원하는 패키지가 없는 경우가 있다.
이럴 경우 문제점가 되는 경우는 대략 3가지정도 이다.
1. epel-release 미설치
epel은 Extra Packages for Enterprise Linux의 약자이다.
말 그대로 yum 에서 기본적으로 제공하는 패키지가 아닌 번외 패키지라 할 수 있다.
대표적으로 Apache 웹서버는 기본 패키지이고 Nginx는 epel에 속하는 패키지이다.
OS를 설치하고 아무런 작업 없이 yum install nginx 명령어를 날리면 패키지를 찾을 수 없다는 메세지를 만나게 되는데
이 경우가 epel-release를 설치해주지 않은 경우에 만나는 상황이다.
설치는 간단하다.
yum install -y epel-release를 설치한 다음 원하는 패키지를 검색하거나 설치하면 된다.
2. yum.repo.d 에 <package>.repo 파일 미등록
패키지의 주소는 바로 /etc/yum.repos.d/ 디렉토리 아래에 모여있다. (CentOS 7기준)
디렉토리에 들어가 보면 xxx.repo라는 이름을 가진 파일이 여러개 있을 것이다.
우리가 일반적으로 yum을 날렸을때 가장 먼저 참조하는 파일이 CentOS-Base.repo이다
이 저장소에서 찾아봤는데 없다면 차례로 repo 확장자를 가진 파일의 주소를 참조하면서 패키지가 있는지 찾게된다.
주로 자신들만의 패키지를 배포하는 업체들이 repo파일을 배포한다.
3. OS 버전 다름
OS버전에 따라 같은 패키지 명을 검색해도 버전이 다른 패키지가 나올 수도 있고 아예 나오지 않는 경우가 있다.
대표적으로 CentOS 6.x 버전과 7.x 버전에서는 기본설치되는 Apache의 버전이 2.2.x 와 2.4.x 버전으로 구분된다.
이러한 이유는 OS 버전마다 참조하는 저장소가 다른데 6.x 버전이 참조하는 저장소의 Apache는
2.2.x 버전이 등록되어 있고 7.x 버전이 참조하는 저장소의 Apache는 2.4.x 버전이 등록되어 있기 때문이다.
이렇듯 OS 버전마다 변경되거나 추가, 삭제되는 패키지가 있기에 yum이 패키지를 찾지 못할수도 있다.
이 경우 소스코드를 다운받아서 컴파일설치하거나 rpm에서 설치하는 대안이 있다.
'IT기술 > 리눅스' 카테고리의 다른 글
centos 6버전과 7버전 명령어 비교 (0) | 2021.08.04 |
---|---|
centos 7 시간 동기화 ntp로 적절한 시간 맞추기 (0) | 2021.08.04 |
리눅스마스터 1급 2회차 기출문제 모음 (0) | 2021.03.23 |
java 1.8 리눅스 centos에 수동 설치하기 (0) | 2020.02.18 |
심볼릭 링크 만들기 (0) | 2020.01.20 |