Snapcraft क्या है?


16

मैं एक रास्पबेरी पाई 2 डिवाइस पर स्नैपी उबंटू कोर की कोशिश कर रहा हूं, और मैंने सुना है कि मैं इस पर विकास करने के लिए Snapcraft का उपयोग कर सकता हूं। अब मैंने सुना है कि स्नोबॉल उबंटू 16.04 और अन्य डिस्ट्रो के लिए डेस्कटॉप और सर्वर पर उपलब्ध है।

Snapcraft क्या है और मैं इसका उपयोग कैसे कर सकता हूं?

जवाबों:


27

Snapcraft कई लिनक्स वितरण के लिए आसानी से (शिल्प) पैकेज बनाने के लिए कमांड के तहत बंडल किए गए टूल का एक सेट है । इन .sap पैकेजों में आम तौर पर स्व-निहित ऐप्स होते हैं, जो सुरक्षित अलगाव प्रदान करते हैं और उबंटू सॉफ्टवेयर स्टोर से या मैन्युअल रूप से कमांड के माध्यम से इंस्टॉल करने योग्य होते हैं ।snapcraftsnap install <snap-name>.snap

संक्षेप में, एक डेवलपर के रूप में आप अपने नियमित टूल का उपयोग करके कोड लिखेंगे, और Snapcraft को वितरण के लिए इसे असेंबल करने का ध्यान रखना चाहिए। Snapcraft डेवलपर्स को सक्षम करने में भी मदद करता है, अपने मौजूदा ऐप्स को किसी भी स्नैप-सक्षम लिनक्स प्लेटफ़ॉर्म पर पोर्ट करता है।

Snapcraft:

  • बुद्धिमान है : यह दूरस्थ स्रोतों से सॉफ्टवेयर ( भागों ) के विभिन्न टुकड़ों को एक अंतिम .snap पैकेज में लाता है , बनाता है और असेंबल करता है , जिसमें सभी निर्भरताएँ होती हैं जिन्हें इसे कार्य करने की आवश्यकता होती है
  • एक नुस्खा की आवश्यकता है : यह एक snapcraft.yamlफ़ाइल पर निर्भर करता है जो पैकेज बनाने के लिए आवश्यक भागों और प्लगइन्स को निर्दिष्ट करता है
  • प्लगइन्स के साथ एक्स्टेंसिबल है। हालांकि यह ऐप बिल्ड की एक विस्तृत श्रृंखला को पूरा करने के लिए सबसे सामान्य बिल्ड सिस्टम प्लगइन्स के एक सेट के साथ जहाज करता है, इसे आसानी से नए लोगों के साथ बढ़ाया जा सकता है

3-मिनट का Snapcraft दौरा

Ubuntu पर Snapcraft स्थापित करें

Snapcraft का उपयोग करने के लिए आपको Ubuntu 16.04 LTS की आवश्यकता होगी। के साथ एक टर्मिनल खोलें Ctrl+ Alt+ tऔर केवल इस आदेश के साथ Snapcraft स्थापित:

sudo apt install snapcraft
sudo apt install build-essential  # Optional, but useful for different builds

यदि आप किसी अन्य डिस्ट्रो का उपयोग कर रहे हैं, तो वैकल्पिक इंस्टॉलेशन निर्देश> देखें

टेस्ट-ड्राइव Snapcraft

निम्नलिखित उदाहरण में एक पैकेज है जिसमें एक सेवा शामिल है जो आपको पेस्ट करने और साझा करने की अनुमति देती है। एक बार समाप्त होने के बाद, आप इसे मैन्युअल रूप से परीक्षण प्रयोजनों के लिए अपने तेज़ डिवाइस पर स्थापित कर सकते हैं या इसे अन्य उपयोगकर्ताओं के लिए स्टोर पर अपलोड कर सकते हैं।

सबसे पहले हम एक टर्मिनल खोलते हैं और उदाहरण भंडार से उदाहरण डाउनलोड करते हैं:

