본문 바로가기

IT/리눅스

우분투 패키지 찾기, 설치없이 다운로드 하기(수동 설치, dpkg 사용법)

반응형

개발을 하다보면 가끔 인터넷이 되지 않는 환경(외부망과 분리)에서 서버를 구축해야하는 경우가 있습니다.

apt나 yum으로 항상 설치를 하는데 익숙하다 보니 인터넷이 안되면 난감합니다. 

 

이럴때 미리 설치할 패키지를 다 준비해 놓았다가 설치하는 방법을 사용하게 됩니다. 

그럼 미리 패키지를 다운로드 받아 놔야겠죠??

 

여기서는 usb 디바이스의 목록을 보기위한 lsusb 명령을 제공하는 usbutils 패키지를 준비하고 설치하는 과정으로 설명합니다. 

 

1. 패키지 검색

먼저 repo에 패키지가 있는지 검색해보면  목록이 보입니다.

 

> apt-cache search usbutils

usbutils - Linux USB utilities

 

2. 패키지 다운로드 

여기서 설치해버리지말고 다운로드만 받아보겠습니다. 

 

> apt-get install --download-only usbutils

 

다운받은 apt 패키지는 모두 다음 위치에 저장됩니다.

/var/cache/apt/archives

 

제대로 받아졌는지 확인해보고 현재 작업 폴더로 복사합니다. 

>  ll -t  /var/cache/apt/archives/usb*

-rw-r--r-- 1 root root 202428 Apr 22  2017 /var/cache/apt/archives/usbutils_1%3a007-4build1_arm64.deb

 

 

반응형

 

3. 패키지 수동 설치 

 

dpkg와 apt-get은 모두 우분투에서 패키지를 관리하는 데 사용되는 명령입니다. 

dpkg는 .deb 파일을 직접 설치, 제거 및 관리하는 데 사용되는 저수준 도구입니다. 반면에 apt-get은 인터넷에서 패키지를 다운로드하고 설치하는 데 사용되는 고수준 도구입니다. 

apt-get은 의존성을 자동으로 해결하고 패키지를 업데이트하는 등의 기능을 제공하지만 dpkg는 의존성을 자동으로 해결하지 않기 때문에 필요한 관련 패키지도 직접 받아야 합니다

 

그럼 잘 되는지 볼까요?

 

> dpkg -i usbutils_1%3a007-4build1_arm64.deb

 

Selecting previously unselected package usbutils.

(Reading database ... 29802 files and directories currently installed.)

Preparing to unpack usbutils_1%3a007-4build1_arm64.deb ...

Unpacking usbutils (1:007-4build1) ...

dpkg: dependency problems prevent configuration of usbutils:

 usbutils depends on libusb-1.0-0 (>= 2:1.0.16); however:

Package libusb-1.0-0 is not installed.    <=== 문제발생 

 

역시 먼저 설치되어야하는 의존성 패키지가 있었습니다.

동일한 방법으로 다시 받아서 제대로 받아졌는지 확인해보고 현재 작업 폴더로 복사합니다. 

 

apt-get install --download-only libusb-1.0-0

 

의존성 순서대로 설치해봅니다.

dpkg -i libusb-1.0-0_2%3a1.0.21-2_arm64.deb

dpkg -i usbutils_1%3a007-4build1_arm64.deb

 

이번에는 에러 없이 잘 설치가 되네요.

 

4. 설치 결과 확인

 

설치된 패키지 목록을 확인해보겠습니다.

dpkg -l |grep usb

 

 

패키지가 잘 동작하는지 명령어로 확인해보면 끝

 

 

반응형