스냅 패키지 매니저 실용 가이드

스냅 매니저와 함께하는 유니버설 리눅스 패키지

Snap는 Canonical에서 개발한 혁신적인 보편적인 패키지 관리 시스템으로, 컨테이너화된 애플리케이션, 자동 업데이트, 강화된 보안 기능을 Ubuntu 및 기타 Linux 배포판에 제공합니다.

cross-dependent-modules 이 멋진 이미지는 AI 모델 Flux 1 dev에 의해 생성되었습니다.

Snap이란?

Snap은 Canonical에서 Linux 커널을 사용하는 운영체제를 위해 개발한 소프트웨어 패키징 및 배포 시스템입니다. Snap 패키지(“snaps”라고 불림)는 다양한 Linux 배포판에서 작동하는 컨테이너화된 소프트웨어 패키지로, 일관된 애플리케이션 경험을 제공합니다. 전통적인 패키지가 시스템 라이브러리를 공유하는 것과 달리, Snaps는 모든 종속성을 포함하여 다양한 시스템에서 일관된 동작을 보장합니다.

주요 특징:

  • 자체 포함: 각 snap은 모든 종속성을 포함합니다(충돌 없음)
  • 자동 업데이트: 배경에서 자동으로 업데이트됩니다(하루에 4회 확인)
  • 샌드박싱: AppArmor 제한이 보안 격리를 제공
  • 보편적: Ubuntu, Fedora, Debian, Arch 및 기타 배포판에서 작동
  • 트랜잭션: 업데이트는 원자적이고 롤백 가능
  • 백그라운드 서비스: snapd 데몬이 snaps 및 업데이트를 관리

패키지 관리자 비교

Ubuntu는 여러 패키지 관리 시스템을 지원합니다. 주요 작업의 비교는 다음과 같습니다:

작업 Snap APT Flatpak
검색 snap find keyword apt search keyword flatpak search keyword
설치 sudo snap install package sudo apt install package flatpak install flathub app.id
설치된 항목 보기 snap list apt list --installed flatpak list --app
정보 보기 snap info package apt show package flatpak info app.id
모든 업데이트 sudo snap refresh sudo apt update && sudo apt upgrade flatpak update
단일 업데이트 sudo snap refresh package sudo apt install --only-upgrade pkg flatpak update app.id
제거 sudo snap remove package sudo apt remove package flatpak uninstall app.id
정리 snap remove --revision=N sudo apt autoremove flatpak uninstall --unused
저장소 Snap Store(내장) /etc/apt/sources.list flatpak remote-add로 추가

빠른 기능 비교

기능 Snap APT Flatpak
자동 업데이트 아니오 아니오
샌드박싱 아니오
종속성 포함 시스템 라이브러리 공유 런타임
패키지 크기 크다(50-500MB) 작다(5-50MB) 중간(20-200MB)
루트 권한 필요 아니오(사용자 설치)
시작 속도 느리다 빠르다 빠르다
최적 사용처 보편적인 앱 시스템 패키지 데스크탑 앱

이 가이드에 대해

이 가이드는 Snap에 초점을 맞추고 있습니다 - Canonical의 자동 업데이트 및 강력한 샌드박싱 기능을 갖춘 보편적인 패키지 관리자입니다. Snap은 교차 배포판 앱, 데스크탑 소프트웨어, 수동 개입 없이 자동 보안 업데이트가 필요한 시나리오에 이상적입니다.

다른 패키지 관리자에 대해:

각 패키지 관리자는 자신의 강점이 있습니다. Snap은 자동 업데이트 및 교차 버전 호환성이 필요한 앱에, APT는 시스템 패키지 및 라이브러리에, Flatpak은 세부적인 권한 제어가 필요한 데스크탑 앱에 적합합니다.


Snap 패키지 관리 - 상세 가이드

Snapd 설치

Ubuntu (16.04+에 사전 설치됨)

Ubuntu 16.04 및 이후 버전에서는 Snap이 사전 설치되어 있습니다. 새롭게 설치하는 Ubuntu를 사용 중이라면, Ubuntu 24.04 설치 및 필수 도구 가이드를 참조하여 완전한 설치 가이드를 확인하세요.

