우분투 패키지 오프라인 설치


우분투 패키지 오프라인 설치
인터넷 등 외부 네트워크가 연결되지 않은 환경에서 우분투 패키지를 오프라인으로 설치하는 방법에 대해서 설명드립니다.
오프라인으로 패키지를 설치하는 과정에서 어려움 중 하나가 의존성(dependancy) 문제를 해결 하는 것입니다.

패키지의 의존성을 확인하여 오프라인 서버에 업로드하여 설치하는 것은 까다로울 수 있는데, 이 글에서는 우분투 설치 ISO 파일을 마운트하여 의존성있는 패키지를 한 번에 설치 하는 방법으로 설명드리도록 하겠습니다.

우분투 패키지 오프라인 설치

우분투 설치 이미지 다운로드

아래의 페이지에서 사용하고 계신 우분투 배포판의 설치 ISO 파일을 다운로드 받아 주시기 바랍니다.

http://cdimage.ubuntu.com/ubuntu/releases/

서버 배포판 파일의 경우 ubuntu-YY.MM-live-server-amd64.iso 형태의 파일이 아니고, ubuntu-YY.MM-server-amd64.iso 형태의 파일이라는 점에 주의해 주시면 됩니다. 현재 사용하고 있는 우분투 배포판의 버전을 확인 하는 방법은 아래의 글을 참고해 주시기 바랍니다.

우분투 버전 확인

기존 Repository 삭제

인터넷이 차단된 오프라인 서버이거나, 폐쇄망일 경우 기존의 Repository를 사용할 수 없습니다. 따라서 기존에 존재하는 Repository를 삭제해 주시기 바랍니다.

기존 Repository를 삭제하는 방법은 /etc/apt/sources.list.d/ 디렉터리 안에 존재하는 모든 파일과 /etc/apt/sources.list 파일을 삭제해 주시면 됩니다. 테스트 목적일 경우, 파일을 복원하기 위해서 백업 후 삭제해 주셔도 됩니다.

우분투 설치 이미지 마운트

우분투 Repository로 사용할 설치 이미지가 자동으로 마운트 되도록 설정하도록 하겠습니다. 먼저 다음 명령어로 마운트 될 디렉터리를 생성합니다.

$ sudo mkdir -p /mnt/ubuntu/

그리고 /etc/fstab 파일에 아래와 같은 내용을 추가합니다.

/data/ubuntu-18.04.2-live-server-amd64.iso /mnt/ubuntu/ iso9660 loop 0 0

설정이 완료되면 아래의 명령어를 실행하여 우분투 이미지 파일을 마운트 합니다.

$ sudo mount /mnt/ubuntu/

오프라인 APT Repository 추가

오프라인 Repository를 추가하기 위해서는 다음과 같이 먼저 내용이 없는 /etc/apt/sources.list 파일을 생성합니다. 그리고 Repoisoty를 추가하는 명령어를 실행합니다.

마운트 위치가 다를 경우 명령어를 수정 후 실행하면 됩니다.

$ sudo touch /etc/apt/sources.list
$ sudo add-apt-repository "deb file:/mnt/ubuntu/ $(lsb_release -cs) main"

Repository가 추가되면 아래와 같이 패키지 목록을 업데이트 합니다.

$ sudo apt update
우분투 패키지 오프라인 설치

Repository 정보가 저장된 /etc/apt/sources.list 내용을 확인하면 다음과 같습니다.

$ cat /etc/apt/sources.list
# deb-src file:/mnt/ubuntu/ bionic main
deb file:/mnt/ubuntu/ bionic main

우분투 패키지 오프라인 설치

우분투 이미지를 APT Repository로 지정하였을 경우, 우분투 이미지에 포함되어 있는 패키지는 apt 명령어로 설치 할 수 있습니다. 오프라인 환경에서 의존성 있는 패키지들 까지 함께 설치 되게 됩니다.

우분투 패키지 오프라인 설치

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)