Snapcraftとは何ですか?

Snapcraftとは何ですか?

私は Raspberry Pi 2 デバイスで snappy Ubuntu core を試していて、Snapcraft を使用して開発できると聞きました。今では、Ubuntu 16.04 やその他のディストリビューションのデスクトップとサーバーで snaps が利用できると聞きました。

Snapcraft とは何ですか? どのように使用できますか?

答え1

スナップクラフトはツールセットコマンドの下にまとめるsnapcraftと簡単に複数の Linux ディストリビューション用のパッケージを作成 (クラフト)これらの .snap パッケージには通常、自己完結型のアプリが含まれており、安全な分離が提供され、Ubuntu ソフトウェア ストアから、またはsnap install <snap-name>.snapコマンドを使用して手動でインストールできます。

簡単に言えば、開発者は通常のツールを使ってコードを書き、配布用に組み立てるのはSnapcraftに任せるということになります。Snapcraftは開発者がポート既存のアプリを、Snap 対応の Linux プラットフォームに移行できます。

スナップクラフト:

  • 知的である: 多様なソフトウェアを取得し、構築し、組み立てます(部品)をリモートソースから最終的な.snapパッケージにエクスポートします。これには、機能するために必要なすべての依存関係が含まれます。
  • レシピが必要:snapcraft.yaml指定するファイルに依存します部品そしてプラグインパッケージを作成するために必要な
  • 拡張可能プラグイン付き。幅広いアプリビルドに対応するために最も一般的なビルドシステムプラグインのセットが付属していますが、新しいものを簡単に拡張できる

3分間のSnapcraftツアー

UbuntuにSnapcraftをインストールする

Snapcraft を使用するには、Ubuntu 16.04 LTSが必要です。++Ctrlでターミナルを開き、次のコマンドで Snapcraft をインストールします。Altt

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

別のディストリビューションを使用している場合は、代替インストール手順を確認してください >

Snapcraftを試乗する

次の例では、貼り付けと共有を可能にするサービスを含むパッケージを作成します。完了したら、テスト目的で snappy デバイスに手動でインストールしたり、他のユーザーのためにストアにアップロードしたりできます。

まず、ターミナルを開いて、サンプル リポジトリからサンプルをダウンロードします。

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

そのディレクトリ内のファイルに注目してください。このsnapcraft.yamlファイルは、最終的な .snap を組み立てるために必要なサービスとパーツを指定します。必要に応じて、テキスト エディターで調べることができます。

次に、snapcraftターミナルでコマンドを実行します。これにより、すべての 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

コマンドの出力では、snapcraft が実行する手順を確認できます。

  1. 引く: 必要なgopaste部分のコードをリモートGithubリポジトリから取得します
  2. 建てる: ローカルでgopasteを構築します
  3. ステージ: ビルド後、パーツは単一のディレクトリツリー「ステージングエリア」に配置されます。
  4. スナップ: ステージングエリアで組み立てられたパーツから最終的な.snapパッケージが作成されます。

ノート:

  • 最終的なスナップ ファイルは次のようになりますgopaste_1.0_amd64.snap(私の場合は amd64 デスクトップでビルドしたことに注意してください。たとえば、Raspberry Pi 2 パッケージには_armhfアーキテクチャ サフィックスが付きます)。
  • 各コマンドを個別に実行することもできます: snapcraft pullsnapcraft buildsnapcraft stageまたはsnapcraft snap
  • snapcraft -h使用可能なすべてのコマンドの概要を簡単に確認するために使用します。

以上が、Snapcraft で何ができるかの簡単な紹介です。Snapcraftについて詳しくはこちら >

関連情報