스냅(snap)

inlinetoc

우분투 16.04버전부터 애플리케이션 패키지 포맷으로 스냅(snap)을 도입했다. 패키지 안에 바이너리와 종속성(dependencies)을 함께 포함시킬 수 있다.

스냅으로 만들어진 애플리케이션은 내부에 구동을 위한 요소를 포함하고 있어 OS에 덜 의존한다. 개발자가 더 이상 기본 시스템의 의존성(Dependency)을 신경쓰지 않아도 된다. 어플리케이션 안에 프로그램이 사용하는 모든 라이브러리가 포함되어 빌드되는 형태이다. 이 때문에 개발자와 사용자 사이에 '의존성이 있는 라이브러리'에 대한 정보를 공유할 필요가 없어진다. 개발자는 그냥 패키지를 배포하면 되고, 사용자는 받아서 사용하면 된다. deb이나 rpm 기반 패키지보다 이식성과 업데이트 관리에서 우월하다.

스냅 패키지를 생성하려면 스냅크래프트(snapcarft) 란 오픈소스툴을 사용하면 쉽다. 데스크톱에서 직접 애플리케이션을 작성하고 테스트하는 환경도 제공한다.

https://snapcraft.io/

명령

sudo snap find : 설치할 스냅 패키지 찾아보기
sudo snap install <패키지> : 스냅 패키지 설치
sudo snap list: 설치한 스냅 패키지 보기
sudo snap changes:  시스템 변경 목록 보기
sudo snap refresh : 최신 스냅패키지로 업그레이드
sudo snap remove <패키지>: 스냅 패키지 제거

이전 코어는 다음의 명령으로 수동으로 제거할 수 있다.

sudo snap remove core --revision <number>

제거하면 df 시 거슬리는 /dev/loop 를 몇 개 제거할 수 있다.