Linux에서 필요한 작업을 위해 필요한 패키지들을 설치하는 일이 윈도우와는 달리 상당히 번거롭고 혹은 까다롭고 심지어는 불가능할수도 있다.

가장 대표적으로는 apt-get install some_package_name

으로 설치가 되는 경우는 Linux 버전이 최신 버전이거나 사용하는 cpu가 통상적으로 많이 사용되는 경우들이다. 이런 경우는 repository에 해당 패키지가 있기 때문에 쉽게 설치가 된다.

동일한 Ubuntu에서도 CPU architecture가 다를 경우는 역시 설치에 문제가 많이 발생한다.


우선 사용중인 Linux가 어떤 종류인지 확인해 보자. 명령어는

# grep . /etc/*-release


다음과 같이 리눅스 종류와 버전 정보가 나타난다.

아래의 경우는 Ubuntu 16.04인 경우이다.


/etc/lsb-release:DISTRIB_ID=Ubuntu

/etc/lsb-release:DISTRIB_RELEASE=16.04

/etc/lsb-release:DISTRIB_CODENAME=xenial

/etc/lsb-release:DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

/etc/os-release:NAME="Ubuntu"

/etc/os-release:VERSION="16.04.3 LTS (Xenial Xerus)"

/etc/os-release:ID=ubuntu

/etc/os-release:ID_LIKE=debian

/etc/os-release:PRETTY_NAME="Ubuntu 16.04.3 LTS"

/etc/os-release:VERSION_ID="16.04"

/etc/os-release:HOME_URL="http://www.ubuntu.com/"

/etc/os-release:SUPPORT_URL="http://help.ubuntu.com/"

/etc/os-release:BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

/etc/os-release:VERSION_CODENAME=xenial

/etc/os-release:UBUNTU_CODENAME=xenial


다음은 리눅스 커널이 몇 bit인지를 확인해 보자


# getconf LONG_BIT


이 경우 32bit인경우 32, 64bit인 경우는 64의 값을 출력해 준다.


다음은 사용중인 cpu architecture가 무엇인지를 알아보자


# dpkg --print-architecture


여기서 amd64, i386, armhf 등의 해당 정보가 표시된다.

이러한 정보들을 가지고 패키지가 정상적으로 설치되지 않을 경우 활용할수 있는 정보들이다.

repository를 추가해서 설치하거나, 소스를 다운로드 받아서 새롭게 컴파일하는 등의 방법이 있으나 본 포스트에서는 Ubuntu(Debian 계열)의 경우 해당 버전, architecture등에 맞는 설치 패키지들이 잘 준비가 되어 있고 이것을 그냥 다운로드 받아서 dpkg라는 패키지 설치 명령어로 설치하는 방법에 대해서 정리하고자 한다.


참고로 repository를 추가하는 방법은


vi  /etc/apt/sources.list 파일을 열어서 해당 repository를 추가 및 저장한 후


# apt-get update를 한 후 apt-get install로 해당 패키지 설치를 시도해 보면 된다.


아래 사이트는 Ubuntu와 같은 Debian 계열의 각종 리눅스 종류와 버전들, 각종의 programming language들에 필요한 대한 매우 다양한 종류의 설치 패키지(.deb)가 잘 마련되어 있다. 


https://packages.debian.org/sid/


예를 들어 Python에서 사용할 Kivy 패키지를 찾고자 한다면 웹브라우저 상의 Ctrl-F로 Python을 찾는다. 찾아진 Python 항목을 클릭해서 들어가면 다음과 같은 웹 페이지가 열린다.


https://packages.debian.org/sid/python/


이 페이지에서 역시 Ctrl-F로 Kivy 항목을 찾는다. 그러면 다음과 같은 항목들이 있을 것이다.


python-kivy (1.9.1-1+b1 [alpha, amd64, arm64, armel, armhf, hppa, hurd-i386, i386, kfreebsd-amd64, kfreebsd-i386, m68k, mips, mips64el, mipsel, powerpc, powerpcspe, ppc64, ppc64el, s390x, sparc64, x32], 1.9.1-1 [sh4])

Kivy - Multimedia / Multitouch framework in Python (Python 2)


python-kivy-examples (1.9.1-1)

Kivy - Multimedia / Multitouch framework in Python (examples)


여기서 python-kivy를 설치하고자 할경우 위의 첫 번째 항목을 클릭해서 들어가면 해당 패키지에 대한 설명과 관련 의존성 패키지들(dependency packages)이 모두 나와 있고 아랫쪽에 내려가면 python-kivy에 대한 Architecture별로 다운로드 받을수 있도록 목록이 나와있다.

해당 architecture를 선택해서 들어가면 다운로드 받을수 있는 ftp들 목록이 나온다. 원하는 목록에 대해 마우스 우측 클릭해서 해당 경로의 url 주소를 가지고 Linux에서 wget을 이용해서 다운로드 받은후(xxx.deb) dpkg로 설치하면 된다.


wget http://ftp.kr.debian.org/debian/pool/main/k/kivy/python-kivy_1.9.1-1+b1_armhf.deb 


혹은 리눅스의 웹브라우저로 위의 사이트에 들어가서 직접 다운로드 해도 된다.

설치는 다음과 같이


dpkg -i python-kivy_1.9.1-1+b1_armhf.deb 


리눅스의 경우 패키지 설치는 매우 다양한 변수들에 영향을 받는다. 따라서 상황따라 대처해야 하는수 밖에 없다.




+ Recent posts