Title: πŸ“¦ Snap β€” Universal Packages Group: Package Managers Icon: πŸ“¦ Order: 5 ## Table of Contents - [Configuration](#-configuration--конфигурация) - [Core Management](#-core-management--основноС-ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅) - [Sysadmin Operations](#-sysadmin-operations--ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ-систСмного-администратора) - [Troubleshooting](#-troubleshooting--устранСниС-Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ) - [Comparison: Confinement Modes](#-comparison-confinement-modes) - [Security](#-security--Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ) --- # πŸ“¦ Snap Cheatsheet (Universal Packages) Snap is a software deployment and package management system developed by Canonical. Snaps are self-contained applications with all their dependencies. / Snap β€” это систСма развСртывания ПО ΠΈ управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, разработанная Canonical. Snap-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ β€” это Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ прилоТСния со всСми зависимостями. --- ## βš™οΈ Configuration / ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ### Main Configuration / Основная конфигурация Snap is primarily configured via system settings or command line arguments, rather than text files. / Snap Π² основном настраиваСтся Ρ‡Π΅Ρ€Π΅Π· систСмныС настройки ΠΈΠ»ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π° Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹. `/var/snap/` (User data and configs / Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ) `/snap/` (Mount points for read-only squashfs images / Π’ΠΎΡ‡ΠΊΠΈ монтирования для read-only ΠΎΠ±Ρ€Π°Π·ΠΎΠ² squashfs) ### Proxy Configuration / Настройка прокси ```bash sudo snap set system proxy.http="http://:" sudo snap set system proxy.https="http://:" ``` --- ## πŸ›  Core Management / ОсновноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ### Install / Установка ```bash sudo snap install # Install snap / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ snap sudo snap install --classic # Install with classic confinement / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с классичСской изоляциСй sudo snap install --edge # Install from edge channel / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· ΠΊΠ°Π½Π°Π»Π° edge sudo snap install --beta # Install from beta channel / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· ΠΊΠ°Π½Π°Π»Π° beta sudo snap install --candidate # Install from candidate channel / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· ΠΊΠ°Π½Π°Π»Π° candidate ``` ### Search & List / Поиск ΠΈ список ```bash snap find # Search for snaps / Поиск снапов snap list # List installed snaps / Бписок установлСнных снапов snap info # Show snap details / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ снапа snap download # Download snap file / Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» снапа ``` ### Update & Refresh / ОбновлСниС Snap updates automatically. Manual control: / Snap обновляСтся автоматичСски. Π ΡƒΡ‡Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: ```bash sudo snap refresh # Update all snaps / ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС снапы sudo snap refresh # Update specific snap / ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ снап sudo snap revert # Revert to previous version / Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии sudo snap switch --channel= # Switch channel / ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°Π½Π°Π» (stable, candidate, beta, edge) ``` ### Remove / Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ```bash sudo snap remove # Remove snap / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ snap sudo snap remove --purge # Remove without saving snapshot / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π±Π΅Π· сохранСния снимка Π΄Π°Π½Π½Ρ‹Ρ… ``` --- ## πŸ”§ Sysadmin Operations / ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ систСмного администратора ### Services & Logs / БСрвисы ΠΈ Π»ΠΎΠ³ΠΈ Snaps can register systemd services. / Snap-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвисы systemd. ```bash snap services # List services / Бписок сСрвисов sudo snap start # Start service / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвис sudo snap stop # Stop service / ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрвис sudo snap restart # Restart service / ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвис snap logs # Show service logs / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ сСрвиса snap logs -f # Follow service logs / Π‘Π»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π»ΠΎΠ³Π°ΠΌΠΈ сСрвиса ``` ### Connections & Permissions / БоСдинСния ΠΈ ΠΏΡ€Π°Π²Π° Manage permissions (interfaces) for isolated apps. / Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²Π°ΠΌΠΈ (интСрфСйсами) для ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ```bash snap connections # List interfaces / Бписок интСрфСйсов sudo snap connect : # Connect interface manually / ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ интСрфСйс Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ sudo snap disconnect : # Disconnect interface / ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ интСрфСйс ``` ### Snapshots (Backups) / Π‘Π½ΠΈΠΌΠΊΠΈ (Π Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ) Automatic snapshots on remove. Manual management: / АвтоматичСскиС снимки ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ. Π ΡƒΡ‡Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: ```bash snap saved # List saved snapshots / Бписок сохранСнных снимков sudo snap save # Create snapshot / Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ снимок sudo snap restore # Restore snapshot / Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ снимок sudo snap forget # Delete snapshot / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ снимок ``` --- ## 🚨 Troubleshooting / УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ### Debugging / ΠžΡ‚Π»Π°Π΄ΠΊΠ° ```bash snap debug confinement # Print confinement mode / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ изоляции snap debug connectivity # Check connectivity / ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ соСдинСниС snap run --shell # Run shell inside snap environment / Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ окруТСния snap ``` ### Disk Space / ДисковоС пространство Snap keeps old versions. To free space: / Snap Ρ…Ρ€Π°Π½ΠΈΡ‚ старыС вСрсии. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ мСсто: ```bash sudo snap set system refresh.retain=2 # Keep only 2 versions / Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 2 вСрсии # Manually remove disabled snaps / Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ снапы snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do sudo snap remove "$snapname" --revision="$revision"; done ``` --- ## πŸ“Š Comparison: Confinement Modes | Mode | Description (EN) | Description (RU) | | :--- | :--- | :--- | | **Strict** | Strongly isolated, no access to system files (Typical). | Бильно ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½, Π½Π΅Ρ‚ доступа ΠΊ систСмным Ρ„Π°ΠΉΠ»Π°ΠΌ (Π’ΠΈΠΏΠΈΡ‡Π½ΠΎ). | | **Classic** | Full access to system (like apt/dnf). Required by IDEs, compilers. | ΠŸΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ систСмС (ΠΊΠ°ΠΊ apt/dnf). ВрСбуСтся для IDE, компиляторов. | | **Devmode** | Strict but with full access logging (For developers). | Π‘Ρ‚Ρ€ΠΎΠ³ΠΈΠΉ, Π½ΠΎ с Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ доступа (Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²). | --- ## πŸ”’ Security / Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ### Sandbox / ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π° Snaps run in a sandbox using AppArmor, Seccomp, and cgroups. / Snap-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² пСсочницС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ AppArmor, Seccomp ΠΈ cgroups. Check current mode: ```bash snap list # Check notes column / ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ ```