Ściągnik do Menedżera Pakietów Snap

Uniwersalne pakiety Linux z menedżerem Snap

Snap to rewolucyjny uniwersalny system zarządzania pakietami firmy Canonical, który wprowadza konteneryzowane aplikacje, automatyczne aktualizacje oraz zwiększone bezpieczeństwo do Ubuntu i innych dystrybucji Linuksa.

Narzędzia dla deweloperów: Kompletny przewodnik po nowoczesnych przepływach pracy

cross-dependent-modules To świetne zdjęcie zostało wygenerowane przez model AI Flux 1 dev.

Czym jest Snap?

Snap to system pakietowania i wdrażania oprogramowania opracowany przez Canonical dla systemów operacyjnych opartych na jądrze Linuksa. Pakiety Snap (zwane „snapami”) to konteneryzowane pakiety oprogramowania, które działają w różnych dystrybucjach Linuksa, zapewniając spójne doświadczenie użytkownika. W przeciwieństwie do tradycyjnych pakietów, które współdzielą biblioteki systemowe, Snapy zawierają wszystkie zależności, co zapewnia spójne działanie na różnych systemach.

Kluczowe cechy:

  • Samowystarczalność: Każdy snap zawiera wszystkie zależności (brak konfliktów)
  • Automatyczne aktualizacje: Aktualizacje odbywają się automatycznie w tle (4 razy dziennie)
  • Piaskownica (Sandboxing): Ograniczenie AppArmor zapewnia izolację bezpieczeństwa
  • Uniwersalność: Działa na Ubuntu, Fedora, Debian, Arch i innych
  • Transakcyjność: Aktualizacje są atomowe i mogą być cofane
  • Usługa tła: Demon snapd zarządza snapami i aktualizacjami

Porównanie menedżerów pakietów

Ubuntu obsługuje wiele systemów zarządzania pakietami. Oto jak porównują się główne operacje:

Operacja Snap APT Flatpak
Wyszukiwanie snap find słowo_kluczowe apt search słowo_kluczowe flatpak search słowo_kluczowe
Instalacja sudo snap install pakiet sudo apt install pakiet flatpak install flathub app.id
Lista zainstalowanych snap list apt list --installed flatpak list --app
Pokaż informacje snap info pakiet apt show pakiet flatpak info app.id
Aktualizuj wszystko sudo snap refresh sudo apt update && sudo apt upgrade flatpak update
Aktualizuj pojedynczy sudo snap refresh pakiet sudo apt install --only-upgrade pkg flatpak update app.id
Usuń sudo snap remove pakiet sudo apt remove pakiet flatpak uninstall app.id
Czyszczenie snap remove --revision=N sudo apt autoremove flatpak uninstall --unused
Repozytorium Sklep Snap (wbudowany) /etc/apt/sources.list Dodaj za pomocą flatpak remote-add

Szybkie porównanie funkcji

Cecha Snap APT Flatpak
Automatyczne aktualizacje Tak Nie Nie
Piaskownica Tak Nie Tak
Zależności Wbudowane Biblioteki systemowe Współdzielone środowiska wykonawcze
Rozmiar pakietu Duży (50-500 MB) Mały (5-50 MB) Średni (20-200 MB)
Wymagany root Tak Tak Nie (instalacja użytkownika)
Szybkość uruchamiania Wolniejsza Szybka Szybka
Najlepsze do Aplikacji uniwersalnych Pakietów systemowych Aplikacji desktopowych

O tym przewodniku

Ten przewodnik koncentruje się na Snap - uniwersalnym menedżerze pakietów Canonical z automatycznymi aktualizacjami i silną piaskownicą. Snap jest idealny do aplikacji wielodystibucyjnych, oprogramowania desktopowego oraz scenariuszy, w których chcesz mieć automatyczne aktualizacje bezpieczeństwa bez interwencji ręcznej.

Dla innych menedżerów pakietów:

