본문 바로가기
개발자 일지/Linux

[리눅스 기초]패키지 매니저(Package Manager)

by 네빌링 2021. 3. 7.
반응형

-생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다.

-리눅스에서 새로운 소프트웨어 등을 설치할 수 있는 패키지 매니저의 개념과 명령어 등에 대해 알아본다.

-가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10을 사용하였다.


 

패키지 매니저란?

 

리눅스에서 소프트웨어를 다운로드 및 업데이트 받을 때 패키지 매니저를 사용한다. 패키지 간에 서로 필요한 관계를 의존성(dependency)라고 하는데, 패키지 매니저는 이러한 의존성 관계 시스템이라고 볼 수 있다. 일종의 앱스토어라고 볼 수 있다.

 

리눅스보다 nodejs를 먼저 배웠는데 nodejs의 NPM(Node Package Manager)도 이러한 시스템을 모티브로 만들어진 것 같다.

 

참고로 mkdir, ls 등의 명령어는 기존에 디폴트로 설치되어 있는 내장프로그램이라서 따로 패키지 매니저로 업데이트할 필요는 없다. 

 

리눅스 패키지매니저 종류는 apt, yum 등이 있는데 apt로 실습한다.

 

 

관련 명령어

  • sudo apt-get update : 슈퍼유저 권한으로 설치된 패키지 버전들을 최신으로 업데이트한다.

 

 

sudo apt-get update 명령어를 실행하면 리눅스 패키지 저장소(repositories)에서 소프트웨어들을 최신버전으로 업데이트한다.

 

 

지금은 해결되었지만 처음에 sudo apt-get update를 실행했을 때 404에러가 났었다.

검색해보니 리눅스 설치 버전이 낮아서, 지원하지 않는 소프트웨어들이 old-release 저장소로 이동해서 그런 것이었다.

 

아래 블로그를 참고하여 해결하였다.

 

extrememanual.net/26688

 

우분투 apt-get update 404 not found 오류 해결 방법 - 익스트림 매뉴얼

우분투를 서버로 사용하다가 오랜만에 업데이트를 하려는 경우 다음과 같은 404 not found 오류와 함께 진행이 되지 않는 경우가 있습니다. 이 문제는 현재 사용하고 있는 우분투 버전의 업데이트

extrememanual.net

 

이제 프로세스를 효율적으로 보여주는 htop이라는 패키지를 설치해보려고 한다.

기존에 top라는 명령어를 이용해서 프로세스를 확인할 수 있지만 htop을 이용하면 좀 더 컬러풀하고 유저가 보기 좋게 정리되어 프로세스들을 확인할 수 있다.

 

일단 설치가능 여부를 확인하기 위해 다음과 같이 명령어를 사용한다.

 

  • sudo apt-cache search 패키지명 : 우분투 서버에서 패키지명을 찾아서 보여준다. 화면에 나타나면 설치가 가능하다.
  • sudo apt-get install 패키지명 : 패키지명에 맞는 소프트웨어를 설치한다. 여기서는 sudo apt-get install htop을 입력한다.

 

htop,mkdir이 우분투 서버에 있는지 확인해보았다.

 

 

respositories, sources.list

 

apt updateapt install 등의 명령 실행시 우분투는 해당 소프트웨어를 설치하기 위해 인터넷을 둘러보는데 이때 소프트웨어를 지니고 있는 사이트들을 repositories라고 부른다.

 

이 사이트들은 /etc/apt/sources.list에서 확인이 가능하다.

nano /etc/apt/sources.list 명령어로 실행해보면 아래와 같은 화면이 나온다.

 

 

위의 사이트들이 repositories들이다.

 

sources.list에 나오는 인수들에 대한 설명을 간단하게 정리해보자면 다음과 같다.

 

  • deb : 사전에 컴파일된 바이너리 패키지 .deb 파일 저장소를 사용하겠다는 의미이다.
  • deb-src : 패키지 원본소스, Debian control(.dsc), 변경사하이 포함된 diff.gz 파일이 존재하는 저장소를 사용하겠다는 의미이다.

 

그리고 quantal-updates, quantal-backports 등을 suite라고 하는데 정확히는 모르지만 아마 특정 유형 패키지들의 카테고리를 지정하는데에 쓰이는 것 같은데 정확히 검색이 안 되서 자세히는 모르겠다.

 

보라색 글씨들은 다음과 같다.

 

  • Main : 표준으로 제공된 무료 오픈소스 소프트웨어 의미한다.
  • Restricted : 공식적으로 지원되는 사유 소프트웨어를 의미한다.(하드웨어 드라이브 등)
  • Universe  커뮤니티들에 의해 유지되고 지원되는 오픈소스 소프트웨어를 의미한다.
  • Multiverse : 공식적으로 지원되지 않는 사유 소프트웨어를 의미한다.(Adobe Flash)

 

 

반응형