본문으로 바로가기

 

에러 발생

구버전 CentOS 6.10 에 node 를 설치하려고 했더니 아래와 같은 에러 메시지 발생.

 

$ yum install nodejs npm
...(생략)...
Error: Cannot find a valid baseurl for repo: base

 

흔히 보던 yum Repository 에러라고 생각했는데 간단히 처리가 안되어서 정리.

결론부터 적자면 yum 을 통하지 않고 node 를 설치하였다. 해당 설치 방법은 아래 링크.

 

 

조치 방법

지원이 끊긴 OS 이지만 어떻게든 시도해 본다.

 

처리 순서

  1. Name Server 점검
  2. 레포지토리 수정
  3. yum 초기화, UPDATE

 

Name Server 점검

Repository URL 이 명시되어 있지만, DNS query 에 실패하여 서버를 찾지 못하는 경우일 수 있으므로 nameserver 를 점검하자는 것인데... 그런 상태로 지금껏 서버가 운용되어 왔다는게 말이 안된다.

nslookup naver.com 등의 명령어로 점검해 보고 정말로 문제가 있다면 /etc/resolv.conf 파일 수정.

 

/etc/resolv.conf
$ cat /etc/resolv.conf
# DNS requests are forwarded to the host. DHCP DNS options are ignored.
nameserver 168.126.63.1 # KT
nameserver 8.8.8.8 # google

 

레포지토리 수정

resolv.conf 파일을 수정해서 해결이 되었다면 참 다행이다. 안되는 경우 레포지토리를 수정해 보자.

레포지토리 파일(들)은 /etc/yum.repos.d  경로에 있다. CentOS-Base.repo 달랑 하나만 있는 경우도 있다.

 

$ ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-SCLo-scl.repo  CentOS-SCLo-scl-rh.repo  CentOS-Vault.repo  epel.repo  epel-testing.repo

 

해당 파일들은 백업하고 CentOS-Base.repo 파일을 아래 내용으로 만든다.

 

/etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
# baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=https://vault.centos.org/6.10/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

# released updates
[updates]
name=CentOS-$releasever - Updates
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
# baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=https://vault.centos.org/6.10/updates/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

# additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
# baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=https://vault.centos.org/6.10/extras/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-

 

yum 초기화, 업데이트

yum 의 기본 레포지토리에는 nodejs 와 npm 이 없다.

확장 개념의 epel (Extra Packages of Enterprise Linux) 레포지토리를 추가.

 

$ yum clean all & yum clean metadata
$ yum update -y
$ yum install epel-release
Loaded plugins: fastestmirror, ovl
Setting up Install Process
Loading mirror speeds from cached hostfile
Package epel-release-6-8.noarch already installed and latest version
Nothing to do
$ yum repolist enabled

 

설치 시도

모든 준비가 끝난것으로 보인다. 이제 다시 시도해보자.

 

$ yum install nodejs npm
Loaded plugins: fastestmirror, ovl
Setting up Install Process
Loading mirror speeds from cached hostfile
No package nodejs available.
No package npm available.
Error: Nothing to d
$
$
$ yum install nodejs npm --enablerepo=epel
Loaded plugins: fastestmirror, ovl


Error getting repository data for epel, repository not found

 

--enablerepo=epel 옵션으로 실행해 봐도 안된다.

No package nodejs availableError getting repository data for epel 키워드로 무한 구글링을 해 보아도 해결이 안 된다.

여기까지 했는데도 안된다면, 지원 끊긴 OS 인지라 포기하고 node, npm 설치가 목적이라면 nvm 으로 진행하자.