# snapd가 설치되었는지 확인
snap version

# 설치되지 않았다면 설치
sudo apt update
sudo apt install snapd

# snapd 서비스 활성화
sudo systemctl enable --now snapd.socket

# 선택 사항: 클래식 snap 지원 활성화
sudo ln -s /var/lib/snapd/snap /snap

다른 배포판

Debian:

sudo apt update
sudo apt install snapd
sudo systemctl enable --now snapd.socket

Fedora:

sudo dnf install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

Arch Linux:

git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
sudo systemctl enable --now snapd.socket

Linux Mint:

Linux Mint에서 Snap 설치는 호환성을 활성화해야 합니다. 새롭게 설치하는 경우, Linux Mint 재설치 및 유용한 도구 가이드를 참조하여 완전한 설치 프로세스를 확인하세요.

CentOS/RHEL:

sudo yum install snapd
sudo systemctl enable --now snapd.socket

필수 Snap 명령

Snap 설치

기본 설치:

# 안정 버전에서 설치
sudo snap install package-name

# 특정 채널에서 설치
sudo snap install package-name --channel=beta
sudo snap install package-name --channel=edge

# 클래식 제한으로 설치
sudo snap install package-name --classic

# 특정 버전/리비전 설치
sudo snap install package-name --revision=123

실제 사례:

# VS Code 설치
sudo snap install code --classic

# Spotify 설치
sudo snap install spotify

# Docker 설치
sudo snap install docker

# VLC 미디어 플레이어 설치
sudo snap install vlc

# Chromium 브라우저 설치
sudo snap install chromium

# kubectl 설치
sudo snap install kubectl --classic

# Slack 설치
sudo snap install slack --classic

# Postman 설치
sudo snap install postman

# Android Studio 설치
sudo snap install android-studio --classic

# Node.js 설치
sudo snap install node --classic

Snap 검색

# Snap 스토어 검색
snap find keyword

# 상세 출력으로 검색
snap find keyword --verbose

# 특정 섹션 검색
snap find --section=development

# 예시
snap find "text editor"
snap find database
snap find "media player"

카테고리별 탐색:

# 사용 가능한 섹션 목록
snap find --section

# 일반적인 섹션:
# - productivity
# - development
# - server-and-cloud
# - security
# - entertainment
# - photo-and-video
# - music-and-audio

설치된 Snap 목록

# 설치된 모든 Snap 목록
snap list

# 더 많은 세부 정보로 목록
snap list --all

# 특정 Snap 보기
snap list package-name

# 출판자별 목록
snap list --all | grep "publisher-name"

출력에는 포함됨:

  • 이름: Snap 패키지 이름
  • 버전: 현재 버전
  • Rev: 리비전 번호
  • Tracking: 추적 중인 채널
  • 출판자: 인증된 출판자
  • Notes: 제한 유형 및 플래그

Snap 정보 보기

# 특정 Snap 정보 보기
snap info package-name

# 예시 출력에는 포함됨:
# - 설명
# - Snap ID
# - 출판자
# - 라이선스
# - 사용 가능한 채널
# - 설치된 버전
# - 업데이트 날짜

예시:

snap info vlc

출력은 다음과 같습니다:

name:      vlc
summary:   The ultimate media player
publisher: VideoLAN✓
license:   GPL-2.0+
description: |
  VLC is a free and open source multimedia player...
snap-id: 123abc...
channels:
  stable:    3.0.18  2023-03-15 (3078) 276MB -
  candidate: ↑
  beta:      ↑
  edge:      4.0.0~dev 2023-03-20 (3079) 280MB -
installed:   3.0.18  (3078) 276MB -

Snap 업데이트

모든 Snap 업데이트:

# 설치된 모든 Snap 업데이트
sudo snap refresh

# 설치하지 않고 업데이트 확인
snap refresh --list

특정 Snap 업데이트:

# 단일 Snap 업데이트
sudo snap refresh package-name

