GNU/Linux >> Linux の 問題 >  >> Fedora

Fedoraにスナップをインストールして使用する方法

Ubuntuの背後にある会社であるCanonicalによって開発され、元々はUbuntuで使用することを目的としていた、Snappyパッケージマネージャーは、スナップパッケージのインストールと管理に使用される無料のオープンソースソフトウェアです。 Snapパッケージの目的は、flatpaksと同様に、サンドボックス化された自己完結型のアプリケーションを配布することです(アプリケーションは依存関係とともにパッケージ化されます)。

Snappyパッケージマネージャーとそのインフラストラクチャは、Ubuntu以外のディストリビューションに導入されました。このチュートリアルでは、それをインストールして最新バージョンのFedoraで使用する方法を説明します。

このチュートリアルでは、次のことを学びます。

  • スナップパッケージマネージャーのインストール方法
  • スナップストアでパッケージを検索する方法
  • スナップパッケージをインストールおよび更新する方法
  • インストールされているスナップパッケージを一覧表示する方法
  • パッケージのスナップショットを作成および管理する方法
  • スナップパッケージを削除する方法

使用されるソフトウェア要件と規則

システム ソフトウェア その他 規約
ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
配布に依存しない
snapd
ソフトウェアを管理するためのroot権限
#–指定されたlinux-commandを、rootユーザーとして直接、またはsudoを使用してroot権限で実行する必要があります。 command
$ –指定されたlinux-commandsを通常の非特権ユーザーとして実行する必要があります

インストール

FedoraでSnappyパッケージマネージャーを使用するには、最初にソフトウェアを含むパッケージをインストールする必要があります。幸いなことに、Fedoraの公式リポジトリで利用できるため、非常に簡単に実行できます。インストールは、グラフィカルに実行することも、dnfを使用して実行することもできます。 私たちの最愛のターミナルエミュレータからのパッケージマネージャー。実行するコマンドは次のとおりです。

$ sudo dnf install snapd

snap-confine およびsnapd-selinux パッケージはsnapdの依存関係としてインストールされます。前者はsnapアプリケーションに制限を適用するために使用されるソフトウェアを含み、後者はsnapdがSELinuxで正しく実行されることを可能にするポリシーを提供します。インストールの一部として、snapd.socket systemdを使用して有効にします。

パッケージの検索

スナップパッケージを操作する方法は、snapを使用することです。 応用。実行する必要のある最も基本的なアクションの1つは、特定のソフトウェアがスナップストアで利用可能かどうかを確認することです。このアクションを実行するには、「find」または「search」snapコマンドを使用できます(後者は前者のエイリアスです)。 「gimp」スナップパッケージをインストールしたいとします。アプリケーションが利用可能かどうかを確認するには、次のコマンドを実行できます:

$ snap find gimp

ご覧のとおり、コマンドには管理者権限は必要ありません。次の出力を返します:

Name                    Version  Publisher        Notes  Summary                                    
gimp                    2.10.28  snapcrafters     -      GNU Image Manipulation Program             
gutenprint-printer-app  1.0      openprinting✓    -      Gutenprint Printer Application             
photogimp               2.10.20  pedro.ermarinho  -      Patch para o GIMP                          
djpdf                   0.1.6    unrud            -      Create small, searchable PDFs from scanned documents                                                                                           
lazpaint                7.1.6    chronoscz        -      Image editor with raster and vector layers.

検索条件に一致する利用可能なパッケージに関する情報が返されます:

  • パッケージの名前
  • スナップパッケージバージョン
  • スナップパブリッシャー
  • パッケージに関する最終的なメモ
  • パッケージの簡単な説明

スナップパッケージのインストール

スナップパッケージをインストールするには、snapの「install」コマンドを使用するだけです。例として、gimpをインストールするとします。 前の手順で検索したアプリケーション。実行するコマンドは次のとおりです。

$ sudo snap install gimp

デフォルトでは、特に指定がない限り、パッケージは「安定した」チャネルからインストールされます。上記のコマンドを実行すると、ターミナルの出力を読み取ることでインストールの進行状況を追跡できます。

