Snaps. क्यों? कृपया बंद करें
Linux उपयोगकर्ता Canonical के Snap packages और पारंपरिक distro-managed formats जैसे .deb, Flatpak, AppImage, और Docker के बीच trade-offs पर विचार करते हैं। Snap के आलोचक बड़े disk footprints, performance issues, अस्पष्ट और केंद्रीकृत infrastructure, और Ubuntu द्वारा native packages (जैसे Firefox, Chromium) को snaps से बदलने की प्रवृत्ति की आलोचना करते हैं, जबकि समर्थक तर्क देते हैं कि self-contained, auto-updating bundles dependency hell को कम करते हैं और maintenance को upstream developers की ओर स्थानांतरित करते हैं। व्यापक तनाव इस बात पर है कि packaging और updates पर नियंत्रण किसके पास हो—distributions या application vendors के पास—और security, convenience, openness, तथा system resource constraints के बीच संतुलन कैसे बनाया जाए।
चर्चा की उम्र और संदर्भ
- थ्रेड इस बात पर केंद्रित है कि Snaps क्यों मौजूद हैं और क्या वे एक अच्छा विचार हैं, जिसमें Flatpak, AppImage, Docker, और पारंपरिक distro पैकेजिंग से कई तुलना की गई हैं।
- कई टिप्पणियाँ नोट करती हैं कि मूल फ़ोरम पोस्ट 2019–2021 की है, लेकिन मुद्दों को अभी भी प्रासंगिक माना जा रहा है।
डिस्क स्पेस, स्टोरेज, और प्रदर्शन
- मुख्य चिंता: Snaps बहुत अधिक डिस्क स्पेस लेते हैं क्योंकि वे dependencies को साथ बंडल करते हैं और प्रति पैकेज कई versions बनाए रखते हैं।
- उदाहरण: core और GNOME base snaps के अलग-अलग versions में दोहराव; छोटे apps का सैकड़ों MB या उससे अधिक तक बढ़ जाना।
- इसे विशेष रूप से सस्ते laptops पर समस्या माना जाता है जिनमें छोटी, अक्सर अपग्रेड न हो सकने वाली storage होती है।
- कुछ लोगों का कहना है कि snapd लगातार high CPU load और बड़े logs पैदा करता है।
हार्डवेयर अपग्रेडेबिलिटी पर बहस
- एक पक्ष का दावा है कि “कई laptops” में अब soldered या eMMC storage होती है, जिससे space की कमी बड़ी समस्या बन जाती है।
- अन्य लोग तर्क देते हैं कि ये अभी भी अल्पसंख्या हैं और अधिकांश laptops में आसानी से बदले जा सकने वाले SSDs होते हैं।
- consumer laptops में eMMC उपयोग की सीमा विवादित है और मूल रूप से “अस्पष्ट” छोड़ी गई है।
पैकेजिंग मॉडल और डेवलपर बोझ
- मजबूत तर्क है कि पारंपरिक distro packaging स्केल नहीं करती: हर distro के लिए vendors से .deb/.rpm शिप करने की अपेक्षा अवास्तविक है।
- अन्य लोग जवाब देते हैं कि Open Build Service जैसे tools और standard build systems पहले से ही multi-distro packaging को प्रबंधनीय बनाते हैं।
- कुछ का तर्क है कि packaging distro की ज़िम्मेदारी रहनी चाहिए; अन्य कहते हैं कि इसे upstream app developers तक धकेला जाना चाहिए।
Snaps के माने गए फायदे
- cross-distro packaging और commercial तथा third-party software के लिए आसान distribution।
- automatic updates और strict sandboxing servers और कुछ self-hosted services (जैसे Nextcloud) के लिए बड़े फायदे माने जाते हैं।
- कुछ लोगों के अनुसार Snaps कई dependencies वाले “modern apps” के लिए बेहतर fit हैं, क्योंकि ये library conflicts से बचाते हैं।
Snaps की प्रमुख आलोचनाएँ
- Ubuntu में जबरन उपयोग (जैसे apt से इंस्टॉल करने पर भी Firefox/Chromium का Snap के माध्यम से आना)।
- closed-source backend, hard-coded Canonical store, और perceived centralization/gatekeeping।
- बड़ा disk footprint, धीमा startup, कई retained versions, और अनेक loop devices के कारण mount pollution।
- integration/sandbox समस्याएँ: VPN DNS, smart cards/YubiKey, CUPS, और अन्य system resources के साथ दिक्कतें।
- कुछ लोग Snap को “half-baked Canonical tech” और मोबाइल/app-store economics की नकल करने की कोशिश मानते हैं।
Flatpak, AppImage, Docker, Nix, आदि
- कुछ लोग GUI apps के लिए Flatpak को पसंद करते हैं; फिर भी permission, theming, और runtime bloat से जुड़ी समस्याओं की रिपोर्टें हैं, हालांकि यह बेहतर हो रहा है।
- AppImage को सरलता के लिए सराहा जाता है, लेकिन automatic updates की कमी workflow के अनुसार कमी भी है और feature भी।
- Docker/Podman अक्सर “bleeding edge” या server workloads के लिए अधिक इस्तेमाल किए जाते हैं।
- dependency control के लिए Nix/Guix और immutable distros को अधिक सिद्धांत-आधारित विकल्प के रूप में उल्लेख किया गया है।
पारंपरिक package managers और स्थिरता
- कई लंबे समय से Debian/Ubuntu उपयोग करने वाले कहते हैं कि यदि आप official repos के भीतर रहें या proper pinning का उपयोग करें, तो dependency hell काफी हद तक हल हो चुका है।
- अन्य लोग ज़ोर देते हैं कि dependency hell अभी भी मौजूद है, खासकर third-party repos और PPAs के साथ।
- कुछ लोग Ubuntu से दूर जाकर (Debian, Arch, Mint, Pop!_OS की ओर) मुख्यतः Snaps और Ubuntu की अतिरिक्त tooling/ads से बचना चाहते हैं।
- निरंतर तनाव: stable, distro-integrated packages की चाह बनाम “fix-forward” मानसिकता और तेज़ auto-updates।