# 특정 채널로 업데이트
sudo snap refresh package-name --channel=beta

# 특정 리비전으로 업데이트
sudo snap refresh package-name --revision=456

자동 업데이트:

Snap은 기본적으로 자동으로 업데이트됩니다. snapd 데몬은 하루에 4회 업데이트를 확인합니다.

업데이트 일정 설정:

# 현재 업데이트 타이머 확인
snap refresh --time

# 타이머 설정 (snapd 2.31+ 필요)
sudo snap set system refresh.timer=fri,23:00-01:00

# 일시적으로 업데이트 중지 (최대 90일)
sudo snap refresh --hold

# 특정 Snap 일시적으로 중지
sudo snap refresh --hold package-name

# 업데이트 중지 해제
sudo snap refresh --unhold
sudo snap refresh --unhold package-name

Snap 제거

# Snap 제거 (데이터는 유지)
sudo snap remove package-name

# Snap 및 모든 데이터 제거 (정리)
sudo snap remove --purge package-name

# 특정 리비전 제거
sudo snap remove package-name --revision=123

구형 리비전 정리:

기본적으로 Snap은 롤백을 위해 2-3개의 구형 리비전을 유지합니다:

# 모든 리비전 목록
snap list --all package-name

# 특정 구형 리비전 제거
sudo snap remove package-name --revision=old-rev-number

# 모든 구형 리비전 제거 스크립트
#!/bin/bash
snap list --all | awk '/disabled/{print $1, $3}' | 
  while read snapname revision; do
    sudo snap remove "$snapname" --revision="$revision"
  done

bash 스크립트 및 명령줄 작업에 대한 더 많은 정보는 포괄적인 Bash 사용법 요약을 참조하세요.

Snap 실행

# Snap 애플리케이션 실행
snap run package-name

# 특정 명령으로 실행
snap run package-name.command

# 예시: 특정 VS Code 명령 실행
snap run code --list-extensions

# Snap에 대한 사용 가능한 명령 보기
snap info package-name | grep "commands:"

Snap 채널 이해

채널은 개발자가 다양한 버전을 동시에 출판할 수 있도록 합니다:

채널 유형

  1. stable: 프로덕션 준비 완료된 릴리스 (기본값)
  2. candidate: 사전 테스트를 위한 릴리스 후보
  3. beta: 새로운 기능을 포함한 베타 버전
  4. edge: 최신 개발 빌드, 잠재적으로 불안정

채널 트랙

일부 Snap은 여러 트랙을 가질 수 있습니다 (예: 주요 버전):

# 예시: LXD 4.0 트랙 설치
sudo snap install lxd --channel=4.0/stable

# 예시: 특정 Kubernetes 버전 설치
sudo snap install microk8s --channel=1.28/stable

채널 전환

# 다른 채널로 전환
sudo snap refresh package-name --channel=beta

# stable로 다시 전환
sudo snap refresh package-name --channel=stable

# 사용 가능한 채널 보기
snap info package-name

Snap 제한 수준

엄격한 제한

최대 보안, Snap은 시스템과 격리됩니다:

# 대부분의 Snap은 엄격한 제한 사용
sudo snap install vlc

특징:

  • 제한된 파일 시스템 접근
  • 하드웨어 접근을 위해 인터페이스 연결 필요
  • AppArmor 프로필이 보안을 강화
  • 데스크탑 애플리케이션에 최적

클래식 제한

전통적인 패키지처럼 전체 시스템 접근 가능:

# 많은 개발 도구에 필요
sudo snap install code --classic
sudo snap install kubectl --classic

특징:

  • 샌드박싱 없음
  • 전체 파일 시스템 접근 가능
  • 시스템 도구 및 IDE에 필요
  • 보안은 낮지만 호환성은 높음

개발 모드 제한

개발 모드, 제한 비활성화:

# 테스트/개발용으로만 사용
sudo snap install package-name --devmode

특징:

  • 보안 제한 없음
  • Snap 개발 중 사용
  • 프로덕션에서는 권장되지 않음
  • 위반은 기록되지만 강제되지 않음

