프로그램 개발 후 고객사 내부망에 프로그램을 설치하기 위해서는 JAVA 등의 몇몇 인프라가 필요하다.
하지만 말 그대로 내부망은 인터넷이 되지 않는 환경이고, 이에 필요한 인프라를 오프라인으로 설치할 수 있는 준비를 해야했다.
CentOS의 경우 local repository를 만드는 방법을 통해 yum을 오프라인 환경에서 사용할 수 있다. 방법은 아래 링크에 적어놓았다.
https://123okk2.tistory.com/404
하지만 Ubuntu의 경우에는 local repository를 설정하는 방법을 찾을 수가 없었다. 그래서 대신 .deb 파일을 준비하고 이를 통해 설치하는 과정을 공유하고자 한다.
우선 테스트를 위해 두 개의 우분투 서버를 설치해놓았다. 제목대로 ub_on은 온라인 환경, ub_off는 오프라인 환경이다. 둘 다 UBUNTU 20.04.6-live server 버전이다.
실제 프로그램을 위해서는 DB나 도커 등 여러 인프라가 필요하겠지만, 굳이 모든 걸 다 하지 않고 테스트를 위해 java와 net-tools를 설치해보았다.
먼저 인터넷이 연결된 서버에서 다음 디렉토리를 확인한다.
# ls /var/cache/apt/archives
보다시피 별 다른 파일이 없다.
이제 apt-get으로 java와 net-tools를 설치해본다.
# java -version
# netstat -tnlp
# apt-get install -y net-tools openjdk-8-jdk
설치가 완료되었다면 다시 /var/cache/apt/archives 디렉토리를 확인하면 설치한 java와 net-tools, 그리고 관련 라이브러리들의 deb 파일이 생성되었음을 확인할 수 있다.
# ls /var/cache/apt/archives
그러면 프로그램이 필요로 하는 인프라를 다 설치했다고 가정하고, 위 폴더를 tar 로 압축한 후 오프라인 서버에 옮긴다.
# cd /var/cache/apt
# tar -cvzf archives.tgz archives
* 파일은 우선 scp를 이용해서 옮겼다. 굳이 winScp 등의 툴을 사용하기 귀찮아서..
# scp archives.tgz root@172.**.**.**:/tmp/
이제 테스트를 위해 오프라인 서버에 net-tools와 java가 설치되었는지 확인하고, 설치되지 않았음을 확인했으면 내부망 환경을 맞추기 위해 인터넷을 끊어준다.
# java -version
# netstat -tnlp
# dhclient enp0s3
# dhclient -r
# ping 8.8.8.8
인터넷을 끊어주었다면 이제 옮긴 파일로 설치를 해본다.
# cd /tmp
# tar -xvzf archives.tgz
# dpkg -i archives/*.deb
설치가 완료되었다면 정상 설치 여부를 확인한다.
# java -version
# netstat -tnlp
'IT 지식 > 운영체제' 카테고리의 다른 글
자동 재실행 스크립트 만들기 (0) | 2023.05.28 |
---|---|
내부망에서 yum 사용 (0) | 2022.12.10 |
[운영체제] Linux와 Unix (0) | 2021.05.16 |
[운영체제] 멀티 프로세스와 멀티 쓰레드 (0) | 2021.04.02 |