Ubuntu Packaging Workshop Busan

우분투 패키징 워크샵 행사, 개요

우분투 커뮤니티 데비안 컨퍼런스

snap packaging

snap : canonical에서 개발한 패키징. 범용 패키징으로 다양한 배포판에서 사용할 수 있게 함 snapd라는 프로그램을 사용하면 됨

특징

  • 의존성 패키지를 함께 설치함
  • 샌드박스 처리가 되어 있음 -> 환경 격리가 가능함
  • 트랜젝션 방식의 업데이트 : 업데이트 실패시 롤백! <- iot 등에서 유리
  • 자동 업데이트
  • 증분 업데이트 가능

구성

snapd : 스냅용 데몬 snapcraft : cli 도구

dev 패키지 vs snap

  • 배포판별 별도 이미지 vs 공통 이미지
  • 의존성이 따로 vs 같이
  • 스냅 스토어에서 배포

컨테이너 vs snap

  • 도커는 별도 머신처럼 동작, snap은 애플리케이션처럼 그냥 사용 가능.

snapcraft로 패키징

  • yaml로 패키지를 구성
  • nxd로 빌드 컨테이너를 구성하고, 해당 컨테이너에 빌드용 의존성을 설치 후 빌드를 돌림

참고

  1. 워크샵 깃헙 경로