apt vs dnf, snap vs flatpak
snapとflatpakを使って簡単にプログラムをインストールする方法
AI生成コンテンツは不正確または誤解を招く可能性があります。
Linuxを初めて触れると、様々なものの中でも特に嬉しいのはパッケージマネージャーでしょう。
もしWindowsにwingetパッケージマネージャーが登場する前だったり、あるいは今でもwingetについて聞いたことがない開発者にとっては、なおさら嬉しかったことでしょう。
Windowsの新しいパッケージマネージャーであるwingetについては、次回取り上げることにします。
私たちが普通(つまりWindowsで)プログラムをインストールするときは、かなり複雑です。
- 該当プログラムをGoogleで検索
- プログラムのexeファイルやmsixファイルをダウンロード
- ダウンロードしたファイルをクリックして管理者権限を付与
- 「次へ」ボタンを連打
- 完了
このように決して簡単な過程ではなく、この過程の途中でインストールした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のパッケージングをそれぞれ行ってみたいです。 試験が終わったらやろう :)