Press "Enter" to skip to content

Study

[linux] 리눅스 yum 로컬 저장소 이용. 인터넷 연결 없이 DVD로 패키지 관리하기

IT
작성자
구도현
작성일
2021-02-24 14:28
조회
386
인터넷 연결 없이 로컬 패키지 저장소를 통해 패키지 관리하기
yum은 패키지를 설치시 의존성 문제를 모두 자동으로 해결해 줍니다. 패키지를 설치할때 의존하는 다른 패키지가 있으면 해당 패키지 또한 패키지 저장소에서 다운로드 받아 자동으로 설치해줍니다. 그러나 패키지 설치시에는 인터넷이 연결되어 있어야만 합니다.

만약에 실무 환경에서 보안 정책등으로 인해 인터넷에 연결될 수 없는 상황이라면 RPM을 통해 수동으로 의존 패키지까지 설치해 주거나 로컬 패키지 저장소를 만들어 설치할 수 있습니다.

여기서 로컬 패키지 저장소란 내가 임의로 여러가지 RPM 패키지들을 한꺼번에 모아놓은 저장소를 의미합니다. 패키지 저장소를 해당 로컬 저장소로 설정해 두면 yum 명령어 사용시 인터넷이 아닌 해당 로컬 패키지 저장소를 참조하여 의존성 문제를 해결함과 동시에 패키지를 자동적으로 설치해 줄 것입니다.

로컬 패키지 저장소 설정하기
여기서는 간단한 예를 들기위해 CentOS 배포판 이미지(DVD 버전 iso 파일)을 이용하도록 하겠습니다. 기본적으로 CentOS 설치시 사용하는 배포판 이미지에는 원본 패키지(rpm 파일들)이 포함되어 있는데, 이미지를 마운트하고 yum 패키지 저장소 경로 설정을 해당 마운트 경로로 변경하여, 인터넷을 경유하지 않고 해당 마운트 경로를 패키지 저장소로 이용하도록 바꿀것입니다.

먼저 인터넷이 되지 않는다는 가정을 하기위해 NIC를 내리도록 합니다. 장치명을 확인합니다.
ifconfig

장치를 중지합니다. 네트워크가 안되므로 인터넷 연결이 끊겼습니다.
ifdown ens33

다음으로 로컬 패키지 저장소를 설정할텐데 그 전에 패키지 파일들을 구해야 합니다. 여기서는 CentOS 배포판 이미지를 사용하기로 했습니다. CentOS 이미지 파일은 다음의 경로를 참조하여 구합니다.
참조 -> [CentOS] CentOS7 리눅스 다운로드 및 VMware에 설치하기 [1]

이미지를 다운로드 받았으면 cdrom에 삽입하고 마운트합니다.
mkdir /media/cdrom
umount /dev/cdrom
mount /dev/cdrom /media/cdrom/

다음은 yum 패키지 저장소 경로를 변경합니다. yum 설정파일이 모여있는 /etc/yum.repos.d/ 로 이동합니다.
cd /etc/yum.repos.d/

설정을 변경하기에 앞서 현재 설정 파일들을 백업해 둡니다.
mkdir backup
mv *.repo backup/

로컬 저장소용 설정 파일을 하나 생성합니다. yum 명령어는 /etc/yum.repos.d 하위의 .repo 설정 파일을 확인하므로 내가 만든 로컬 저장소 설정 파일을 참조할 것입니다.
touch localRepo.repo

만든 설정파일에 설정 내용을 입력합니다. 여기서는 아까 마운트 시켜놓았던 패키지 파일들이 모여있는 CentOS 이미지 경로로 설정해둘 것입니다.
vi localRepo.repo

저장소 URL을 http://가 아닌 file://로 dvd 마운트 경로를 설정해 두었습니다.
주의점은 file:// 다음의 경로에 /medea/cdrom으로 설정해야 한다는 사실입니다. (즉 /// 세 개 필요)

[localRepo]
name=localRepo
baseurl=file:///media/cdrom/
gpgcheck=0

테스트를 위해 postgresql 데이터베이스의 jdbc를 설치해 봅니다.
테스트 결과는 성공입니다. 다운로드한 저장소(Repository)가 아까 설정해 두었던 localRepo인 것을 볼 수 있습니다.
yum install postgresql-jdbc