제한 확인

# 제한 수준 확인
snap list
# 'classic', 'devmode', 또는 'strict' (라벨 없음) 확인

# 상세 정보
snap info package-name | grep confinement

Snap 인터페이스 및 연결

인터페이스는 Snap이 시스템 자원과 어떻게 통신하는지를 정의합니다.

인터페이스 보기

# 모든 사용 가능한 인터페이스 보기
snap connections

# 특정 Snap의 인터페이스 보기
snap connections package-name

# 모든 가능한 인터페이스 보기
snap interface

# 특정 인터페이스의 세부 정보 보기
snap interface interface-name

일반적인 인터페이스

  • home: 사용자 홈 디렉토리에 대한 접근
  • network: 네트워크 접근
  • audio-playback: 오디오 출력
  • camera: 카메라 접근
  • removable-media: USB 드라이브, SD 카드
  • x11: X11 디스플레이 서버
  • wayland: Wayland 디스플레이 서버
  • opengl: GPU 가속
  • pulseaudio: PulseAudio 사운드 서버

연결 관리

# 인터페이스 연결
sudo snap connect package-name:interface-name

# 인터페이스 연결 해제
sudo snap disconnect package-name:interface-name

# 예시: 카메라 접근 허용
sudo snap connect package-name:camera

# 예시: 이동식 미디어 접근 허용
sudo snap connect package-name:removable-media

자동 연결:

대부분의 인터페이스는 설치 시 자동으로 연결됩니다. 일부는 보안을 위해 수동 연결이 필요합니다.

고급 Snap 사용

Snap 서비스

일부 Snap은 백그라운드 서비스로 실행됩니다:

# 서비스 목록
snap services

# 특정 Snap의 서비스 목록
snap services package-name

# 서비스 시작
sudo snap start package-name.service-name

# 서비스 중지
sudo snap stop package-name.service-name

# 서비스 재시작
sudo snap restart package-name.service-name

# 서비스 활성화 (부팅 시 시작)
sudo snap start --enable package-name.service-name

# 서비스 비활성화
sudo snap stop --disable package-name.service-name

# 서비스 로그 보기
snap logs package-name.service-name

# 실시간 로그 보기
snap logs -f package-name.service-name

# 마지막 N 줄 보기
snap logs -n=50 package-name.service-name

Snap 구성

# Snap 구성 보기
snap get package-name

# 특정 구성 키 보기
snap get package-name key-name

# 구성 설정
sudo snap set package-name key=value

# 예시
sudo snap set microk8s hostpath-storage=/data/k8s
sudo snap get microk8s hostpath-storage

# 구성 해제
sudo snap unset package-name key-name

Snap 별칭

Snap 명령에 대한 단축키 생성:

# 별칭 생성
sudo snap alias package-name.command alias-name

# 예시: kubectl 명령 별칭
sudo snap alias microk8s.kubectl kubectl

# 별칭 목록
snap aliases

# 별칭 제거
sudo snap unalias alias-name

# Snap의 모든 별칭 제거
sudo snap unalias package-name

Snap 레이아웃

레이아웃은 제한된 Snap에서 오래된 앱을 작동하게 합니다:

# Snap 레이아웃 보기
snap info package-name | grep "layout:"

레이아웃은 Snap 경로를 예상되는 시스템 경로에 매핑합니다.

Snap 스토어 및 출판

Snap 스토어 탐색

웹 인터페이스:

명령줄:

# 추천된 Snap
snap find --section=featured

# 카테고리별
snap find --section=productivity
snap find --section=games

# 개인 Snap (인증 필요)
snap find --private

파일에서 설치

# 로컬 Snap 파일 설치
sudo snap install package-name.snap --dangerous

# 인터페이스 연결 포함
sudo snap install package-name.snap --dangerous --classic

참고: --dangerous는 로컬 파일에 대한 서명 검증을 우회합니다.

Snap 문제 해결

일반적인 문제 및 해결 방법

Snap 스토어가 로드되지 않음

# snapd 서비스 재시작
sudo systemctl restart snapd.service