Każdy menedżer pakietów ma swoje zalety. Używaj Snapa dla aplikacji wymagających automatycznych aktualizacji i kompatybilności między wersjami, APT dla pakietów systemowych i bibliotek, a Flatpak dla aplikacji desktopowych z precyzyjną kontrolą uprawnień.


Zarządzanie pakietami Snap - Szczegółowy przewodnik

Instalacja Snapd

Ubuntu (Wbudowane w wersji 16.04+)

Snap jest domyślnie zainstalowany w Ubuntu 16.04 i nowszych wersjach. Jeśli konfigurujesz świeżą instalację Ubuntu, sprawdź nasz kompleksowy przewodnik instalacji Ubuntu 24.04 i niezbędnych narzędzi dla pełnego przewodnika po konfiguracji.

# Sprawdź, czy snapd jest zainstalowany
snap version

# Jeśli nie jest zainstalowany, zainstaluj go
sudo apt update
sudo apt install snapd

# Włącz usługę snapd
sudo systemctl enable --now snapd.socket

# Opcjonalnie: Włącz obsługę snapów klasycznych
sudo ln -s /var/lib/snapd/snap /snap

Inne dystrybucje

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:

Instalacja Snapa w Linux Mint wymaga włączenia kompatybilności. Jeśli planujesz świeżą instalację, zobacz nasz przewodnik o [ponownej instalacji Linux Mint z przydatnymi narzędziami]({< ref “/developer-tools/terminals-shell/reinstall-linux” >}} “Ponowna instalacja Linuxa z przydatnymi narzędziami”) dla pełnego procesu konfiguracji.

CentOS/RHEL:

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

Podstawowe komendy Snap

Instalacja Snapów

Instalacja podstawowa:

# Instalacja z kanału stabilnego
sudo snap install nazwa-pakietu

# Instalacja z określonego kanału
sudo snap install nazwa-pakietu --channel=beta
sudo snap install nazwa-pakietu --channel=edge

# Instalacja z klasycznym ograniczeniem (confinement)
sudo snap install nazwa-pakietu --classic

# Instalacja określonej wersji/relewacji
sudo snap install nazwa-pakietu --revision=123

Przykłady z praktyki:

# Instalacja VS Code
sudo snap install code --classic

# Instalacja Spotify
sudo snap install spotify

# Instalacja Docker
sudo snap install docker

# Instalacja VLC Media Player
sudo snap install vlc

# Instalacja przeglądarki Chromium
sudo snap install chromium

# Instalacja kubectl
sudo snap install kubectl --classic

# Instalacja Slack
sudo snap install slack --classic

# Instalacja Postman
sudo snap install postman

# Instalacja Android Studio
sudo snap install android-studio --classic

# Instalacja Node.js
sudo snap install node --classic

Wyszukiwanie Snapów

# Wyszukiwanie w Sklepie Snap
snap find słowo_kluczowe

# Wyszukiwanie ze szczegółowym wyjściem
snap find słowo_kluczowe --verbose

# Wyszukiwanie w określonej sekcji
snap find --section=development

# Przykłady
snap find "text editor"
snap find database
snap find "media player"

Przeglądanie wg kategorii:

# Lista dostępnych sekcji
snap find --section

# Powszechne sekcje obejmują:
# - productivity
# - development
# - server-and-cloud
# - security
# - entertainment
# - photo-and-video
# - music-and-audio

Lista zainstalowanych Snapów

# Lista wszystkich zainstalowanych snapów
snap list

# Lista ze szczegółami
snap list --all

# Pokaż konkretny snap
snap list nazwa-pakietu

# Lista wg wydawcy
snap list --all | grep "nazwa-wydawcy"

Wyjście zawiera:

  • Nazwa: Nazwa pakietu Snap
  • Wersja: Aktualna wersja
  • Rev: Numer rewizji
  • Tracking: Śledzony kanał
  • Publisher: Zweryfikowany wydawca
  • Notes: Typ ograniczenia (confinement) i flagi

