리눅스

외부망 yum 패키지 그대로 내부망으로 이관 설치시(postgresql)

초이짬 2019. 10. 8. 13:32
728x90

*******************

이글을 작성할 시점엔 cent7에서 yum 으로 (kakao repo,epel:ac.jp)

postgresql96-server postgresql96 postgresql96-contrib postgresql96-devel

이게 되었는데.. 현재20210803는 postgresql-server.x86_64                                        9.2.24-7.el7_9 이렇게 나온다

그래서 직접 주소로 가서 설치 해야 될거 같다

아래 주소는 개별 rpm이고 그 밑에 repo 등록 나오니 참고할것

https://download.postgresql.org/pub/repos/yum/srpms/

 

Index of /pub/repos/yum/srpms/

 

download.postgresql.org

그래서 yum install "https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm"

쌍따옴표 뺄것

yum update  하면 키 등록하고 여러번 y 눌르면 됨

그리고 yum list | grep ^postgresql 

이렇게 하면 다 나온다

저위에 yum install 주소는 https://yum.postgresql.org/repopackages/

 

Repo RPMs - PostgreSQL YUM Repository

9.4 RHEL 8 - x86_64, RHEL 7 - x86_64, RHEL 6 - x86_64, RHEL 6 - i386, RHEL 5 - x86_64, RHEL 5 - i386

yum.postgresql.org

 여기서 자기의 맞는 OS 링크에 우클릭하고 주소 복사하면 나온다 그냥 클릭 하면 다운로드라서 주소 복사후에 진행

 

**********

 

 

패키지 데이터를 특정 디렉토리로 다운로드

내부망에서 외부망 프록시 서버가 존재 하지 않을경우

외부망에서 동일환경의 서버(vm으로)를 만들고 해당 패키지들을

yum 설치가 아닌 패키지를 특정 디렉토리에 다운로드 해서 해당 다운로드

파일을 내부망으로 이동 후 내부망에서 패키지 리포지토리를 등록하고

해당 패키지 리포지토리에서 설치를 진행 한다.

예로 든 파일은 postgres 서버고 기타 확장 패키지도 같이 옮겨서 성공한 예이다.

일단 yum플러그인 관련된걸 설치를 먼저 한다.
yum install yum-plugin-downloadonly yum-utils createrepo

그런 다음 설치할 패키지에 대한 상세내역을 확인해 본다
yum search postgresql
yum search postgis
yum --showduplicates list postgressql
yum --showduplicates list postgresql
===epel release 확인===
rpm -qa epel-release
yum --showduplicates list postgis24*
===epel release 인스톨===
yum install epel-release
yum list postgis2
===postgresql96 버전 관련패키지를 다운로드만 함 centos7 기준임===
yum install --downloadonly --installroot=/dev/tmp/postgres/postgres-installed --releasever=7 --downloaddir=/dev/tmp/postgres/post96 postgresql96-server postgresql96 postgresql96-contrib postgresql96-devel

==다운로드 디렉토리 압축==
tar -zcvf post96.tar.gz post96/

====postgis 버전 관련패키지를 다운로드(다운로드후 동일하게 디렉토리 압축)==
yum install --downloadonly --installroot=/dev/tmp/postgres/postgis/postgis-installed --releasever=7 --downloaddir=/dev/tmp/postgres/postgis/postgis postgis24_96.x86_64

====pgrouting 버전 관련패키지를 다운로드(다운로드후 동일하게 디렉토리 압축)==
yum install --downloadonly --installroot=/dev/tmp/postgres/pgrouting/pgr26-installed --releasever=7 --downloaddir=/dev/tmp/postgres/pgrouting/pgr26 pgrouting_96.x86_64

====postgres 버전 관련 라이브러리 패키지를 다운로드(다운로드후 동일하게 디렉토리 압축)==
yum install --downloadonly --installroot=/dev/tmp/postgres/postgres-libs-installed --releasever=7 --downloaddir=/dev/tmp/postgres/postgres-libs postgresql96-libs

====pointcloud git 에서 다운==
git https://github.com/pgpointcloud/pointcloud.git
git
pull https://github.com/pgpointcloud/pointcloud.git
git
clone https://github.com/pgpointcloud/pointcloud.git


관련
패키지들을 다운로드후에 압축해서 내부망으로 이동후 작업

createrepo 등록

yum install crraterepo

createrepo --database [압축푼디렉토리]

repo 문서 작성

vi /etc/yum.repos.d/offline-postgresql96.repo

===repo 문서 내용====
[offline-postgres96server]
name=CentOS-$releaserver - postgresql96-server postgresql96 postgresql96-contrib postgresql96-devel postgresql96-libs
baseurl=file://[설치파일위치경로]
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG


====repo 등록===
repoclosure --repoid=offline-postgres96server

====yum 설치===
yum --disablerepo=\* --enablerepo=offline-postgres96server install postgresql96-server postgresql96 postgresql96-contrib postgresql96-devel postgresql96-libs

이런식으로 진행 하면 정상 설치가 가능했다

물론 docker 같은게 있다면 훨씬 편한듯....

728x90