स्नैप पैकेज मैनेजर चीटशीट
स्नैप मैनेजर के साथ यूनिवर्सल लिनक्स पैकेज
Snap Canonical का क्रांतिकारी यूनिवर्सल पैकेज मैनेजमेंट सिस्टम है जो कंटेनराइज्ड एप्लिकेशन्स, ऑटोमैटिक अपडेट्स, और एन्हांस्ड सिक्योरिटी को Ubuntu और अन्य Linux डिस्ट्रिब्यूशन्स को प्रदान करता है।
इस शानदार छवि को 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 क्रॉस-डिस्ट्रिब्यूशन एप्लिकेशन्स, डेस्कटॉप सॉफ्टवेयर, और उन स्थितियों के लिए आदर्श है जहां आप ऑटोमैटिक सिक्योरिटी अपडेट्स चाहते हैं बिना किसी मैनुअल हस्तक्षेप के।
अन्य पैकेज मैनेजर्स के लिए:
- 📦 APT चैटशीट - Ubuntu का पारंपरिक पैकेज मैनेजमेंट सिस्टम सिस्टम पैकेजेस और लाइब्रेरीज के लिए
- 📦 Flatpak पैकेज मैनेजर चैटशीट - क्रॉस-डिस्ट्रो डेस्कटॉप एप्लिकेशन्स के साथ ग्रेन्युलर परमिशन्स
हर पैकेज मैनेजर की अपनी मजबूतियाँ हैं। Snap के लिए ऑटोमैटिक अपडेट्स और क्रॉस-वर्जन कम्पैटिबिलिटी की आवश्यकता वाले एप्लिकेशन्स का उपयोग करें, APT के लिए सिस्टम पैकेजेस और लाइब्रेरीज, और Flatpak के लिए ग्रेन्युलर परमिशन कंट्रोल वाले डेस्कटॉप एप्लिकेशन्स का उपयोग करें।
Snap पैकेज मैनेजमेंट - विस्तृत गाइड
Snapd इंस्टॉल करना
Ubuntu (16.04+ पर प्री-इंस्टॉल्ड)
Snap Ubuntu 16.04 और बाद के संस्करणों पर प्री-इंस्टॉल्ड आता है। अगर आप एक नया 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:
Snap इंस्टॉलेशन Linux Mint पर कम्पैटिबिलिटी को इनेबल करने की आवश्यकता होती है। अगर आप एक नया इंस्टॉलेशन करने की योजना बना रहे हैं, तो हमारे गाइड पर देखें उपयोगी टूल्स के साथ Linux Mint पुनः इंस्टॉल करना एक पूर्ण सेटअप प्रक्रिया के लिए।
CentOS/RHEL:
sudo yum install snapd
sudo systemctl enable --now snapd.socket
आवश्यक Snap कमांड्स
Snaps इंस्टॉल करना
बेसिक इंस्टॉलेशन:
# स्टेबल चैनल से इंस्टॉल करें
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
Snaps खोजना
# Snap स्टोर खोजें
snap find keyword
# विस्तृत आउटपुट के साथ खोजें
snap find keyword --verbose
# विशिष्ट सेक्शन खोजें
snap find --section=development
# उदाहरण
snap find "टेक्स्ट एडिटर"
snap find database
snap find "मीडिया प्लेयर"
कैटेगरी द्वारा ब्राउज़ करें:
# उपलब्ध सेक्शन्स की सूची बनाएं
snap find --section
# सामान्य सेक्शन्स में शामिल हैं:
# - productivity
# - development
# - server-and-cloud
# - security
# - entertainment
# - photo-and-video
# - music-and-audio
इंस्टॉल्ड Snaps की सूची बनाएं
# सभी इंस्टॉल्ड snaps की सूची बनाएं
snap list
# अधिक विवरण के साथ सूची बनाएं
snap list --all
# विशिष्ट snap दिखाएं
snap list package-name
# प्रकाशक द्वारा सूची बनाएं
snap list --all | grep "publisher-name"
आउटपुट में शामिल हैं:
- नाम: Snap पैकेज नाम
- वर्जन: वर्तमान वर्जन
- रिव: रिविजन नंबर
- ट्रैकिंग: ट्रैक किया जा रहा चैनल
- प्रकाशक: वेरिफाइड प्रकाशक
- नोट्स: कनफाइनमेंट प्रकार और फ्लैग्स
Snap इन्फो देखना
# विस्तृत snap इन्फो दिखाएं
snap info package-name
# उदाहरण आउटपुट में शामिल हैं:
# - विवरण
# - Snap ID
# - प्रकाशक
# - लाइसेंस
# - उपलब्ध चैनल्स
# - इंस्टॉल्ड वर्जन
# - रिफ्रेश तिथि
उदाहरण:
snap info vlc
आउटपुट दिखाता है:
name: vlc
summary: द ultimate media player
publisher: VideoLAN✓
license: GPL-2.0+
description: |
VLC एक फ्री और ओपन सोर्स मल्टीमीडिया प्लेयर है...
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 -
Snaps अपडेट करना
सभी Snaps अपडेट करें:
# सभी इंस्टॉल्ड snaps अपडेट करें
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
ऑटोमैटिक अपडेट्स:
Snaps डिफ़ॉल्ट रूप से ऑटोमैटिक रूप से अपडेट होते हैं। 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
Snaps हटाना
# 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 चैटशीट देखें।
Snaps चलाना
# 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 चैनल्स को समझना
चैनल्स डेवलपर्स को एक साथ विभिन्न संस्करण प्रकाशित करने की अनुमति देते हैं:
चैनल प्रकार
- stable: उत्पादन-तैयार रिलीज़ (डिफ़ॉल्ट)
- candidate: रिलीज़ कैंडिडेट्स, प्री-रिलीज़ टेस्टिंग
- beta: नए फीचर्स के साथ बीटा संस्करण
- edge: नवीनतम विकास बिल्ड्स, संभावित रूप से अस्थिर
चैनल ट्रैक्स
कुछ स्नैप्स में कई ट्रैक्स होते हैं (उदाहरण के लिए, मेजर संस्करण):
# उदाहरण: 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
# स्थिर चैनल पर वापस स्विच करें
sudo snap refresh package-name --channel=stable
# उपलब्ध चैनल्स देखें
snap info package-name
Snap Confinement Levels
Strict Confinement
अधिकतम सुरक्षा, स्नैप सिस्टम से अलग होता है:
# अधिकांश स्नैप्स स्ट्रिक्ट कन्फ़ाइनमेंट का उपयोग करते हैं
sudo snap install vlc
विशेषताएं:
- सीमित फ़ाइल सिस्टम एक्सेस
- हार्डवेयर एक्सेस के लिए इंटरफ़ेस कनेक्शन की आवश्यकता होती है
- AppArmor प्रोफ़ाइल सुरक्षा लागू करते हैं
- डेस्कटॉप एप्लिकेशन्स के लिए सबसे अच्छा
Classic Confinement
पूर्ण सिस्टम एक्सेस, पारंपरिक पैकेजों की तरह:
# कई विकास उपकरणों के लिए आवश्यक
sudo snap install code --classic
sudo snap install kubectl --classic
विशेषताएं:
- कोई सैंडबॉक्सिंग नहीं
- पूर्ण फ़ाइल सिस्टम एक्सेस
- सिस्टम उपकरणों और IDEs के लिए आवश्यक
- कम सुरक्षित लेकिन अधिक संगत
Devmode Confinement
विकास मोड, कन्फ़ाइनमेंट डिसएबल:
# केवल टेस्टिंग/विकास के लिए
sudo snap install package-name --devmode
विशेषताएं:
- कोई सुरक्षा प्रतिबंध नहीं
- स्नैप विकास के दौरान उपयोग किया जाता है
- उत्पादन के लिए अनुशंसित नहीं
- उल्लंघन लॉग किए जाते हैं लेकिन लागू नहीं किए जाते
Confinement Check
# कन्फ़ाइनमेंट स्तर देखें
snap list
# classic, devmode, या strict (लेबल नहीं) देखें
# विस्तृत जानकारी
snap info package-name | grep confinement
Snap Interfaces and Connections
इंटरफ़ेस यह परिभाषित करते हैं कि स्नैप्स सिस्टम संसाधनों के साथ कैसे संवाद करते हैं।
Interfaces View
# सभी उपलब्ध इंटरफ़ेस सूचीबद्ध करें
snap connections
# विशिष्ट स्नैप के लिए इंटरफ़ेस दिखाएँ
snap connections package-name
# सभी संभावित इंटरफ़ेस सूचीबद्ध करें
snap interface
# विशिष्ट इंटरफ़ेस के विवरण दिखाएँ
snap interface interface-name
Common Interfaces
- home: उपयोगकर्ता होम डायरेक्टरी एक्सेस
- network: नेटवर्क एक्सेस
- audio-playback: ऑडियो आउटपुट
- camera: कैमरा एक्सेस
- removable-media: यूएसबी ड्राइव्स, एसडी कार्ड्स
- x11: X11 डिस्प्ले सर्वर
- wayland: Wayland डिस्प्ले सर्वर
- opengl: GPU त्वरण
- pulseaudio: PulseAudio साउंड सर्वर
Connections Management
# इंटरफ़ेस कनेक्ट करें
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
Auto-connections:
अधिकांश इंटरफ़ेस इंस्टॉल करने पर स्वचालित रूप से कनेक्ट होते हैं। कुछ सुरक्षा के लिए मैनुअल कनेक्शन की आवश्यकता होती है।
Advanced Snap Usage
Snap Services
कुछ स्नैप्स बैकग्राउंड सर्विसेज के रूप में चलते हैं:
# सर्विसेज सूचीबद्ध करें
snap services
# विशिष्ट स्नैप के लिए सर्विसेज सूचीबद्ध करें
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 Configuration
# स्नैप कॉन्फ़िगरेशन देखें
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 Aliases
स्नैप कमांड्स के लिए शॉर्टकट्स बनाएँ:
# एलीस बनाएँ
sudo snap alias package-name.command alias-name
# उदाहरण: kubectl कमांड एलीस
sudo snap alias microk8s.kubectl kubectl
# एलीस सूचीबद्ध करें
snap aliases
# एलीस हटाएँ
sudo snap unalias alias-name
# स्नैप के लिए सभी एलीस हटाएँ
sudo snap unalias package-name
Snap Layouts
लेआउट्स कन्फ़ाइन स्नैप्स में पुराने एप्लिकेशन्स को काम करने देते हैं:
# स्नैप लेआउट्स देखें
snap info package-name | grep "layout:"
लेआउट्स स्नैप पथ्स को अपेक्षित सिस्टम पथ्स में मैप करते हैं।
Snap Store और प्रकाशन
Snap Store ब्राउज़ करें
वेब इंटरफ़ेस:
- https://snapcraft.io/store पर जाएँ
- श्रेणी के अनुसार ब्राउज़ करें
- एप्लिकेशन्स खोजें
- रेटिंग्स और समीक्षाएँ देखें
कमांड लाइन:
# फीचर्ड स्नैप्स
snap find --section=featured
# श्रेणी के अनुसार
snap find --section=productivity
snap find --section=games
# प्राइवेट स्नैप्स (प्रमाणिकरण की आवश्यकता होती है)
snap find --private
फ़ाइलों से इंस्टॉलेशन
# स्थानीय स्नैप फ़ाइल इंस्टॉल करें
sudo snap install package-name.snap --dangerous
# इंस्टॉल और इंटरफ़ेस कनेक्ट करें
sudo snap install package-name.snap --dangerous --classic
नोट: --dangerous स्थानीय फ़ाइलों के लिए सिग्नेचर वेरिफिकेशन को बाईपास करता है।
Snap Issues Troubleshooting
सामान्य समस्याएँ और समाधान
Snap Store लोड नहीं हो रहा है
# 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
# स्नैप स्टार्टअप टाइम चेक करें
time snap run package-name
कनेक्शन समस्याएँ
# नेटवर्क इंटरफ़ेस वेरिफाई करें
snap connections package-name | grep network
# नेटवर्क मैनुअल रूप से कनेक्ट करें
sudo snap connect package-name:network
# फायरवॉल चेक करें
sudo ufw status
Snap इंस्टॉलेशन विफलताएँ
# स्नैप कैश क्लियर करें
sudo rm -rf /var/lib/snapd/cache/*
# स्नैप रीइंस्टॉल करें
sudo snap remove package-name
sudo snap install package-name
# डिस्क स्पेस चेक करें
df -h /var/lib/snapd
# टूटे हुए स्नैप स्टेट फिक्स करें
sudo snap changes
sudo snap abort <change-id> # अगर स्टक हो गया है
AppArmor Denials
# AppArmor लॉग्स चेक करें
sudo dmesg | grep DENIED
# विशिष्ट स्नैप प्रोफ़ाइल देखें
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.*
# AppArmor रीलोड करें
sudo systemctl reload apparmor
Snap Revision Conflicts
# सभी रिवीज़न सूचीबद्ध करें
snap list --all package-name
# पुराने रिवीज़न हटाएँ
sudo snap remove package-name --revision=old-number
# पिछले रिवीज़न पर वापस करें
sudo snap revert package-name
# स्नैप चेंजेस चेक करें
snap changes
Snaps Debugging
# डिबग मोड इनेबल करें
sudo snap set system debug.snapd=true
# स्नैप एन्वायर्नमेंट देखें
snap run --shell package-name
# फिर चलाएँ: env
# स्नैप फ़ाइल लेआउट चेक करें
ls -la /snap/package-name/current/
# स्नैप मेटाडेटा देखें
cat /snap/package-name/current/meta/snap.yaml
# स्नैप एक्सिक्यूशन ट्रेस करें
snap run --trace-exec package-name
# स्नैप एसर्टशन्स चेक करें
snap known assertion-type
Performance Optimization
Disk Usage कम करें
# स्नैप स्टोरेज यूज़ेज चेक करें
du -sh /var/lib/snapd/snaps/*
# पुराने रिवीज़न स्वचालित रूप से हटाएँ
# refresh.retain को 2 सेट करें (केवल 2 पुराने संस्करण रखें)
sudo snap set system refresh.retain=2
# मैनुअल क्लीनअप स्क्रिप्ट
#!/bin/bash
# सभी डिसएबल स्नैप रिवीज़न हटाएँ
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 प्रदर्शन निगरानी करें
# स्नैप प्रक्रिया उपयोग देखें
ps aux | grep snap
# स्नैप सर्विस संसाधनों की निगरानी करें
systemctl status snap.package-name.service-name
# snapd संसाधन उपयोग देखें
systemctl status snapd
# स्नैप माउंट पॉइंट्स चेक करें
mount | grep snap
Security Best Practices
प्रकाशकों को वेरिफाई करें
# प्रकाशक वेरिफिकेशन चेक करें
snap info package-name | grep publisher
# ✓ (वरिफाइड) या ✪ (स्टार - Canonical) देखें
संभावित होने पर केवल वेरिफाइड प्रकाशकों से इंस्टॉल करें।
अनुमतियों की समीक्षा करें
# इंस्टॉल करने से पहले आवश्यक इंटरफ़ेस चेक करें
snap info package-name | grep plugs
# इंस्टॉल के बाद कनेक्शन समीक्षा करें
snap connections package-name
# अनावश्यक इंटरफ़ेस डिस्कनेक्ट करें
sudo snap disconnect package-name:interface-name
नियमित अपडेट्स
# स्नैप्स अपडेट रखें
sudo snap refresh
# स्वचालित सुरक्षा अपडेट्स इनेबल करें
# (डिफ़ॉल्ट रूप से इनेबल)
snap refresh --time
इंस्टॉल्ड स्नैप्स ऑडिट करें
# सभी स्नैप्स और कन्फ़ाइनमेंट सूचीबद्ध करें
snap list
# devmode स्नैप्स चेक करें (कम सुरक्षित)
snap list | grep devmode
# क्लासिक स्नैप्स समीक्षा करें (पूर्ण सिस्टम एक्सेस)
snap list | grep classic
Strict Confinement का उपयोग करें
बेहतर सुरक्षा के लिए स्ट्रिक्ट कन्फ़ाइनमेंट वाले स्नैप्स पसंद करें:
# इंस्टॉल करने से पहले कन्फ़ाइनमेंट चेक करें
snap info package-name | grep confinement
# उत्पादन में --devmode से बचें
Snap Enterprise वातावरण में
प्रॉक्सी कॉन्फ़िगरेशन
# 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 download package-name
# ऑफ़लाइन सिस्टम पर ट्रांसफर करें और इंस्टॉल करें
sudo snap install package-name_*.snap --dangerous
# साइन किए गए इंस्टॉल के लिए एसर्टशन्स शामिल करें
sudo snap ack package-name_*.assert
sudo snap install package-name_*.snap
Snap Store प्रॉक्सी
एंटरप्राइज वातावरण के लिए Snap Store प्रॉक्सी डिप्लॉय करें:
- स्नैप्स को स्थानीय रूप से कैश करें
- उपलब्ध स्नैप्स को नियंत्रित करें
- इंस्टॉलेशन को मॉनिटर करें
- बैंडविड्थ उपयोग को कम करें
देखें: https://docs.ubuntu.com/snap-store-proxy/
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 Testing
sudo snap install dbeaver-ce # Database Tool
DevOps & क्लाउड
sudo snap install kubectl --classic # Kubernetes CLI
sudo snap install helm --classic # Helm
sudo snap install microk8s --classic # Lightweight 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 # Email Client
sudo snap install joplin-desktop # Notes App
sudo snap install libreoffice # Office Suite
मल्टीमीडिया
sudo snap install vlc # Video Player
sudo snap install spotify # Music Streaming
sudo snap install obs-studio # Screen Recording
sudo snap install gimp # Image Editor
sudo snap install inkscape # Vector Graphics
sudo snap install audacity # Audio Editor
sudo snap install kdenlive # Video Editor
ब्राउज़र
sudo snap install chromium # Chromium
sudo snap install firefox # Firefox
sudo snap install opera # Opera
sudo snap install brave # Brave Browser
सिस्टम यूटिलिटीज़
sudo snap install htop # Process Monitor
sudo snap install bpytop # System Monitor
sudo snap install speedtest-cli # Speed Test
sudo snap install certbot --classic # SSL Certificates
sudo snap install ngrok # Tunneling
इन यूटिलिटीज़ और सामान्यतः Ubuntu के साथ काम करते समय अपने उत्पादकता को बढ़ाने के लिए, हमारी Ubuntu Keyboard Shortcuts Cheatsheet का पता लगाएं।
सही पैकेज मैनेजर का चयन
Snap का उपयोग कब करें ✅
सबसे अच्छा::
- क्रॉस-डिस्ट्रीब्यूशन संगतता की आवश्यकता है
- स्वचालित अपडेट महत्वपूर्ण हैं
- सैंडबॉक्सिंग के माध्यम से सुरक्षा प्राथमिकता है
- नवीनतम एप्लिकेशन संस्करण की आवश्यकता है
- डेस्कटॉप एप्लिकेशन
- IoT और एम्बेडेड डिवाइस (Ubuntu Core)
अन्य पैकेज मैनेजर का उपयोग कब करें
- APT: हमारी APT Package Manager Guide सिस्टम पैकेज, लाइब्रेरीज, और पारंपरिक Ubuntu पैकेज प्रबंधन के लिए देखें
- Flatpak: हमारी Flatpak Package Manager Guide ग्रेनुलर अनुमतियों के साथ डेस्कटॉप एप्लिकेशन और कोई बैकग्राउंड डेमन के लिए देखें
Snap कमांड रेफरेंस
क्विक कमांड चीटशीट
# SEARCH & INSTALL
snap find keyword # स्नैप्स खोजें
sudo snap install name # स्नैप इंस्टॉल करें
sudo snap install name --classic # क्लासिक कनफाइनमेंट
sudo snap install name --channel=beta # विशिष्ट चैनल
# LIST & INFO
snap list # इंस्टॉल किए गए स्नैप्स की सूची
snap list --all # पुराने रिवीजन शामिल करें
snap info name # स्नैप विवरण दिखाएं
snap version # snapd संस्करण दिखाएं
# UPDATE
sudo snap refresh # सभी अपडेट करें
sudo snap refresh name # विशिष्ट अपडेट करें
snap refresh --list # अपडेट्स की जांच करें
sudo snap refresh --hold # अपडेट्स को स्थगित करें
# REMOVE
sudo snap remove name # स्नैप हटाएं
sudo snap remove --purge name # डेटा के साथ हटाएं
sudo snap remove name --revision=N # रिवीजन हटाएं
# SERVICES
snap services # सेवाओं की सूची
sudo snap start name.service # सेवा शुरू करें
sudo snap stop name.service # सेवा रोकें
sudo snap logs name.service # लॉग देखें
# CONNECTIONS
snap connections # कनेक्शन्स की सूची
snap connections name # स्नैप कनेक्शन्स
sudo snap connect name:plug # इंटरफेस कनेक्ट करें
sudo snap disconnect name:plug # डिस्कनेक्ट करें
# CONFIGURATION
snap get name # कॉन्फ़िग देखें
sudo snap set name key=value # कॉन्फ़िग सेट करें
snap get system # सिस्टम कॉन्फ़िग
# CHANNELS
sudo snap refresh name --channel=edge # चैनल स्विच करें
sudo snap track name # ट्रैकिंग दिखाएं
# ALIASES
sudo snap alias name.cmd cmd # एलीस बनाएं
snap aliases # एलीस की सूची
sudo snap unalias cmd # एलीस हटाएं
# TROUBLESHOOTING
snap changes # हाल के बदलाव दिखाएं
snap tasks <change-id> # टास्क विवरण
snap abort <change-id> # बदलाव रद्द करें
sudo snap revert name # पिछले संस्करण पर वापस जाएं
निष्कर्ष
Snap पैकेज मैनेजर कंटेनराइजेशन के माध्यम से बढ़ी हुई सुरक्षा के साथ स्वचालित अपडेट और सार्वभौमिक पैकेजिंग के साथ लिनक्स एप्लिकेशन वितरण का भविष्य प्रतिनिधित्व करता है। जबकि इसमें डिस्क उपयोग और स्टार्टअप प्रदर्शन में ट्रेड-ऑफ हैं, सरल डिपेंडेंसी प्रबंधन, क्रॉस-डिस्ट्रीब्यूशन संगतता, और स्थिर अपडेट के लाभ इसे आधुनिक लिनक्स एप्लिकेशन के लिए एक उत्कृष्ट विकल्प बनाते हैं।
चाहे आप एक डेवलपर हों जो एप्लिकेशन डिप्लॉय कर रहे हैं, एक सिस्टम एडमिन हों जो अपडेट्स का प्रबंधन कर रहे हैं, या नवीनतम सॉफ्टवेयर चाहते हैं, Snap एक मजबूत, सुरक्षित, और उपयोगकर्ता-मित्र पैकेज प्रबंधन समाधान प्रदान करता है।
मुख्य बिंदु:
- Snap पैकेज्स स्व-संपूर्ण हैं और विभिन्न डिस्ट्रीब्यूशन पर काम करते हैं
- स्वचालित अपडेट्स आपके एप्लिकेशन सुरक्षित और अप-टू-डेट रखते हैं
- सैंडबॉक्सिंग कनफाइनमेंट के माध्यम से बढ़ी हुई सुरक्षा प्रदान करता है
- विभिन्न कनफाइनमेंट स्तर सुरक्षा और कार्यक्षमता का संतुलन बनाते हैं
- चैनल्स आपको स्थिरता और नवीनतम विशेषताओं के बीच चयन करने की अनुमति देते हैं
- Snap डेस्कटॉप एप्लिकेशन और IoT डिवाइस के लिए आदर्श है
Snap स्टोर का पता लगाएं और सार्वभौमिक लिनक्स पैकेजिंग की सुविधा का अनुभव करें!
उपयोगी लिंक्स
- Snap आधिकारिक वेबसाइट
- Snap Store
- Snap दस्तावेज़ीकरण
- Snapcraft (स्नैप्स बनाएं)
- Snap फोरम
- GitHub रिपॉजिटरी
- Ubuntu Snap गाइड
- Snap Store प्रॉक्सी
- इंटरफेस रेफरेंस
- सुरक्षा नीति