Przeglądanie informacji o Snapie

# Pokaż szczegółowe informacje o snapie
snap info nazwa-pakietu

# Przykładowe wyjście zawiera:
# - Opis
# - ID Snappa
# - Wydawca
# - Licencja
# - Dostępne kanały
# - Zainstalowana wersja
# - Data aktualizacji

Przykład:

snap info vlc

Wyjście pokazuje:

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 -

Aktualizacja Snapów

Aktualizacja wszystkich Snapów:

# Aktualizacja wszystkich zainstalowanych snapów
sudo snap refresh

# Sprawdzenie dostępnych aktualizacji bez instalacji
snap refresh --list

Aktualizacja konkretnego Snappa:

# Aktualizacja pojedynczego snappa
sudo snap refresh nazwa-pakietu

# Aktualizacja do określonego kanału
sudo snap refresh nazwa-pakietu --channel=beta

# Aktualizacja do określonej rewizji
sudo snap refresh nazwa-pakietu --revision=456

Automatyczne aktualizacje:

Snapy aktualizują się automatycznie domyślnie. Demon snapd sprawdza aktualizacje 4 razy dziennie.

Konfiguracja harmonogramu aktualizacji:

# Wyświetl aktualny timer odświeżania
snap refresh --time

# Ustaw timer odświeżania (wymaga snapd 2.31+)
sudo snap set system refresh.timer=fri,23:00-01:00

# Tymczasowe wstrzymanie aktualizacji (max 90 dni)
sudo snap refresh --hold

# Wstrzymanie konkretnego snappa
sudo snap refresh --hold nazwa-pakietu

# Koncepcja wstrzymania
sudo snap refresh --unhold
sudo snap refresh --unhold nazwa-pakietu

Usuwanie Snapów

# Usuń snap (zachowaj dane)
sudo snap remove nazwa-pakietu

# Usuń snap i wszystkie dane (purge)
sudo snap remove --purge nazwa-pakietu

# Usuń konkretną rewizję
sudo snap remove nazwa-pakietu --revision=123

Czyszczenie starych rewizji:

Domyślnie Snap zachowuje 2-3 stare rewizje do cofania:

# Lista wszystkich rewizji
snap list --all nazwa-pakietu

# Usuń konkretną starą rewizję
sudo snap remove nazwa-pakietu --revision=old-rev-number

# Skrypt do usunięcia wszystkich starych rewizji
#!/bin/bash
snap list --all | awk '/disabled/{print $1, $3}' | 
  while read snapname revision; do
    sudo snap remove "$snapname" --revision="$revision"
  done

Więcej informacji na temat pracy ze skryptami bash i operacjami wiersza poleceń znajdziesz w naszej kompleksowej karcie szybkiego dostępu Bash.

Uruchamianie Snapów

# Uruchom aplikację snap
snap run nazwa-pakietu

# Uruchom z konkretną komendą
snap run nazwa-pakietu.command

# Przykład: Uruchom konkretną komendę VS Code
snap run code --list-extensions

# Pokaż dostępne komendy dla snappa
snap info nazwa-pakietu | grep "commands:"

Zrozumienie kanałów Snap

Kanały pozwalają deweloperom publikować różne wersje jednocześnie:

Typy kanałów

  1. stable: Wersje produkcyjne (domyślne)
  2. candidate: Kandydaci do wydania, testy przed wydaniem
  3. beta: Wersje beta z nowymi funkcjami
  4. edge: Najnowsze wersje deweloperskie, potencjalnie niestabilne

Ścieżki kanałów (Tracks)

Niektóre snap mają wiele ścieżek (np. główne wersje):

# Przykład: Instalacja ścieżki LXD 4.0
sudo snap install lxd --channel=4.0/stable

# Przykład: Instalacja konkretnej wersji Kubernetes
sudo snap install microk8s --channel=1.28/stable

Przełączanie kanałów

# Przełącz na inny kanał
sudo snap refresh nazwa-pakietu --channel=beta

# Powrót do stabilnego
sudo snap refresh nazwa-pakietu --channel=stable

# Wyświetl dostępne kanały
snap info nazwa-pakietu

Poziomy ograniczeń (Confinement) Snap

Ograniczenie ścisłe (Strict)

Maksymalne bezpieczeństwo, snap jest izolowany od systemu:

# Większość snapów używa ścisłego ograniczenia
sudo snap install vlc

Cechy:

  • Ograniczony dostęp do systemu plików
  • Wymaga połączeń interfejsów do dostępu do sprzętu
  • Profile AppArmor egzekwują bezpieczeństwo
  • Najlepsze dla aplikacji desktopowych

Ograniczenie klasyczne (Classic)

Pełny dostęp do systemu, jak tradycyjne pakiety:

# Wymagane dla wielu narzędzi deweloperskich
sudo snap install code --classic
sudo snap install kubectl --classic

Cechy:

  • Brak piaskownicy
  • Pełny dostęp do systemu plików
  • Wymagane dla narzędzi systemowych i IDE
  • Mniej bezpieczne, ale bardziej kompatybilne

Ograniczenie Devmode

Tryb deweloperski, ograniczenia wyłączone:

# Tylko do testów/rozwój
sudo snap install nazwa-pakietu --devmode

Cechy:

  • Brak ograniczeń bezpieczeństwa
  • Używane podczas rozwoju snapów
  • Nie zalecane do produkcji
  • Naruszenia są logowane, ale nie egzekwowane

Sprawdzenie ograniczenia

# Wyświetl poziom ograniczenia
snap list
# Szukaj: classic, devmode lub strict (brak etykiety)

# Szczegółowe informacje
snap info nazwa-pakietu | grep confinement

Interfejsy i połączenia Snap

Interfejsy definiują, jak snap komunikuje się z zasobami systemowymi.

Przegląd interfejsów

# Lista wszystkich dostępnych interfejsów
snap connections

# Pokaż interfejsy dla konkretnego snappa
snap connections nazwa-pakietu

# Lista wszystkich możliwych interfejsów
snap interface

# Pokaż szczegóły konkretnego interfejsu
snap interface nazwa-interfejsu

Powszechne interfejsy

  • home: Dostęp do katalogu domowego użytkownika
  • network: Dostęp do sieci
  • audio-playback: Wyjście dźwięku
  • camera: Dostęp do kamery
  • removable-media: Napędy USB, karty SD
  • x11: Serwer wyświetlania X11
  • wayland: Serwer wyświetlania Wayland
  • opengl: Akceleracja GPU
  • pulseaudio: Serwer dźwięku PulseAudio

Zarządzanie połączeniami

# Połącz interfejs
sudo snap connect nazwa-pakietu:nazwa-interfejsu

# Rozłącz interfejs
sudo snap disconnect nazwa-pakietu:nazwa-interfejsu

# Przykład: Przyznaj dostęp do kamery
sudo snap connect nazwa-pakietu:camera

# Przykład: Pozwól na dostęp do nośników wymiennych
sudo snap connect nazwa-pakietu:removable-media

Automatyczne połączenia:

Większość interfejsów łączy się automatycznie po instalacji. Niektóre wymagają ręcznego połączenia ze względów bezpieczeństwa.

Zaawansowane użycie Snap

Usługi Snap

Niektóre snap działają jako usługi w tle:

# Lista usług
snap services

# Lista usług dla konkretnego snappa
snap services nazwa-pakietu

# Uruchom usługę
sudo snap start nazwa-pakietu.nazwa-usługi

# Zatrzymaj usługę
sudo snap stop nazwa-pakietu.nazwa-usługi

# Restartuj usługę
sudo snap restart nazwa-pakietu.nazwa-usługi

# Włącz usługę (uruchom przy starcie)
sudo snap start --enable nazwa-pakietu.nazwa-usługi