# 서비스 상태 확인
sudo systemctl status snapd.service

# 로그 보기
sudo journalctl -u snapd.service -n 50

Snap 시작 속도 느림

원인:

  • 첫 실행 시 압축 해제
  • 파일시스템 마운트
  • AppArmor 프로필 로딩

해결 방법:

# 모든 인터페이스 사전 연결
sudo snap connect package-name:interface

# 필요 없는 인터페이스 비활성화
sudo snap disconnect package-name:interface

# Snap 시작 시간 확인
time snap run package-name

연결 문제

# 네트워크 인터페이스 확인
snap connections package-name | grep network

# 네트워크 수동 연결
sudo snap connect package-name:network

# 방화벽 확인
sudo ufw status

Snap 설치 실패

# Snap 캐시 정리
sudo rm -rf /var/lib/snapd/cache/*

# Snap 재설치
sudo snap remove package-name
sudo snap install package-name

# 디스크 공간 확인
df -h /var/lib/snapd

# 손상된 Snap 상태 수정
sudo snap changes
sudo snap abort <change-id>  # 중단된 경우

AppArmor 거부

# AppArmor 로그 확인
sudo dmesg | grep DENIED

# 특정 Snap 프로필 보기
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.*

# AppArmor 재로드
sudo systemctl reload apparmor

Snap 리비전 충돌

# 모든 리비전 목록
snap list --all package-name

# 구형 리비전 제거
sudo snap remove package-name --revision=old-number

# 이전 리비전으로 롤백
sudo snap revert package-name

# Snap 변경 사항 확인
snap changes

Snap 디버깅

# 디버그 모드 활성화
sudo snap set system debug.snapd=true

# Snap 환경 보기
snap run --shell package-name
# 실행: env

# Snap 파일 레이아웃 확인
ls -la /snap/package-name/current/

# Snap 메타데이터 보기
cat /snap/package-name/current/meta/snap.yaml

# Snap 실행 추적
snap run --trace-exec package-name

# Snap 주장 확인
snap known assertion-type

성능 최적화

디스크 사용량 감소

# Snap 저장소 사용량 확인
du -sh /var/lib/snapd/snaps/*

# 구형 리비전 자동 제거
# refresh.retain을 2로 설정 (2개의 구형 버전만 유지)
sudo snap set system refresh.retain=2

# 수동 정리 스크립트
#!/bin/bash
# 모든 비활성화된 Snap 리비전 제거
LANG=C snap list --all | awk '/disabled/{print $1, $3}' | 
  while read snapname revision; do
    sudo snap remove "$snapname" --revision="$revision"
  done

시작 성능 최적화

1. 인터페이스 사전 연결:

# 설치 시 자주 사용하는 인터페이스 연결
sudo snap connect package-name:home
sudo snap connect package-name:network

2. 병렬 업데이트 사용:

/var/lib/snapd/state.json 편집 (고급):

{
  "data": {
    "parallel-installs": 4
  }
}

3. 백그라운드 업데이트 제한:

# 업데이트 시간을 낮은 사용량 시간으로 설정
sudo snap set system refresh.timer=sun,02:00-04:00

Snap 성능 모니터링

# Snap 프로세스 사용량 확인
ps aux | grep snap

# Snap 서비스 리소스 모니터링
systemctl status snap.package-name.service-name

# snapd 리소스 사용량 확인
systemctl status snapd

# Snap 마운트 포인트 확인
mount | grep snap

보안 최선 실천

출판자 확인

# 출판자 인증 확인
snap info package-name | grep publisher

# ✓ (인증됨) 또는 ✪ (별표 - Canonical) 확인

가능한 한 인증된 출판자로부터만 설치하세요.

권한 검토

# 설치 전 필요한 인터페이스 확인
snap info package-name | grep plugs

# 설치 후 연결 확인
snap connections package-name

# 불필요한 인터페이스 연결 해제
sudo snap disconnect package-name:interface-name

정기 업데이트

# Snap 업데이트 유지
sudo snap refresh

# 자동 보안 업데이트 활성화
# (기본값으로 활성화됨)
snap refresh --time

설치된 Snap 감사

# 모든 Snap 및 제한 목록
snap list

# devmode Snap 확인 (보안이 낮음)
snap list | grep devmode

# classic Snap 확인 (전체 시스템 접근)
snap list | grep classic

엄격한 제한 사용

보안을 위해 엄격한 제한을 가진 Snap을 선호하세요:

# 설치 전 제한 확인
snap info package-name | grep confinement

# 생산 환경에서 --devmode 사용하지 않음

기업 환경에서의 Snap 사용

프록시 설정

# HTTP 프록시 설정
sudo snap set system proxy.http="http://proxy:8080"

# HTTPS 프록시 설정
sudo snap set system proxy.https="https://proxy:8080"

# 프록시 설정 보기
snap get system proxy

오프라인 설치

# Snap 다운로드
snap download package-name

# 오프라인 시스템으로 이동하여 설치
sudo snap install package-name_*.snap --dangerous

# 서명된 설치를 위해 주장 포함
sudo snap ack package-name_*.assert
sudo snap install package-name_*.snap

Snap 스토어 프록시

기업 환경에서는 Snap 스토어 프록시를 배포하세요:

  • 로컬에 Snap 캐시
  • 사용 가능한 Snap 제어
  • 설치 모니터링
  • 대역폭 사용 감소

참조: https://docs.ubuntu.com/snap-store-proxy/

Snap 업데이트 관리

# Snap별 자동 업데이트 비활성화 (프록시 필요)
sudo snap refresh --hold=forever package-name

# 유지보수 시간에 업데이트 예약
sudo snap set system refresh.timer=sat,02:00-04:00

# 업데이트 수동 승인
sudo snap refresh --list  # 확인
sudo snap refresh package-name  # 특정 업데이트

카테고리별 인기 스냅 패키지

개발 도구

sudo snap install code --classic              # VS Code
sudo snap install intellij-idea-community --classic  # IntelliJ
sudo snap install pycharm-community --classic  # PyCharm
sudo snap install android-studio --classic    # Android Studio
sudo snap install sublime-text --classic      # Sublime Text
sudo snap install atom --classic              # Atom Editor
sudo snap install postman                     # API 테스트
sudo snap install dbeaver-ce                  # 데이터베이스 도구

DevOps 및 클라우드

sudo snap install kubectl --classic           # Kubernetes CLI
sudo snap install helm --classic              # Helm
sudo snap install microk8s --classic          # 가벼운 K8s
sudo snap install docker                      # Docker
sudo snap install terraform --classic         # Terraform
sudo snap install aws-cli --classic           # AWS CLI
sudo snap install azure-cli --classic         # Azure CLI
sudo snap install google-cloud-sdk --classic  # GCP SDK

생산성

sudo snap install slack --classic             # Slack
sudo snap install teams                       # MS Teams
sudo snap install discord                     # Discord
sudo snap install zoom-client                 # Zoom
sudo snap install mailspring                  # 이메일 클라이언트
sudo snap install joplin-desktop             # 메모 앱
sudo snap install libreoffice                # 오피스 스위트

멀티미디어

sudo snap install vlc                        # 영상 플레이어
sudo snap install spotify                    # 음악 스트리밍
sudo snap install obs-studio                 # 화면 녹화
sudo snap install gimp                       # 이미지 편집기
sudo snap install inkscape                   # 벡터 그래픽
sudo snap install audacity                   # 오디오 편집기
sudo snap install kdenlive                   # 영상 편집기

브라우저

sudo snap install chromium                   # 크롬리움
sudo snap install firefox                    # 파이어폭스
sudo snap install opera                      # 오페라
sudo snap install brave                      # 브레이브 브라우저

시스템 유틸리티

sudo snap install htop                       # 프로세스 모니터
sudo snap install bpytop                     # 시스템 모니터
sudo snap install speedtest-cli              # 속도 테스트
sudo snap install certbot --classic          # SSL 인증서
sudo snap install ngrok                      # 터널링

이러한 유틸리티와 우분투를 일반적으로 사용할 때 생산성을 높이려면, 우분투 키보드 단축키 체크리스트를 참조하여 효율적인 작업 흐름 관리를 해보세요.

적절한 패키지 관리자 선택

스냅 사용 시점 ✅

가장 적합한 경우:

  • 여러 분포 간 호환성이 필요할 때
  • 자동 업데이트가 중요할 때
  • 샌드박싱을 통한 보안이 우선시될 때
  • 최신 애플리케이션 버전이 필요한 경우
  • 데스크탑 애플리케이션
  • IoT 및 임베디드 장치 (우분투 코어)

다른 패키지 관리자 사용 시점

스냅 명령어 참조

빠른 명령어 체크리스트

# 검색 및 설치
snap find keyword              # 스냅 검색
sudo snap install name         # 스냅 설치
sudo snap install name --classic  # 클래식 제약
sudo snap install name --channel=beta  # 특정 채널

# 목록 및 정보
snap list                      # 설치 목록
snap list --all               # 이전 버전 포함
snap info name                # 스냅 정보 보기
snap version                  # 스냅d 버전 보기

# 업데이트
sudo snap refresh             # 모든 업데이트
sudo snap refresh name        # 특정 업데이트
snap refresh --list           # 업데이트 확인
sudo snap refresh --hold      # 업데이트 지연

# 제거
sudo snap remove name         # 스냅 제거
sudo snap remove --purge name # 데이터와 함께 제거
sudo snap remove name --revision=N  # 특정 버전 제거

# 서비스
snap services                 # 서비스 목록
sudo snap start name.service  # 서비스 시작
sudo snap stop name.service   # 서비스 중지
sudo snap logs name.service   # 로그 보기

# 연결
snap connections              # 연결 목록
snap connections name         # 스냅 연결
sudo snap connect name:plug   # 인터페이스 연결
sudo snap disconnect name:plug # 인터페이스 분리

# 설정
snap get name                 # 설정 보기
sudo snap set name key=value  # 설정 변경
snap get system               # 시스템 설정

# 채널
sudo snap refresh name --channel=edge  # 채널 전환
sudo snap track name          # 추적 보기

# 별칭
sudo snap alias name.cmd cmd  # 별칭 생성
snap aliases                  # 별칭 목록
sudo snap unalias cmd         # 별칭 제거

# 문제 해결
snap changes                  # 최근 변경사항 보기
snap tasks <change-id>        # 작업 세부 정보
snap abort <change-id>        # 변경사항 중단
sudo snap revert name         # 이전 버전으로 복원

결론

스냅 패키지 관리자는 컨테이너화를 통한 보안 강화, 자동 업데이트, 유니버설 패키징으로 인해 리눅스 애플리케이션 배포의 미래를 대표합니다. 디스크 사용량과 시작 성능에 대한 trade-off가 있더라도, 의존성 관리의 간소화, 분포 간 호환성, 일관된 업데이트 등의 이점은 현대 리눅스 애플리케이션에 대한 탁월한 선택입니다.

개발자가 애플리케이션을 배포하거나, 시스템 관리자가 업데이트를 관리하거나, 최신 소프트웨어를 원하는 사용자에게 스팍은 견고하고 보안이 강화되며 사용자 친화적인 패키지 관리 솔루션을 제공합니다.

핵심 요약:

  • 스냅 패키지는 분포 간 작동하며 자체적으로 포함되어 있습니다
  • 자동 업데이트는 애플리케이션을 보안하고 최신 상태로 유지합니다
  • 샌드박싱은 제약을 통한 보안 강화를 제공합니다
  • 여러 제약 수준은 보안과 기능성을 균형 있게 유지합니다
  • 채널은 안정성과 최신 기능 간 선택이 가능합니다
  • 스냅은 데스크탑 애플리케이션 및 IoT 장치에 이상적입니다

스냅 스토어를 탐색하여 유니버설 리눅스 패키징의 편리함을 경험해 보세요!

유용한 링크

이 사이트의 관련 기사