アプリ開発日誌
2018.02.27
Linuxパッケージ管理はSnappyが便利です
サーバー開発担当の木下です。
今回は、パッケージ管理ツールの「Snappy」についてです。
Snappyとは
英Canonical社(Ubuntuの開発元)が提供している、Linux向けのパッケージ管理ツールです。
‘Snappy’はサービス名、’Snap’はパッケージの名称、’Snapd’はSnapを使うツールです。
既存のaptやyumなどとの大きな違いとして、パッケージが自己完結型であるため、他のパッケージに依存せずにインストールできるというメリットがあります。
例えば、php7.0に依存するパッケージをaptでインストールしようとすると、phpがインストール済かを確認し、インストールかアップデートの必要があれば一緒にやってくれるという機能があります。
しかし、既存の別パッケージがphp5.6に依存していて、php7.0では動作しないという場合に、どちらかを捨てる必要がありました(php56とphp70に分けるという手はありますが・・・)。
野良ビルドであればphp7.0を/usr/binではなく/optに置いて自分でパスを通すみたいなことができますが、これを自動でやってくれるパッケージ管理ツールは目立ったものがありませんでした。
これと同じような動きをしてくれるのがSnappyです。
他のパッケージに依存しないということは、ディストリビューションの違いにも依存しないということになります。もともとは開発が止まってしまったUbuntu Phone向けに作られたサービスですが、Ubuntuの他にDebian, fedora, openSUSEなどがすでに対応しています。
パッケージも多く、SkypeやSlack, Atom, VSCode, IntelliJファミリー, Dockerなど多くのソフトウェアがすでに対応しています。ストアで探してみると楽しいですよ。
使ってみる
使い勝手はaptやyumとほとんど同じです。試しにspotifyをインストールしてみましょう。
$ sudo snap install spotify
これだけでインストール完了です。依存性確認もありません。
Linuxデスクトップはますます快適になっています
開発環境として、また古くなったPCの活用方法として、Linuxデスクトップに関する記事を見かけることが多くなった気がします。
以前書いた記事でもオススメしたとおり、ぜひLinuxに触れてみてください!