Ubuntu Weekly Recipe

第515回Ubuntu 18.04 LTSとSnapパッケージ

今回はUbuntu 18.04 LTSでSnapパッケージを使用する上で知っておくと便利なことを紹介します。

Snapパッケージのデフォルトインストール

リリースが近づいてきているUbuntu 18.04 LTSにはさまざまな変更点があります。新規インストールの場合[1]⁠、いくつかのSnapパッケージがデフォルトでインストールされるのは大きな変更点の一つです。思えば前のLTSであるUbuntu 16.04 LTSで初めてSnapパッケージを動作させるためのsnapdパッケージがデフォルトでインストールされるようになり、2年かけてここまで来ました。

インストールされているパッケージ図1のとおり、コア、GNOMEアプリケーションを動かすためのランタイムに、電卓、文字、ログ、システムモニターの4つのパッケージです。

図1 新規インストール時にインストールされているSnapパッケージ一覧
画像

起動してみると、いずれもSnapパッケージか通常のパッケージか見分けがつかないと思います。ついに実用レベルに達したのだと感慨深いものがあります。

既知の問題点

とはいえ問題がないわけではありません。⁠文字」を起動し、ホームフォルダーを見ると謎のフォルダーが増えています図2⁠。これは#1746710としてバグ登録されています。

図2 ⁠文字」を起動するとフォルダーが増える
画像

ワークアラウンドとしては各種フォルダーをいっそ英語にしてしまうという手があります。端末から次のコマンドを実行してください。

$ LANG=C xdg-user-dirs-gtk-update

「Don't ask me this again」にチェックを入れ、⁠Update Names」をクリックします図3⁠。あとはログアウトして再ログインします図4⁠。

図3 フォルダー名を英語に変更する
画像
図4 原則として英語フォルダーになるが、⁠ピクチャ」にはファイルがあるので自動的に削除されない
画像

リネームした各フォルダーにファイルがない場合は、重複するフォルダーは削除されます。ファイルがある場合は残りますので、英語版のフォルダーにファイルを移動して重複するフォルダーを削除するのがいいでしょう。例えば「ピクチャ」フォルダーにファイルがある場合は「Pictures」フォルダーに移動させ、⁠ピクチャ」フォルダーを削除します。

Snapパッケージの特徴とコマンド

Snapパッケージは、従来のDebianパッケージと多くの点で異なります。その中でも「チャンネル」Channels「制限」Confinementはユーザーとして意識しておくといい大きな違いとなっています。

チャンネル

「チャンネル」は細かいところでいろいろとあるものの、ユーザーとしてはリスクレベルとして"stable", "candidate", "edge", "beta"の4つがあることを覚えておけば充分でしょう。Ubuntuのproposedリポジトリと同じくテスト用のリポジトリが用意されているということですが、特に設定を変更しなくても複数のチャンネルからパッケージをダウンロードし、任意に切り替えることができます。

LibreOfficeを例にすると、本記事の執筆時点ではstableのバージョンは6.0.2.1で、candidateには6.0.3.2があります図5⁠。

図5 Snapパッケージ版LibreOfficeの執筆時点でのバージョン
画像

stableのバージョンをインストールする場合は次のコマンドを実行します。

$ sudo snap install libreoffice

続けてcandidateのバージョンをインストールするには次のコマンドを実行します。

$ sudo snap refresh --candidate libreoffice

この状態だとcandidateのLibreOfficeが有効になっています。状態を確認する場合は次のコマンドを実行します。

$ snap list

無効になっているバージョンも表示したい場合は次のコマンドを実行します図6⁠。⁠Rev」はリビジョンですが、これには重要な意味があります。

$ snap list --all
図6 現在インストールされているすべてのSnapパッケージのバージョン
画像

stableのバージョンに戻したい場合は次のコマンドを実行します。

$ sudo snap revert libreoffice

candidateのバージョンに戻したい場合はリビジョンを指定します。図6のとおり6.0.3.2のリビジョンは59なので、次のコマンドを実行します。

$ sudo snap revert libreoffice --revision 59

stableのLibreOfficeを削除したい場合は次のコマンドを実行してください。

$ sudo snap remove libreoffice --revision 55

もし複数のバージョンをインストールしたくない場合は

$ sudo snap install libreoffice

を実行し、続けてチャンネルの変更を行います。

$ sudo snap switch libreoffice --candidate

さらにアップデートします。

$ sudo snap refresh

これでcandicateのバージョンだけをインストールできます。

制限

「制限」は、Snapパッケージを利用するだけなら「classic」だけを知っておけばいいでしょう。例えばAtomをインストールしようとし、

$ sudo snap install atom

を実行すると図7のような警告が表示されます。そこで、次のコマンドを実行します。

$ sudo snap install atom --classic
図7 Atomのパッケージをインストールしようとするとエラーが表示される
画像

なお、Atomは例として挙げただけであり、実際の使用のおすすめをするわけではないので注意ください[2]⁠。

UbuntuソフトウェアとSnap

Ubuntu 18.04 LTSのUbuntuソフトウェア[3]は、Snapパッケージのサポートがさらに進んでいます。インストールしたいパッケージ(今回はLibreOffice)の個別ページを開き、下部にスクロールするとチャンネル(Channel)が選択できるようになりました図8⁠。特に変更せずに「インストール」をクリックするとstableのバージョンをインストールします。candidateのバージョンをインストールしたい場合はcandidateのバージョンの横にある「Switch」をクリックし、⁠更新」をクリックします図9⁠。これでcandidateのバージョンになります。すなわち前述のsnap switchコマンドを実行しているのと同じ挙動です。

図8 ⁠Stable」をクリックするとポップアップが表示される
画像
図9 ⁠更新」をクリックする
画像

インストール後「Permissions」をクリックして表示されるメニューでパーミッションを変更することもできます図10⁠。

図10 パーミッションを変更することもできる
画像

追記

本記事の公開時点ではLibreOfficeのバージョンが6.0.3.2(リビジョン59)になっています。LibreOfficeのほか、ChromiumやFirefoxなどバージョンアップの間隔が短いものであれば各チャンネルのバージョンに違いがあることが多いので、本記事の検証を行いたい場合はそれらのパッケージのバージョンをsnap infoコマンドで確認してみてください。

おすすめ記事

記事・ニュース一覧