sudo apt install git
git clone https://github.com/ubuntu-core/snapcraft.git
cd snapcraft/demos/gopaste

snapcraft.yamlउस निर्देशिका में फ़ाइल को नोटिस करें , जो एक सेवा को निर्दिष्ट करती है और अंतिम को इकट्ठा करने के लिए आवश्यक भागों को .snap। आप वैकल्पिक रूप से एक पाठ संपादक के साथ इसकी जांच कर सकते हैं।

अब snapcraftटर्मिनल पर कमांड चलाएँ। यह सभी स्नैपक्राफ्ट उप-प्रक्षेत्रों को भागों को बनाने और अंतिम .snap पैकेज में परिणाम डालने के क्रम में चलाने का कारण बनेगा। विकास के दौरान, आप आम तौर पर अलग-अलग चरणों को तब तक चलाएंगे जब तक आप आश्वस्त न हों कि पूरी बिल्ड और असेंबली काम करती है।

$ snapcraft 
Pulling gopaste 
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go get -t -d github.com/wisnij/gopaste/gopasted
Building gopaste 
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go build github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go install github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build cp -a /tmp/snapcraft/examples/gopaste/parts/gopaste/build/bin /tmp/snapcraft/examples/gopaste/parts/gopaste/install
Staging gopaste 
Snapping gopaste 
Generated 'gopaste_1.0_amd64.snap' snap

कमांड के आउटपुट पर आप देख सकते हैं कि आपके लिए स्टेप स्नैपचैट चलता है:

  1. खींचो : यह रिमोट Github रेपो से आवश्यक गोपेस्ट भाग से कोड खींचता है
  2. बिल्ड : यह स्थानीय स्तर पर गोस्ट बनाता है
  3. स्टेज : निर्माण के बाद, भागों को एक ही डायरेक्टरी ट्री में डाल दिया जाता है, "स्टेजिंग एरिया"
  4. स्नैप : अंतिम .snap पैकेज स्टेजिंग क्षेत्र में इकट्ठे भागों से बनाया गया है

टिप्पणियाँ:

  • आपको अंतिम स्नैप फ़ाइल मिल जाएगी gopaste_1.0_amd64.snap(मेरे मामले में नोटिस मैंने इसे अपने amd64 डेस्कटॉप पर बनाया है, जैसे रास्पबेरी पाई 2 पैकेजों में _armhfआर्किटेक्चर प्रत्यय होगा)।
  • तुम भी व्यक्तिगत रूप से प्रत्येक आदेश चला सकते हैं: snapcraft pull, snapcraft build, snapcraft stageयाsnapcraft snap
  • snapcraft -hउपलब्ध सभी आदेशों के त्वरित अवलोकन के लिए उपयोग करें ।

और यह स्नैपक्राफ्ट क्या कर सकता है की एक त्वरित झलक के लिए है! Snapcraft> के बारे में अधिक जानें


9
मैं टिप्पणी की सराहना करता हूं, लेकिन जब मैं स्नैपक्राफ्ट डेवलपर्स में से एक नहीं हूं, तो मुझे यह भी पता नहीं है कि उबंटू स्नैप बनाने के लिए एक टूल क्या है और इसका उपयोग कैसे करना है, यह उबंटू साइट पर, कभी भी स्पैम का गठन कर सकता है।
डेविड प्लानेला

फीचर्स की सूची पर शब्दांकन ने मुझे प्रभावित किया। और यह भी"And that's it for a quick glimpse of what Snapcraft can do!"
इस्माइल मिगुएल

1
मैं यहां डेविड से सहमत हूं।
ढोलबैच

1
Bzr भाग को समान git कमांड से बदला जाना चाहिए, क्योंकि कोड अब Github पर है।
लैपिसडेकोर

1
इसके अलावा, यदि आप git का उपयोग कर रहे हैं और bzr नहीं तो आपको git और gcc को स्थापित करने की आवश्यकता है।
लैपिसडेकोर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.