본문 바로가기
IT 지식/운영체제

내부망에서 apt 사용

by 이민우 2023. 6. 4.
728x90
반응형

프로그램 개발 후 고객사 내부망에 프로그램을 설치하기 위해서는 JAVA 등의 몇몇 인프라가 필요하다.

 

하지만 말 그대로 내부망은 인터넷이 되지 않는 환경이고, 이에 필요한 인프라를 오프라인으로 설치할 수 있는 준비를 해야했다.

 

CentOS의 경우 local repository를 만드는 방법을 통해 yum을 오프라인 환경에서 사용할 수 있다. 방법은 아래 링크에 적어놓았다.

https://123okk2.tistory.com/404

 

내부망에서 yum 사용

개발이 완료된 후에는 클라이언트의 서버에 개발 완료된 프로그램을 배포해주어야 한다. 하지만 당연하게도 프로그램은 단일로 동작하지 않고, Java, DB등 여러 인프라가 필요하다. 만약 서버가

123okk2.tistory.com

 

하지만 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
정상 설치되었음을 호가인할 수 있다.
728x90
반응형