はじめに
スナップとは何ですか?なぜそれらを使用する必要がありますか? Linuxエコシステムは、「配布」の概念の黎明期から古い問題に悩まされてきました。その問題は断片化です。
この断片化を引き起こす最大の問題の1つは、さまざまなパッケージ形式です。 Fedoraシステムで.debsを実行したり、Ubuntuマシンで.rpmsを実行したりできません。はい、エイリアンがあります。これにより、2つの形式間の移行が可能になりますが、このアプローチには2つの問題があります。rpmとdeb以外に、他のパッケージ形式があります。さらに、エイリアンは常に期待どおりに機能するとは限りません。 。ですから、問題はまだそこにあります、あるいは私が言わなければならないのは、そこにあったということです。ユニバーサルLinuxパッケージフォーマットであるsnapを入力してください。これは、ユーザーと開発者に、必要なアプリケーションとライブラリを使用して新しいパッケージを作成する際に、単一のパッケージフォーマットと簡単さを提供することを目的としています。ディストリビューション間で簡単に共有できます。貢献者としては、Dell、Samsung、Linux Foundationが挙げられていますが、
サポートされているディストリビューションには、Fedora、Ubuntu、Arch、OpenSUSEなどがあります。
この記事では、単純なユーザーとしてスナップを使用する方法と、他のユーザーが使用するスナップを作成する方法に関する開発者/パッケージャー向けの
手順について詳しく説明します。使用するOSはUbuntu16.04ですが、以下の手順を他のディストリビューションに適応させるのは難しいことではありません。
単純なユーザーとしてスナップ
このパートでは、ユーザーの観点からスナップのツアーを提供します。必要なツールをインストールする方法と、それらを基本的な日常の使用に使用する方法です。
まず、前述の日常業務に使用できるツールであるスナップを提供するパッケージであるスナップクラフトをインストールする必要があります:
$ sudo apt install snapcraft
それで全部です。さて、先に進む前に、いくつかの詳細について話しましょう。まず、スナップとして提供されるアプリケーションは分離されたコンテナーであり、リソースの消費とセキュリティの問題の点で非常に役立ちます。スナップによってインストールされたものはすべて/snap/
にあります。 、これには独自の階層があります:/snap/bin
、/snap/lib
等々。次に、
自動的に更新を取得します。第三に、スナップは、代替品としてではなく、既存のLinuxパッケージを補完するものと考えてください(とにかく、今ではありません)。
そして最後に、スナップはインストールされたソフトウェアと簡単に統合され、インターフェースを介して既存のライブラリを利用します。
過去に述べたように、マニュアルに代わるものはありません。ですから、私たちはあなたにツアーを提供しますが、あなたがより深く掘り下げたいのであれば、あなたはあなた自身でいくつかの読書をする必要があるでしょう。したがって、
基本的なスナップ操作から始めましょう。パッケージを検索する場合は、実行してください
$ snap find hello
ここで、「hello」は私たちが探している文字列の例です。同じ文字列でさらに進んで、何かをインストールしましょう:
$ sudo snap install hello
インストールされたスナップは「リスト」で表示できます:
$ snap list
インストールしたすべてのものまたは特定のスナップのみのいずれかを更新して更新します:
$ sudo snap refresh OR $ sudo snap refresh hello
やや新しいのは(はい、たとえばyumで元に戻すことができますが、それだけでなく、必ずしも希望どおりに機能するとは限りません)、「元に戻す」コマンドです:
$ sudo snap revert hello
開発者としてのスナップの使用
セットアップ
まず第一に、スナップを作成するために何を始める必要があるかを見てみましょう。取引のツールは
スナップと呼ばれ、UbuntuとDebianでは
$ sudo apt install snapd snapcraft
Fedoraでできること
$ sudo dnf copr enable zyga/snapcore $ sudo dnf install snapd $ sudo systemctl enable --now snapd.service $ sudo setenforce 0 $ sudo $editor /etc/selinux/config #set SELINUX=permissive and reboot to make SELINUX settings permanent
以上です。ただし、落とし穴があります。これらのツールは、ほとんどの主要なLinuxディストリビューションであるsnapcraftで動作しますが、スナップの作成方法を学習できるように
インストールして使用するツールは、UbuntuリポジトリとAURから入手できます。残りの
Linuxユーザーは、gitリポジトリ(https://github.com/snapcore/snapcraft)のクローンを作成してビルドするだけです。
ツアーに参加してスナップを作成する
続行する前に、スナップ(または既存のスナップ)が対応するリポジトリパッケージよりも
大きくなることに注意してください。なんで?プログラムが機能するために必要なすべての依存関係も含まれているため、
ある意味で自立しています。 snapcraftをインストールしたら、ツアーに参加することをお勧めします:
$ snapcraft tour
このコマンドは、一部のディレクトリとサブディレクトリを初期化します(デフォルトでは./snapcraft-tour
の下にあります) )そして、ソースコード
サンプル、手順、および基本をガイドする番号付きのステップを取得します。たとえば、最初のステップは、他にどのように?、
helloworldです。タイプ
$ cd snapcraft-tour/00-SNAPCRAFT/01-easy-start
そこには.yamlファイルのみが表示されます。これは基本的にスナップを説明するファイルです。見てみると、
名前、何をフェッチするか、どこから、どのアプリケーションが生成されるかなどが定義されていることがわかります。その後、実行するだけです
$ snapcraft
上記のディレクトリ内で、必要なすべてを実行し、スナップを提供します。
上記のディレクトリにまだいる場合は、上記のスナップをインストールできます
$ sudo snap install ./hello*.snap
時間をかけて.yamlファイルを試してみてください。これをコピーすることは常に良い考えです。そこでいくつかの変数を変更するとどうなるかを確認し、変更がスナップの作成にどのように影響するかを確認してください。スナップはいつでも友達に配布したり、リポジトリを作成したりできることを忘れないでください。最後の注意:.yamlの「source」セクションには値としてURLがありますが、
ローカル値を持つこともできます。 ./src/my_dep/
。
最後の言葉
スナップで表面を引っかいただけですが、スナップを使って学ぶことやクールなことはたくさんあります。
たとえば、ソフトウェアをRPMとしてのみパッケージ化し、Debianで必要なときにユーザーに頭痛の種を与えるという終わりのない問題は終わったようです。
いつものように、スナップで遊んで、いくつか作成して、共有することを忘れないでください!楽しんでください!