# Wyłącz usługę
sudo snap stop --disable nazwa-pakietu.nazwa-usługi

# Wyświetl logi usługi
snap logs nazwa-pakietu.nazwa-usługi

# Śledź logi w czasie rzeczywistym
snap logs -f nazwa-pakietu.nazwa-usługi

# Pokaż ostatnie N linii
snap logs -n=50 nazwa-pakietu.nazwa-usługi

Konfiguracja Snap

# Wyświetl konfigurację snappa
snap get nazwa-pakietu

# Wyświetl konkretny klucz konfiguracji
snap get nazwa-pakietu nazwa-klucza

# Ustaw konfigurację
sudo snap set nazwa-pakietu klucz=wartość

# Przykłady
sudo snap set microk8s hostpath-storage=/data/k8s
sudo snap get microk8s hostpath-storage

# Usuń konfigurację
sudo snap unset nazwa-pakietu nazwa-klucza

Alias Snap

Tworzenie skrótów dla komend snap:

# Utwórz alias
sudo snap alias nazwa-pakietu.komenda alias-name

# Przykład: Alias komendy kubectl
sudo snap alias microk8s.kubectl kubectl

# Lista aliasów
snap aliases

# Usuń alias
sudo snap unalias alias-name

# Usuń wszystkie aliasy dla snappa
sudo snap unalias nazwa-pakietu

Układy Snap (Layouts)

Układy pozwalają legacy aplikacjom działać w ograniczonych snapach:

# Wyświetl układy snappa
snap info nazwa-pakietu | grep "layout:"

Układy mapują ścieżki snappa na oczekiwane ścieżki systemowe.

Sklep Snap i publikowanie

Przeglądanie Sklepu Snap

Interfejs WWW:

Wiersz poleceń:

# Wyróżnione snap
snap find --section=featured

# Wg kategorii
snap find --section=productivity
snap find --section=games

# Prywatne snap (wymaga uwierzytelnienia)
snap find --private

Instalacja z plików

# Instalacja lokalnego pliku snap
sudo snap install nazwa-pakietu.snap --dangerous

# Instalacja i łączenie interfejsów
sudo snap install nazwa-pakietu.snap --dangerous --classic

Uwaga: --dangerous omija weryfikację podpisu dla plików lokalnych.

Rozwiązywanie problemów ze Snapem

Powszechne problemy i rozwiązania

Sklep Snap nie ładuje się

# Restartuj usługę snapd
sudo systemctl restart snapd.service

# Sprawdź status usługi
sudo systemctl status snapd.service

# Wyświetl logi
sudo journalctl -u snapd.service -n 50

Wolne uruchamianie Snapa

Przyczyny:

  • Pierwsze uruchomienie/dekompresja
  • Montowanie systemu plików
  • Ładowanie profilu AppArmor

Rozwiązania:

# Połącz wszystkie interfejsy z wyprzedzeniem
sudo snap connect nazwa-pakietu:interfejs

# Wyłącz niektóre interfejsy, jeśli nie są potrzebne
sudo snap disconnect nazwa-pakietu:interfejs

# Sprawdź czas uruchamiania snappa
time snap run nazwa-pakietu

Problemy z połączeniem

# Zweryfikuj interfejs sieciowy
snap connections nazwa-pakietu | grep network

# Ręcznie połącz sieć
sudo snap connect nazwa-pakietu:network

# Sprawdź firewall
sudo ufw status

Błędy instalacji Snapa

