우분투 리눅스는 데비안 형식의 패키지를 사용한다.
데비안 패키지는 간편하게 설치할 수 있게 구성된 패키지로, 간단한 명령을 사용해 패키지를 설치,삭제하고 정보를 확인할 수 있다.
01 우분투 패키지의 개요
- 리눅스에서 소프트웨어는 소스 코드 형식 또는 바로 설치하여 사용할 수 있는 패키지 형태로 배포된다.
- 소스 코드 : 대부분 하나의 아카이브 파일로 묶은 후 압축하여 배포
- 바이너리 패키지 : 리눅스에서 주로 사용하는 패키지는 RPM과 deb, 두 가지 형식이 있음.
- 우분투에서는 기본적으로 deb 형식의 패키지를 사용하고 RPM 형식은 레드햇 계열 리눅스(페도라)에서 사용
- 우분투는 기본적으로 데비안 계열의 표준 패키지인 deb 패키지를 사용하며, 구조가 단순하여 설치와 제거가 매우 쉽다.
-
우분투 패키지의 특징
- 바이너리 파일로 구성되어 있어 컴파일이 필요 없다.
- 패키지의 파일이 관련 디렉터리에 바로 설치된다.
- 패키지를 삭제할 때 관련된 파일을 일괄적으로 삭제할 수 있다.
- 기존에 설치한 패키지를 삭제하지않고 바로 업그레이드할 수 있다.
- 패키지의 설치 상태를 검증할 수 있다.
- 패키지에 대한 정보를 제공한다.
- 해당 패키지가 의존하는 패키지가 무엇인지 알려준다. 따라서 의존성이 있는 패키지를 미리 설치할 수도 있고, apt-get 명령을 사용하면 의존성이 있는 패키지가 자동으로 설치된다.
-
우분투 패키지의 카테고리
- 공식적 데비안 배포판에 포함된 모든 패키지는 자유롭게 사용 및 배포할 수 있으며, 우분투도 네 개의 카테고리로 나누어 소프트웨어를 제공한다.
main : 우분투에 의해 공식적으로 지원되며 자유롭게 배포할 수 있다.
restricted : 우분투에 의해 지원되나 완전한 자유 라이선스 소프트웨어는 아니다.
universe : 리눅스에서 사용할 수 있는 대부분의 소프트웨어로 자유 소프트웨어일 수도 있고
아닐 수도 있으며, 기술적 지원을 보장하지 않는다.
multiverse : 자유 소프트웨어가 아닌 소프트웨어가 포함되어 있으며, 개인이 직접 라이선스를
확인해야 한다.
-
우분투 패키지의 이름 구성
-
우분투 패키지 저장소
-
패키지 저장소 : 패키지와 패키지에 대한 정보를 저장하고 있는 서버
-
패키지 저장소에서는 패키지의 업그레이드를 집중적으로 관리하고, 사용자는 저장소에 접속해 최신 패키지를 내려받을 수 있다.
-
패키지 저장소를 이용할려면 먼저 설정해야 한다.
-
패키지 저장소의 정보는 /etc/apt/sources.list 파일에 저장되어 있다.

각 행은 패키지 유형(바이너리, 소스), 저장소 주소, 우분투 버전 정보, 카테고리로 구성되어 있다. 이 파일을 수정하여 저장소를 추가하거나 삭제할 수 있다. 수정한 것을 적용할려면 APT 명령으로 수행한다.
<aside>
💡 저장소의 정보
- 패키지 유형 : deb는 바이너리 패키지의 저종소를, deb-src는 패키지 소스 저장소를 의미한다. 보통 한 저장소에 바이너리와 소스를 함께 저장한다.
- 저장소 주소 : http 프로토콜을 사용하는 URL 주소를 사용한다.
- 우분투 버전 정보 : 저장소에서 관리하는 패키지에 해당하는 우분투의 버전을 표시한다. 버전은 번호가 아니라 버전의 이름을 사용한다.
- 카테고리 : 저장소가 가지고 있는 소프트웨어 카테고리(main, restricted 등)을 표시한다.
</aside>
<aside>
💡 앞 사진의 첫번째 저장소 정보인 “deb http://kr.ports.ubuntu.com/ubuntu-ports/ jammy main restricted”에서 알 수 있는 정보
02 우분투 패키지 설치
APT 명령으로 패키지 관리하기
- advanced package tool의 약자로 대표적인 명령은 apt-get, apt-cache이다.
-
apt-cache
- 기능 : APT 캐시(패키지 데이터 베이스)에서 여러 가지 정보를 검색한다.
- 형식 : apt-cache [옵션] 서브 명령
- 옵션
- -f : 검색 결과로 패키지에 대한 전체 기록을 출력한다.
- -h : 간단하 도움말을 출력한다.
- 서브 명령
- stats : 캐시에 대한 통계 정보를 출력한다.
- dump : 현재 설치된 패키지를 업그레이드한다.
- search 키워드 : 캐시에서 키워드를 검색한다.
- showpkg 패키지명 : 패키지에 대한 의존성 정보와 역의존성 정보를 검색하여 출력한다.
- show 패키지명 : 패키지에 대한 간단한 정보를 출력한다.
- pkgnames : 사용 가능한 모든 패키지의 이름을 출력한다.
-
APT 캐시 통계 정보 보기 : stats 명령

<aside>
💡 apt-cache stats 명령으로 출력되는 주요 정보
- 전체 패키지 이름 : 캐시에 있는 패키지 이름의 전체 개수
- 일반 패키지 : 일반적으로 사용하는 패키지의 개수 의미
- 순수 가상 패키지 : 패키지의 이름만 제공하고 그 이름의 패키지가 실제로 있는 것은 아니다.
- 단일 가상 패키지 : 한 패키지가 특정한 가상 패키지의 기능을 제공하는 경우
- 혼합 가상 패키지 : 특정한 가상 패키지를 제공하거나 가상 패키지의 이름을 패키지 이름으로 사용하는 경우
- 빠짐 : 의존성은 있지만 어떠한 패키지도 제공하지 않는 패키지
- 개별 버전 전체 : 캐시에 있는 패키지 버전의 개수. 이 숫자는 전체 패키지 이름의 개수보다 이하다.
- 전체 의존성 : 캐시에 있는 모든 패키지의 의존성 관계를 의미
</aside>
-
사용 가능한 패키지 이름 보기 : pkgnames 명령
user1@myubuntu:~$ apt-cache pkgnames
##사용 가능한 전체 패키지의 이름 보기##
-
패키지 이름 검색하기 : search 명령

패키지 설치하기 전에 이름과 간단한 설명을 검색할때 사용. vsftpd를 검색한 예시
-
패키지 정보 검색하기 : show 명령

버전, 패키지 크기, 카테고리, 체크섬 등 패키지에 관한 정보를 확인하는 명령