2022-03-29T14:25:15+02:00 INFO Waiting for automatic snapd restart...
gimp 2.10.28 from Snapcrafters installed

最近のバージョンのスナップは、「クラシック閉じ込め」モードをサポートしています。スナップパッケージがこのモードでインストールされている場合、実際にはそうではありません 制限されているため、ホストシステム上のリソースにアクセスできます。このモードでパッケージをインストールする場合は、--classicを指定して「install」コマンドを実行する必要があります。 オプション。

スナップパッケージに関連するファイルとその依存関係は、読み取り専用のSquashFSを使用して、ループデバイスの形式でシステムにデプロイされます。ループデバイスは、/var/lib/snapdの下の対応するディレクトリにマウントされます。 。 lsblkの出力を見ると、これがはっきりとわかります。 コマンド

$ lsblk
NAME                   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                    7:0    0  43.6M  1 loop /var/lib/snapd/snap/snapd/15177
loop1                    7:1    0  55.5M  1 loop /var/lib/snapd/snap/core18/2344
loop2                    7:2    0     4K  1 loop /var/lib/snapd/snap/bare/5
loop3                    7:3    0  65.2M  1 loop /var/lib/snapd/snap/gtk-common-themes/1519
loop4                    7:4    0 164.8M  1 loop /var/lib/snapd/snap/gnome-3-28-1804/161
loop5                    7:5    0 391.3M  1 loop /var/lib/snapd/snap/gimp/383

インストールされているスナップパッケージごとにループブロックデバイスが存在します。 「gimp」スナップの場合、/ var/lib/snapd/snap/gimp/383の内容を確認すると マウントポイント(383はスナップパッケージのリビジョンです。複数のリビジョンを同時にインストールできます)、アプリケーションファイルをホストするファイルシステムツリー全体を確認できます。

$ ls /var/lib/snapd/snap/gimp/383
bin data-dir etc lib meta sbin snap usr var

システムネイティブパッケージのインストール後と同じようにアプリケーションを起動できるようにするには、/var/lib/snapd/snap/bin ディレクトリをPATHに追加する必要があります 。これは、スナップインストールの一部として自動的に実行する必要があります。変数の値をチェックすることで、それを確認できます:

$ echo $PATH
/home/egdoc/.local/bin:/home/egdoc/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/var/lib/snapd/snap/bin

パッケージの更新

スナップパッケージの複数のリビジョンが同時に共存できます。現在インストールされているgimpsnapパッケージのリビジョンが383であることが簡単にわかりました。現在アクティブなバージョンは、/var/lib/snapd/snap/<package>/currentにシンボリックリンクされています。 。 gimpの場合:

$ ls -l /var/lib/snapd/snap/gimp
drwxr-xr-x. 11 root root 146 Nov 8 17:14 383
lrwxrwxrwx. 1 root root 3 Mar 29 14:27 current -> 383

スナップパッケージの新しいリビジョンが利用可能かどうかを確認し、更新するには、refreshを使用できます。 指図。この場合、gimpパッケージを更新しようとすると、更新が利用できないことが通知されます:

$ sudo snap refresh gimp
snap "gimp" has no updates available

refreshを使用する場合 引数としてパッケージ名を指定せずにコマンドを実行すると、アプリケーションはシステムにインストールされているすべてのスナップパッケージの更新を確認します。

インストールされているスナップパッケージの一覧表示

現在インストールされているスナップパッケージに関するレポートを取得するには、スナップユーティリティの「list」コマンドを使用するだけです。動作中のコマンドの例を見てみましょう:

$ snap list
Name               Version                     Rev    Tracking       Publisher     Notes
bare               1.0                         5      latest/stable  canonical✓    base
core18             20220309                    2344   latest/stable  canonical✓    base
gimp               2.10.28                     383    latest/stable  snapcrafters  -
gnome-3-28-1804    3.28.0-19-g98f9e67.98f9e67  161    latest/stable  canonical✓    -
gtk-common-themes  0.1-59-g7bca6ae             1519   latest/stable  canonical✓    -
snapd              2.54.4                      15177  latest/stable  canonical✓    snapd