로컬 패키지 저장소와 인터넷 패키지 저장소 서버 둘 다 사용하기
yum 사용시 네트워크가 되지 않는 환경에서 로컬 저장소를 이용하는 경우 다운로드 시간 없이 설치되므로 속도가 빠르다는 장점이 있습니다.

이러한 장점을 이용하여 로컬 저장소에 존재하는 패키지들은 로컬 저장소를 이용하여 설치하고 로컬 저장소에 없는 패키지들은 네트워크를 경유하여 패키지 서버를 통해서 다운로드 받도록 설정해 보겠습니다.

먼저 이글의 위에서부터 쭉 따라하면서 로컬 저장소 설정까지 완료합니다. 그러면 패키지 파일들이 들어있는 dvd가 마운트 되었을 것이고 yum 설정으로 dvd가 마운트 된 경로에서 패키지를 받도록 된 상태일 것입니다. 만약 네트워크까지 내린 상태라면 ifup 명령어를 통해 네트워크를 살려줍니다.
ifup ens33

그리고 이전에 설정해 두었던 localRepo.repo 설정 파일을 에디터로 실행합니다.
vi /etc/yum.repos.d/localRepo.repo

[remotRepo] 부분을 추가합니다. 이는 패키지 저장소로 사용할 수 있는 미러 서버 주소를 추가한 것입니다. 미러서버 주소는 변경될 수 있는데 구글에 검색하거나 다음 링크를 참조합니다. https://www.centos.org/download/mirrors/
[localRepo]
name=localRepo
baseurl=file:///media/cdrom/
gpgcheck=0

[remoteRepo]
name=remoteRepo
baseurl=
http://mirror.centos.org/centos/7/os/x86_64/
http://mirrors.edge.kernel.org/centos/7/os/x86_64/
gpgcheck=0

설정을 저장했다면 yum 명령을 테스트합니다. 테스트를 위해 html2ps 패키지를 설치했는데, 로컬 패키지 저장소에 있는 패키지는 로컬에서 설치하고 없는 패키지는 원격 저장소 서버를 통해 설치 된 것을 알 수 있습니다.
yum install -y html2ps


출처: https://dololak.tistory.com/334
전체 67
번호 제목 작성자 작성일 추천 조회
67
[linux] 리눅스 yum 로컬 저장소 이용. 인터넷 연결 없이 DVD로 패키지 관리하기
구도현 | 2021.02.24 | 추천 0 | 조회 386
구도현 2021.02.24 0 386
66
[linux] CentOS7 패키지 다운로드 미러사이트 카카오로 설정
구도현 | 2020.11.25 | 추천 0 | 조회 1113
구도현 2020.11.25 0 1113
65
가전제품 이전 설치 서비스
구도현 | 2020.06.06 | 추천 0 | 조회 1114
구도현 2020.06.06 0 1114
64
아수스 공유기 설정 한국어(한글) 활성화시키기
구도현 | 2020.04.05 | 추천 0 | 조회 1732
구도현 2020.04.05 0 1732
63
스타일러스 펜을 위한 필수 윈도우 앱 10선
구도현 | 2020.01.13 | 추천 0 | 조회 982
구도현 2020.01.13 0 982
62
시스코 Cisco AP 기본 설정방법
구도현 | 2019.11.24 | 추천 1 | 조회 2736
구도현 2019.11.24 1 2736
61
네트워크 정기점검 기본 명령어
구도현 | 2019.11.23 | 추천 3 | 조회 9576
구도현 2019.11.23 3 9576
60
술, 정 피할 수 없다면… 안주 '똑똑하게' 고르자
구도현 | 2019.11.10 | 추천 0 | 조회 680
구도현 2019.11.10 0 680
59
Windows 에서 노트북 배터리 수명 확인하는 방법
구도현 | 2019.10.30 | 추천 0 | 조회 705
구도현 2019.10.30 0 705
58
에어컨 속 세균 드글드글… 간단 청소법
구도현 | 2019.06.19 | 추천 0 | 조회 962
구도현 2019.06.19 0 962
57
공유기 제조사별 접속주소 및 초기 아이디, 패스워드
구도현 | 2019.05.05 | 추천 0 | 조회 1007
구도현 2019.05.05 0 1007
56
매일 마시는 커피, 毒 안 되게 하려면?
구도현 | 2017.10.15 | 추천 0 | 조회 698
구도현 2017.10.15 0 698