Raspberry Pi_Kor_17.4.3 GitHub를 이용해서 인터넷에서 download하는 방법

17.4.3 GitHub를 이용해서 인터넷에서 download하는 방법

마직막으로는 GitHub에서 source 프로그램을 제공하는 프로그램들도 있다. GitHub는 open source 프로그램을 개발하고, 배포하고, 사후 수정하는 과정에서 개발 프로그램 source code들을 안전하게 관리할 수 있게 해주고, 개발 시작부터 사후 관리까지 계속적인 수정사항들에 대한 version을 관리할 수 있는 도구를 제공해 준다. 여기에서 관리하는 프로그램들은 GitHub repository에 보관되어 있는데, 필요한 사람들은 언제나 해당 프로그램 source를 download하여 사용할 수 있다.

Raspberry Pi_Kor_17.4.2 “wget” 명령으로 인터넷에서 download하는 방법

17.4.2 “wget” 명령으로 인터넷에서 download하는 방법

우리는 때때로 인터넷에서 프로그램을 직접 download하여 설치하는 경우가 있다. 이때 물론 web browser에서 해당 프로그램을 download할 수도 있지만, Raspberry Pi의 Shell Terminal에 직접 URL을 지정하여 필요한 프로그램을 download할 수도 있다. 이때 사용하는 명령이 “wget” 명령이다.

Raspberry Pi_Kor_17.4.1 package repository에 등록된 프로그램 이용 방법

17.4 설치 프로그램 source 확보

Raspberry Pi 시스템에 설치할 수 있는 프로그램은 여러 가지 형태로 제공된다. Raspbian 운영체제에서 package repository를 통하여 공식적으로 배포될 수도 있고, 인터넷에서 개별적으로 download하여 사용할 수도 있으며, open source 공유 홈페이지인 Git Hub와 같은 repository에서 프로그램을 download할 수도 있다. 다음에는 이러한 각각의 source을 처리하는 방법에 대해서 알아 보기로 한다.

17.4.1 package repository에 등록된 프로그램 이용 방법

Raspbian 배포판에는 시스템 전반적으로 package를 체계적으로 관리해 주는 package manager system이 있고, 이 속에는 설치 가능 프로그램 목록 정보를 가지고 있는 package repository가 포함되어 있다.

Raspberry Pi_Kor_17.3 프로그램 package 목록 및 상태 확인

17.3 프로그램 package 목록 및 상태 확인

Raspberry Pi에서 사용할 수 있는 프로그램 package 목록을 확인하고 해당 package가 설치되어 있는지를 확인해 보는 방법이 있다.

여러 가지 방법 중에서 “dpkg” 명령을 사용하는 사례를 설명하겠다. 아래와 같이 “dpkg –l” 명령을 사용하면 일정한 pattern을 가진 package 목록을 조회해 볼 수 있다.

Raspberry Pi_Kor_17.2.4 package 관리도구 – aptitude

17.2.4 package 관리도구 – aptitude

“aptitude”는 APT package 관리체계에서 가장 상위에 있는 frontend interface로서, 다양한 기능을 가지고 있는 package 관리도구이다.

■ “aptitude”는 fullscreen interactive text user interface와 command line user interface를 함께 제공한다.

■ “aptitude”는 설치되어 있는 package를 검사하거나 사용가능 package를 검사하는 것처럼 일상적인 상호작용이 필요한 package 관리 작업에 적합하다.

■ “aptitude”는 hardware resources를 상대적으로 많이 사용한다.

Raspberry Pi_Kor_17.2.3 package 관리도구 – APT

17.2.3 package 관리도구 – APT

17.2.3.1 APT 도구 개요

APT(Advanced Package Tool)는 Debian packaging system에 대한 고급 interface로서, “apt-get” 프로그램을 제공해준다. 이 도구는 순차적인 설치작업을 완벽히 지원하고, 복수 source에 있는 자료를 처리할 수 있으며, 기타 여러 가지 특징있는 기능들을 제공해 준다. Debian에서 이러한 APT 기반 package 관리도구를 이용해서 repository를 이용한 package 관리작업들은 처리할 수 있다.

Raspberry Pi_Kor_17.2.2 package 관리도구 – dpkg

17.2.2 package 관리도구 – dpkg

“dpkg” 도구는 Debian의 package management system에 기반을 두고 있는 software로서, “.deb” packages를 설치하거나 삭제하고, package에 대한 정보를 제공하는 용도로 사용된다.

“dpkg” package는 “dpkg” program뿐만 아니라 “dpkg-deb”, “dpkg-split”, “dpkg-query”, “dpkg-statoverride”, “dpkg-divert”, “dpkg-trigger”와 같이 packaging system을 실제로 작동시키는데 필요한 여러 가지 프로그램들이 함께 포함되어 있다.

Raspberry Pi_Kor_17.1.5 package 이름 규칙

17.1.5 package 이름 규칙

package는 통상 “deb” 확장자 형식의 파일 이름을 가지고 있다. “deb”는 Debian software package format에 대한 extension으로 binary package에 대해서 사용되는 이름이다. package의 파일 이름의 기본 형식은 다음과 같다.

_-_.deb

Raspberry Pi_Kor_17.1.4 package repository의 source list

17.1.4 package repository의 source list

package manager가 package에 대한 정보를 어디서 download해야 하는지를 지정한 장소를 source list라고 하는데, Debian의 APT 도구는 “/etc/apt/sources.list” 파일에서 package를 download할 source list를 결정한다. CD-ROM, HTTP 서버, FTP 서버, 하드디스크 모두 소스가 될 수 있다.

source list는 복수의 활동 source를 지원하고, 다양한 source 매체를 지원하도록 설계되어 있다. 이 파일은 하나의 source에 한 줄을 사용하고, 가장 선호하는 source를 먼저 기술하도록 되어 있다.

Raspberry Pi_Kor_17.1.3 package manager system

17.1.3 package manager system

package manager 또는 package management system는 특정 컴퓨터 운영체제에서 프로그램을 설치하고, upgrade하고, 설정항목을 조정하고, 삭제하는 과정을 일관성 있게 자동화해 주는 일련의 소프트웨어 도구를 말한다. Debian은 package manager system을 이용하여 시스템에 설치된 소프트웨어 package 전체를 하나로 묶어서 통합적으로 관리한다.