「gimp」を明示的にインストールしたため、他のすべてのパッケージは依存関係として、またはスナップインフラストラクチャの「コア」としてインストールされました。パッケージ発行元の名前の後のチェックマークは、確認済みであることを意味します。

パッケージスナップショットの作成と管理

スナップパッケージエコシステムの優れた機能の1つは、パッケージに関連付けられたシステム、ユーザー、および構成データのスナップショットを作成する機能です。スナップショットは、スナップパッケージが削除されると自動的に作成されますが、saveを使用して手動で作成することもできます。 指図。たとえば、「gimp」パッケージのスナップショットを作成するには、次のコマンドを実行します。

$ sudo snap save gimp

saveコマンドの引数としてパッケージ名を指定しない場合、既存のすべてのパッケージのスナップショットが作成されます。システム上の既存のスナップショットのリストを取得するには、savedを使用できます コマンド:

$ sudo snap saved
Set  Snap             Age    Version                     Rev  Size    Notes
1    gimp             20.0m  2.10.28                     383   134kB  auto
3    gnome-3-28-1804  10.4m  3.28.0-19-g98f9e67.98f9e67  161    124B  -

コマンドの出力には、スナップショット idなどの非常に役立つ情報が表示されます。 、およびその年齢 。スナップショットを復元するには、restoreを使用します コマンドを実行し、復元するスナップショットをそのIDで参照します。前の例の出力に表示されているgimpスナップショットを復元するには、次のコマンドを実行します。

$ sudo snap restore 1
Restored snapshot #1.

最後に、既存のスナップショットを手動で削除するには、forgetを使用します 指図。 gimpスナップショットを削除するために実行するものは次のとおりです。

$ sudo snap forget 1
Snapshot #1 forgotten.

スナップパッケージの削除

直感的に、以前にインストールされたスナップパッケージを削除するには、removeを使用する必要があります 指図。デフォルトでは、パッケージはインストールされているすべてのリビジョンとともに削除されます。パッケージの特定のリビジョンを削除する場合は、引数として--revisionに渡す必要があります。 オプション。リビジョンを指定するとき、それを削除するには、それが「アクティブ」なものであってはならないため、スナップパッケージの1つのバージョンだけでこのオプションを使用しようとすると、コマンドは失敗します。たとえば、このチュートリアルでインストールした「gimp」パッケージを削除したい場合は、次のコマンドを実行します。

$ sudo snap remove gimp

または、複数のリビジョンが存在する場合:

$ sudo snap remove gimp --revision 383

パッケージを削除しても、スナップパッケージのスナップショットは削除されません(パッケージが削除されると、スナップショットが実際に作成されます)。それらを強制的に削除するために、--purgeを渡すことができます removeのオプション 指図。たとえば、関連するすべてのスナップショットで「gimp」を削除するには、次のコマンドを実行します。

$ sudo snap remove --purge gimp

結論

このチュートリアルでは、Fedoraでスナップパッケージを使用する方法を学びました。スナップパッケージエコシステムは、もともとCanonical for Ubuntuによって開発されましたが、その後、他のディストリビューションでも利用できるようになります。 Fedoraでスナップパッケージを検索、インストール、更新、アンインストールする方法と、スナップパッケージのスナップショットを管理する方法を学びました。スナップパッケージはFedoraで動作しますが、ディストリビューションで使用される自己完結型アプリケーションのデフォルトテクノロジーはflatpakです。それについて詳しく知り、使用方法を学びたい場合は、このテーマに関するチュートリアルをご覧ください。


Fedora
  1. Ubuntu20.04にSnapPackageManagerをインストールして使用する方法

  2. CentOSとFedoraにImapsyncをインストールして使用する方法

  3. Fedora34にRedis6をインストールして設定する方法

  1. Fedora35にAnsibleをインストールして設定する方法

  2. Python2とPython3をFedora35にインストールする方法

  3. Fedora35にMariadbをインストールして設定する方法

  1. UbuntuにSnapをインストールする方法

  2. AlmaLinux8にSnapPackageManagerをインストールして使用する方法

  3. Fedora34/35にPodmanをインストールして使用する方法