티스토리 뷰
리눅스에서 소프트웨어는 소스 코드 또는 바로 설치하여 사용할 수 있는 패키지 형태로 배포된다. 소스 코드로 배포하는 경우 대부분 하나의 아카이브 파일로 묶은 후 압축하여 배포한다. 패키지로 배포되는 경우 리눅스에서 주로 사용하는 형식인 RPM, deb이 있다.
RPM(Redhat Package Manager): 레드햇 계열 리눅스(페도라)에서 주로 사용
deb: 데비안, 우분투 계열에서 사용하는 패키지
스냅: 기존 패키지 형식의 의존성 문제를 해결. 우분투 16.04 부터 도입
우분투 패키지의 특징
- 바이너리 파일로 구성되어 있어 컴파일이 필요 없다.
- 패키지의 파일이 관련 디렉터리에 바로 설치된다.
- 패키지를 삭제할 때 관련된 파일을 일괄적으로 삭제할 수 있다.
- 기존에 설치한 패키지를 삭제하지 않고 바로 업그레이드할 수 있다.
- 패키지의 설치 상태를 검증할 수 있다.
- 패키지에 대한 정보를 제공한다.
- 해당 패키지와 의존성을 가지고 있는 패키지가 무엇인지 알려준다. 따라서 의존성이 있는 패키지를 미리 설치할 수도 있고, apt-get 명령을 사용하면 의존성이 있는 패키지가 자동으로 설치된다.
우분투 패키지의 카테고리
공식적으로 데비안 배포판에 포함된 모든 패키지는 데비안 자유 소프트웨어 지침에 따라 자유롭게 사용하고 배포할 수 있으며, 우분투도 네 개의 카테고리로 나누어 소프트웨어를 제공한다.
- main: 우분투에 의해 공식적으로 지원되며 자유롭게 배포할 수 있다.
- restricted: 우분투에 의해 지원되나 완전한 자유 라이선스 소프트웨어는 아니다.
- universe: 리눅스에서 사용할 수 있는 거의 대부분의 소프트웨어로 자유 소프트웨어일 수도 있고 아닐 수도 있으며, 기술적 지원을 보장하지 않는다.
- multiverse: 자유 소프트웨어가 아닌 소프트웨어가 포함되어 있으며, 개인이 직접 라이선스를 확인해야 한다
우분투 패키지의 이름 구성
파일명_버전-리버전_아키텍처.deb
파일명: 첫 번째 항목은 패키지의 성격을 나타내는 파일명이다.
패키지 버전: 두 번째 항목은 패키지의 버전을 의미한다.
패키지 리비전: 리비전은 원래 소스의 버전이 업그레이드되지는 않았지만, 패키지의 보안 문제나 의존성 변화, 스크립트의 변화 등이 있음을 의미한다.
아키텍처: 사용하는 시스템 아키텍처로 i386은 인텔을, all은 시스템과 상관없는 문서나 스크립트 등을 뜻한다.
확장자: 확장자는 .deb를 사용한다.
ex) netcat_1.10-41.1_all.deb
파일명: netcat
패키지 버전: 1.10
패키지 리비전: 41.1
아키텍처: all(시스템과 상관없는 문서나 스크립트)
확장자: deb
ex) gnome-shell_3.26.1-0ubuntu5_amd64.deb
파일명: gnome-shell
패키지 버전: 3.26.1
패키지 리비전: 0ubuntu5
아키텍처: amd64.(64bit용)
확장자: deb
우분투 패키지 저장소
우분투는 패키지와 패키지에 대한 정보를 저장하고 있는 서버인 패키지 저장소라는 개념을 사용
패키지 저장소에서는 패키지의 기능 추가나 보안 패치 등 지속적인 업그레이드를 집중적으로 관리
사용자는 저장소에 접속하여 최신 패키지를 다운로드하여 설치 가능
패키지 저장소를 이용하려면 먼저 패키지 저장소를 설정해야 함.
패키지 저장소에 대한 정보는 /etc/apt/sources.list 파일에 저장
이 파일을 수정하면 패키지 저장소를 추가/삭제 가능
파일 수정 후 수정된 것을 시스템이 알 수 있도록 해야 함. (apt-get update 명령)
파일은 저장소의 정보를 한 줄에 하나씩 나열하는데, 각 행은 패키지 유형, 저장소 주소, 우분투 버전 정보, 카테고리로 구성되어 있다.
- 패키지 유형 : deb는 바이너리 패키지의 저장소를, deb-src는 패키지의 소스 저장소를 의미한다. 보통 한 저장소에 바이너리와 소스를 함께 저장
- 저장소 주소 : http 프로토콜을 사용하는 URL 주소를 사용
- 우분투 버전 정보 : 저장소에서 관리하는 패키지에 해당하는 우분투의 버전을 표시한다. 버전은 번호가 아니라 버전의 이름을 사용
- 카테고리 : 저장소가 가지고 있는 패키지의 카테고리(main, restricted 등)를 표시
ex) deb http://kr.archive.ubuntu.com/ubuntu/ artiful main restricted
패키지 유형: deb (바이너리 패키지)
저장 주소: http://kr.archive.ubuntu.com/ubuntu/
우분투 버전 : artiful (우분투 17.10 버전용)
카테고리: main, restricted
'cs > linux' 카테고리의 다른 글
[리눅스/Linux] 우분투 패키지 설치 방법 ② dpkg 명령 (0) | 2021.01.28 |
---|---|
[리눅스/Linux] 우분투 패키지 설치 방법 ① APT 명령(apt-cache, apt-get) (0) | 2021.01.28 |
[리눅스/Linux] 부트 로더 (LILO, GRUB, 암호 복구, 복구 모드) (0) | 2021.01.27 |
[리눅스/Linux] 데몬 프로세스 (데몬의 동작 방식/슈퍼데몬/데몬의 조상) (0) | 2021.01.27 |
[리눅스/Linux] 리눅스 시스템 종료 방법 (0) | 2021.01.27 |