記事一覧へ

apt vs dnf, snap vs flatpak

snapとflatpakを使って簡単にプログラムをインストールする方法

ClaudeClaude Opus 4.5による翻訳

AI生成コンテンツは不正確または誤解を招く可能性があります。

Linuxを初めて触れると、様々なものの中でも特に嬉しいのはパッケージマネージャーでしょう。 もしWindowsにwingetパッケージマネージャーが登場する前だったり、あるいは今でもwingetについて聞いたことがない開発者にとっては、なおさら嬉しかったことでしょう。 Windowsの新しいパッケージマネージャーであるwingetについては、次回取り上げることにします。

私たちが普通(つまりWindowsで)プログラムをインストールするときは、かなり複雑です。

  1. 該当プログラムをGoogleで検索
  2. プログラムのexeファイルやmsixファイルをダウンロード
  3. ダウンロードしたファイルをクリックして管理者権限を付与
  4. 「次へ」ボタンを連打
  5. 完了

このように決して簡単な過程ではなく、この過程の途中でインストールしたexe、msi、msixファイルが残ります。 プログラムを削除するときも設定画面に入って「次へ」ボタンを連打しなければならず、もしWindows 10で変更された設定プログラムに表示されないプログラムであれば、レガシーのコントロールパネルを開いて削除する必要があります。(同様に「次へ」ボタン連打も...)

しかしLinuxを使用すると、インストールしてすぐにaptやyum、dnfなどのパッケージマネージャーが出迎えてくれます。

but... apt、yumなどの基本パッケージマネージャーは、ディストリビューションごとに使用されるdeb、rpmなどの各ディストリビューション専用ファイルを使用するため、意外とインストールできないプログラムが多いです。

例えばUbuntuで使用される基本パッケージマネージャーのaptでは、discordを直接インストールすることができず、公式ページでもdebやrpmパッケージファイルをダウンロードできません。

こういうとき、急にLinuxを使用することを決心したことを後悔し、手が震えてまたWindowsに戻りたくなり、wingetが恋しくなり、MacBook病が再発してapple.comにアクセスしそうになったら、ちょっと待ってください。

そう、Linuxユーザーに与えられたsnapとflatpak!!! snapはおそらくUbuntuユーザーなら誰でも聞いたことがあるsnap-storeのバックエンドで(そういうことにしておきましょう)、flatpakはFedoraストアの一部として登録されています。

この2つは一般的なパッケージマネージャーよりもはるかに多くのパッケージを持っています。これが可能な理由は、ディストリビューションとは別に完全に異なる空間で実行される概念だからです。

もしappimageを使用したことがあるか、macOSを使用したことがあれば、すぐに理解できるでしょう。

どちらもインターネットからファイルをダウンロードするだけで、別途の設定なしにすぐ実行できます。そのファイルの中にすべての情報が記録されているからです。

同様に、snap、flatpakコマンドでは、それぞれ汎用パッケージングファイルを使用して、Linuxディストリビューションに関係なくすべてのディストリビューションにインストールでき、あの頭を悩ませたdiscordも1行でインストールされます。

snap install discord

これを知らなくて無駄な苦労をたくさんした

flatpakもほぼ同じです。

flatpak install パッケージ名

まあ、2つはほぼ同じですが、所有しているパッケージがお互いに異なるため、両方使用するのが良いと思います。

まだsnapとflatpakが内部的にどのようにパッケージングしてすべてのディストリビューションで動作するのかは分かりませんが、後でGTKプログラミングを始めることになったら、snapとflatpakのパッケージングをそれぞれ行ってみたいです。 試験が終わったらやろう :)

作成日:
更新日:

前の記事 / 次の記事