Snapcraft, birden çok Linux dağıtımı için kolayca (craft) paketler oluşturma komutu altında paketlenmiş bir araç setidir . Bu .snap paketleri genellikle bağımsız uygulamalar içerir, güvenli yalıtım sağlar ve Ubuntu Yazılım Mağazası'ndan veya komut aracılığıyla elle yüklenebilir .snapcraft
snap install <snap-name>.snap
Kısacası, bir geliştirici olarak normal araçlarınızı kullanarak kod yazacak ve Snapcraft'ın dağıtım için bir araya getirmesine izin vereceksiniz. Snapcraft ayrıca geliştiricilerin sağlayan üstünlük port herhangi onların mevcut uygulamalarınızı Linux platformu çırpıda özellikli.
Snapcraft:
- Akıllı : Uzak kaynaklardan çeşitli yazılım parçalarını ( parçalarını ), çalışması için ihtiyaç duyduğu tüm bağımlılıkları içeren bir nihai .snap paketine getirir, derler ve birleştirir
- Bir tarif gerekiyor : parçaları
snapcraft.yaml
belirten bir dosyaya dayanıyor paketi oluşturmak için gerekli ve eklentileri
- GenişletilebilirEklentilerle . Çok çeşitli uygulama yapılarını karşılamak için en yaygın oluşturma sistemi eklentileriyle birlikte gönderilirken, yenileriyle kolayca genişletilebilir .
3 dakikalık Snapcraft turu
Snapcraft'ı Ubuntu'ya yükleyin
Snapcraft'ı kullanmak için Ubuntu 16.04 LTS'ye ihtiyacınız olacak. Ctrl+ Alt+ tİle bir terminal açın ve bu komutla Snapcraft'ı yükleyin:
sudo apt install snapcraft
sudo apt install build-essential # Optional, but useful for different builds
Başka bir dağıtım kullanıyorsanız, alternatif kurulum talimatlarını inceleyin>
Test sürüşü Snapcraft
Aşağıdaki örnek, yapıştırmanıza ve paylaşmanıza olanak tanıyan bir hizmet içeren bir paket oluşturur. Bitirdikten sonra, test amacıyla snappy cihazınıza manuel olarak yükleyebilir veya diğer kullanıcılar için Mağaza'ya yükleyebilirsiniz.
Her şeyden önce bir terminal açıyoruz ve örnekler deposundan örneği indiriyoruz:
sudo apt install git
git clone https://github.com/ubuntu-core/snapcraft.git
cd snapcraft/demos/gopaste
Dikkat edin snapcraft.yaml
Bu dizindeki bir hizmeti ve son .snap dosyasını birleştirmek için gereken parçaları belirten dosyaya . İsteğe bağlı olarak bir metin düzenleyici ile inceleyebilirsiniz.
Şimdi snapcraft
komutu terminalde çalıştırın . Bu, tüm snapcraft alt komutlarının parçaları oluşturmak ve sonuçları son .snap paketine koymak için sırayla çalışmasına neden olur. Geliştirme sırasında, tüm yapının ve montajın çalıştığından emin olana kadar adımları normalde ayrı olarak çalıştırırsınız.
$ 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
Komutun çıktısında snapcraft'ın sizin için uyguladığı adımları görebilirsiniz:
- Çekme : kodu uzak bir Github deposundan gerekli gopaste parçasından çeker
- Yapı : yerel olarak gopaste oluşturur
- Aşama : Derlemeden sonra, parçalar tek bir dizin ağacına, "hazırlama alanı"
- Snap : son .snap paketi, hazırlama alanındaki birleştirilmiş parçalardan oluşturulur
Notlar:
- Son snap dosyasını şu şekilde bulacaksınız
gopaste_1.0_amd64.snap
(benim durumumda amd64 masaüstüme kurdum, örneğin Raspberry Pi 2 paketleri_armhf
mimari son eke ).
- Ayrıca tek tek her komutu çalıştırabilirsiniz:
snapcraft pull
, snapcraft build
, snapcraft stage
veyasnapcraft snap
snapcraft -h
Mevcut tüm komutlara hızlı bir genel bakış için kullanın .
Snapcraft'ın neler yapabileceğine hızlıca göz atmak için hepsi bu kadar! Snapcraft hakkında daha fazla bilgi edinin>