Ubuntu Packaging Workshop Busan
우분투 패키징 워크샵 행사, 개요
우분투 커뮤니티 데비안 컨퍼런스
snap packaging
snap : canonical에서 개발한 패키징. 범용 패키징으로 다양한 배포판에서 사용할 수 있게 함 snapd라는 프로그램을 사용하면 됨
특징
- 의존성 패키지를 함께 설치함
- 샌드박스 처리가 되어 있음 -> 환경 격리가 가능함
- 트랜젝션 방식의 업데이트 : 업데이트 실패시 롤백! <- iot 등에서 유리
- 자동 업데이트
- 증분 업데이트 가능
구성
snapd : 스냅용 데몬 snapcraft : cli 도구
dev 패키지 vs snap
- 배포판별 별도 이미지 vs 공통 이미지
- 의존성이 따로 vs 같이
- 스냅 스토어에서 배포
컨테이너 vs snap
- 도커는 별도 머신처럼 동작, snap은 애플리케이션처럼 그냥 사용 가능.
snapcraft로 패키징
- yaml로 패키지를 구성
- nxd로 빌드 컨테이너를 구성하고, 해당 컨테이너에 빌드용 의존성을 설치 후 빌드를 돌림