# Wyczyść cache snap
sudo rm -rf /var/lib/snapd/cache/*

# Ponowna instalacja snappa
sudo snap remove nazwa-pakietu
sudo snap install nazwa-pakietu

# Sprawdź miejsce na dysku
df -h /var/lib/snapd

# Napraw uszkodzony stan snappa
sudo snap changes
sudo snap abort <change-id>  # jeśli utknął

Odrzucenia AppArmor

# Sprawdź logi AppArmor
sudo dmesg | grep DENIED

# Wyświetl profil konkretnego snappa
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.*

# Przeładuj AppArmor
sudo systemctl reload apparmor

Konflikty rewizji Snap

# Lista wszystkich rewizji
snap list --all nazwa-pakietu

# Usuń starą rewizję
sudo snap remove nazwa-pakietu --revision=old-number

# cofnij do poprzedniej rewizji
sudo snap revert nazwa-pakietu

# Sprawdź zmiany snappa
snap changes

Debugowanie Snapów

# Włącz tryb debugowania
sudo snap set system debug.snapd=true

# Wyświetl środowisko snappa
snap run --shell nazwa-pakietu
# Następnie uruchom: env

# Sprawdź układ plików snappa
ls -la /snap/nazwa-pakietu/current/

# Wyświetl metadane snappa
cat /snap/nazwa-pakietu/current/meta/snap.yaml

# Śledź wykonanie snappa
snap run --trace-exec nazwa-pakietu

# Sprawdź asercje snappa
snap known assertion-type

Optymalizacja wydajności

Zmniejsz użycie dysku

# Sprawdź użycie przestrzeni dyskowej przez snap
du -sh /var/lib/snapd/snaps/*

# Automatyczne usuwanie starych rewizji
# Ustaw refresh.retain na 2 (zachowuje tylko 2 stare wersje)
sudo snap set system refresh.retain=2

# Skrypt ręcznego czyszczenia
#!/bin/bash
# Usuń wszystkie wyłączone rewizje snap
LANG=C snap list --all | awk '/disabled/{print $1, $3}' | 
  while read snapname revision; do
    sudo snap remove "$snapname" --revision="$revision"
  done

Optymalizacja wydajności uruchamiania

1. Połącz interfejsy z wyprzedzeniem:

# Połącz często używane interfejsy przy instalacji
sudo snap connect nazwa-pakietu:home
sudo snap connect nazwa-pakietu:network

2. Użyj równoległych aktualizacji:

Edytuj /var/lib/snapd/state.json (zaawansowane):

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

3. Ogranicz aktualizacje w tle:

# Ustaw okno aktualizacji na czas niskiego obciążenia
sudo snap set system refresh.timer=sun,02:00-04:00

Monitorowanie wydajności Snap

# Sprawdź użycie procesów snap
ps aux | grep snap

# Monitoruj zasoby usługi snap
systemctl status snap.nazwa-pakietu.nazwa-usługi

# Wyświetl użycie zasobów przez snapd
systemctl status snapd

# Sprawdź punkty montowania snap
mount | grep snap

Najlepsze praktyki bezpieczeństwa

Weryfikacja wydawców

# Sprawdź weryfikację wydawcy
snap info nazwa-pakietu | grep publisher

# Szukaj ✓ (zweryfikowany) lub ✪ (gwiazdka - Canonical)

Instaluj tylko od zweryfikowanych wydawców, gdy to możliwe.

Przegląd uprawnień

# Przed instalacją sprawdź wymagane interfejsy
snap info nazwa-pakietu | grep plugs

# Przeglądaj połączenia po instalacji
snap connections nazwa-pakietu

# Rozłącz niepotrzebne interfejsy
sudo snap disconnect nazwa-pakietu:nazwa-interfejsu

Regularne aktualizacje

# Trzymaj snapa zaktualizowane
sudo snap refresh

# Włącz automatyczne aktualizacje bezpieczeństwa
# (włączone domyślnie)
snap refresh --time

Audyt zainstalowanych Snapów

# Lista wszystkich snapów i ich ograniczeń
snap list

# Sprawdź snapa w trybie devmode (mniej bezpieczne)
snap list | grep devmode

# Przeglądaj snapa klasyczne (pełny dostęp do systemu)
snap list | grep classic

Używaj ścisłego ograniczenia

Preferuj snapa ze ścisłym ograniczeniem dla lepszego bezpieczeństwa:

# Sprawdź ograniczenie przed instalacją
snap info nazwa-pakietu | grep confinement

# Unikaj --devmode w produkcji

Snap w środowiskach przedsiębiorstw

Konfiguracja proxy

# Ustaw proxy HTTP
sudo snap set system proxy.http="http://proxy:8080"

# Ustaw proxy HTTPS
sudo snap set system proxy.https="https://proxy:8080"

# Wyświetl ustawienia proxy
snap get system proxy

Instalacje offline

# Pobierz snap
snap download nazwa-pakietu

# Przenieś na system offline i zainstaluj
sudo snap install nazwa-pakietu_*.snap --dangerous

# Dołącz asercje dla podpisanej instalacji
sudo snap ack nazwa-pakietu_*.assert
sudo snap install nazwa-pakietu_*.snap

Proxy Sklepu Snap

W środowiskach przedsiębiorstw wdroż proxy Sklepu Snap:

  • Cache snapa lokalnie
  • Kontroluj dostępne snap
  • Monitoruj instalacje
  • Zmniejsz użycie przepustowości

Zobacz: https://docs.ubuntu.com/snap-store-proxy/

Zarządzanie aktualizacjami Snap

# Wyłącz auto-refresh dla konkretnego snappa (wymaga proxy)
sudo snap refresh --hold=forever nazwa-pakietu

# Zaplanuj aktualizacje w oknach konserwacyjnych
sudo snap set system refresh.timer=sat,02:00-04:00

# Ręcznie zatwierdź aktualizacje
sudo snap refresh --list  # Przegląd
sudo snap refresh nazwa-pakietu  # Aktualizuj konkretny

Popularne Snapa wg kategorii

Narzędzia deweloperskie

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                     # Testowanie API
sudo snap install dbeaver-ce                  # Narzędzie bazodanowe

DevOps i Chmura

sudo snap install kubectl --classic           # CLI Kubernetes
sudo snap install helm --classic              # Helm
sudo snap install microk8s --classic          # Lekki 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

Produktywność

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                  # Klient poczty
sudo snap install joplin-desktop             # Aplikacja do notatek
sudo snap install libreoffice                # Pakiet biurowy

Multimedi

sudo snap install vlc                        # Odtwarzacz wideo
sudo snap install spotify                    # Streaming muzyki
sudo snap install obs-studio                 # Nagrywanie ekranu
sudo snap install gimp                       # Edytor graficzny
sudo snap install inkscape                   # Grafika wektorowa
sudo snap install audacity                   # Edytor audio
sudo snap install kdenlive                   # Edytor wideo

Przeglądarki

sudo snap install chromium                   # Chromium
sudo snap install firefox                    # Firefox
sudo snap install opera                      # Opera
sudo snap install brave                      # Brave Browser

Narzędzia systemowe

sudo snap install htop                       # Monitor procesów
sudo snap install bpytop                     # Monitor systemu
sudo snap install speedtest-cli              # Test prędkości
sudo snap install certbot --classic          # Certyfikaty SSL
sudo snap install ngrok                      # Tunelowanie

Aby zwiększyć swoją produktywność podczas pracy z tymi narzędziami i Ubuntu ogólnie, przejrzyj naszą kartę szybkiego dostępu skrótów klawiaturowych Ubuntu dla efektywnego zarządzania przepływem pracy.

Wybór odpowiedniego menedżera pakietów

Kiedy używać Snapa ✅

Najlepsze do:

  • Wymagana kompatybilność między dystrybucjami
  • Automatyczne aktualizacje są ważne
  • Bezpieczeństwo poprzez piaskownicę jest priorytetem
  • Wymagane najnowsze wersje aplikacji
  • Aplikacje desktopowe
  • Urządzenia IoT i wbudowane (Ubuntu Core)

Kiedy używać innych menedżerów pakietów

Referencja komend Snap

Szybka karta komend

# WYSZUKIWANIE I INSTALACJA
snap find słowo_kluczowe              # Wyszukaj snap
sudo snap install nazwa         # Zainstaluj snap
sudo snap install nazwa --classic  # Klasyczne ograniczenie
sudo snap install nazwa --channel=beta  # Konkretne kanał

# LISTA I INFORMACJE
snap list                      # Lista zainstalowanych
snap list --all               # Uwzględnij stare rewizje
snap info nazwa                # Pokaż szczegóły snappa
snap version                  # Pokaż wersję snapd

# AKTUALIZACJA
sudo snap refresh             # Aktualizuj wszystkie
sudo snap refresh nazwa        # Aktualizuj konkretny
snap refresh --list           # Sprawdź aktualizacje
sudo snap refresh --hold      # Odłóż aktualizacje

# USUWANIE
sudo snap remove nazwa         # Usuń snap
sudo snap remove --purge nazwa # Usuń z danymi
sudo snap remove nazwa --revision=N  # Usuń rewizję

# USŁUGI
snap services                 # Lista usług
sudo snap start nazwa.usługa  # Uruchom usługę
sudo snap stop nazwa.usługa   # Zatrzymaj usługę
sudo snap logs nazwa.usługa   # Wyświetl logi

# POŁĄCZENIA
snap connections              # Lista połączeń
snap connections nazwa         # Połączenia snappa
sudo snap connect nazwa:plug   # Połącz interfejs
sudo snap disconnect nazwa:plug # Rozłącz

# KONFIGURACJA
snap get nazwa                 # Wyświetl konfigurację
sudo snap set nazwa klucz=wartość  # Ustaw konfigurację
snap get system               # Konfiguracja systemu

# KANAŁY
sudo snap refresh nazwa --channel=edge  # Przełącz kanał
sudo snap track nazwa          # Pokaż śledzenie

# ALIASY
sudo snap alias nazwa.cmd cmd  # Utwórz alias
snap aliases                  # Lista aliasów
sudo snap unalias cmd         # Usuń alias

# ROZWIĄZYWANIE PROBLEMÓW
snap changes                  # Pokaż ostatnie zmiany
snap tasks <change-id>        # Szczegóły zadania
snap abort <change-id>        # Anuluj zmianę
sudo snap revert nazwa         # Cofnij do poprzedniej

Podsumowanie

Menedżer pakietów Snap reprezentuje przyszłość dystrybucji aplikacji Linuksa dzięki uniwersalnemu pakietowaniu, automatycznym aktualizacjom i zwiększonemu bezpieczeństwu poprzez konteneryzację. Pomimo kompromisów w użyciu dysku i wydajności uruchamiania, korzyści z uproszczonego zarządzania zależnościami, kompatybilności między dystrybucjami i spójnych aktualizacji czynią go doskonałym wyborem dla nowoczesnych aplikacji Linuksa.

Niezależnie od tego, czy jesteś deweloperem wdrażającym aplikacje, administratorem systemowym zarządzającym aktualizacjami, czy użytkownikiem chcącym najsześniejszego oprogramowania, Snap zapewnia solidne, bezpieczne i przyjazne dla użytkownika rozwiązanie do zarządzania pakietami.

Kluczowe wnioski:

  • Pakiety Snap są samowystarczalne i działają między dystrybucjami
  • Automatyczne aktualizacje utrzymują Twoje aplikacje w stanie bezpiecznym i aktualnym
  • Piaskownica zapewnia zwiększone bezpieczeństwo poprzez ograniczenia
  • Wiele poziomów ograniczeń równoważy bezpieczeństwo i funkcjonalność
  • Kanały pozwalają wybrać stabilność vs. najnowsze funkcje
  • Snap jest idealny dla aplikacji desktopowych i urządzeń IoT

Zacznij odkrywać Sklep Snap i doświadczyć wygody uniwersalnego pakietowania Linuksa!

Przydatne linki

Powiązane artykuły na tej stronie

Subskrybuj

Otrzymuj nowe wpisy o systemach, infrastrukturze i inżynierii AI.