본문 바로가기

IT/unix_unixlike

Ubuntu18.04 오프라인으로 패키지 설치하기

반응형

인터넷이 안되는 환경에서, 우분투의 패키지 설치 방법


일단 온라인이 되는 우분투 환경이 하나 필요하다.


그리고 


1.  온라인/오프라인 환경에 모두 apt-offline 모듈을 설치한다.


온라인쪽은 단순히 


on-line$ sudo apt install apt-offline


으로 설치하면 되지만,  오프라인쪽은 해당 패키지(deb) 를 다운받아서 설치해 줘야 한다.


https://pkgs.org/download/apt-offline


위의 사이트에 들어가서 자신의 버전에 맞는것 (18.04 는 Bionic Beaver) 을 다운받는다.


usb 또는 기타 저장 매체를 이용해 오프라인 우분투에 해당 파일을 복사해 주고, 


패키지 인스톨러로 설치해 준다.


off-line$ sudo dpkg -I apt-offline_1.8.1_all.deb


혹시 의존성 때문에 설치가 실패하면, 해당파일들도 찾아서 같이 설치 해 준다.



2. 오프라인 쪽에 패키지 리스트 업데이트 및 전체 업그레이드를 진행한다.


우분투 설치후, 최신 패키지를 설치하기위해 update -> upgrade 를 했던것을 오프라인 우분투에도 해줘야 한다.


##업데이트 sig 파일 생성


off-line$ sudo apt-offline set apt-offline-update.sig --update


#오프라인 우분투에서 생성된 sig 파일을 온라인으로 옮긴후, 아래 커맨드 실행


on-line$ sudo apt-offline get apt-offline-update.sig --thread 5 --bundle apt-offline-update.zip


#생성된 zip 파일을 다시 오프라인으로 가져와서 아래 커맨드 실행


off-line$ sudo apt-offline install apt-offline-update.zip


#실제 업그레이드를 인스톨 하기위해 온/오프라인 을 오가며 다음아래로 진행


off-line$ sudo apt-offline set upgrade.sig --upgrade


on-line$ sudo apt-offline get upgrade.sig --thread 5 --bundle upgrade.zip


off-line$ sudo apt-offline install upgrade.zip

off-line$ sudo apt-get upgrade. #오프라인에 패키지 업그레이드 실제 시작!!


2번을 정기적으로 진행해서 오프라인에 있는 우분투의 패키지도 최신버전을 유지 할 수 있다!!


아래에서 이제 필요한 패키지를 선택해서 설치할 수 있다. 방법은 비슷하다.


3. 필요한 패키지들에 대한 sig 파일을 생성하여 온라인에서 다운받아 압축 후, 오프라인에 설치

--> git 서버를 설치하는 예제


#필요한 패키지를 인터넷 검색 또는 온라인 우분투에서 확인하고 메모 한다.


#오프라인 우분투에서 apt-offline 을 이용해 sig 파일을 생성한다.

off-line$ sudo apt-offline set install-20190119.sig --install-packages git gitweb apache2 libapache2-mod-fcgid libcgi-session-perl


#온라인에서 다운받기 ( thread 는 다운받을 때 생기는 쓰레드 . 2정도가 적당함 

on-line$ sudo apt-offline get install-20190119.sig --bundle install-20190119.zip --threads 2


#오프라인에서 해당 모듈 파일을 로컬 저장소에 복사

off-line$ sudo apt-offline install install-20190119.zip

#실제 설치

off-line$ sudo apt-get install git gitweb apache2 libapache2-mod-fcgid libcgi-session-perl


지금까지 해본 바로는 문제없이 잘 설치 되었다.

centOS도 오프라인 환경이라 패키지 업데이트를 하기위해서 열심히 노력했었는데, 로컬 저장소 만들기라던가, 실험적 패키지는 또 분리되어 있는 상황들이 많아서 실패했었는데 ㅠㅠ 우분투는 만족스럽게 잘되었다. 굿굿







반응형