最新のLinuxディストリビューションはすべて、アプリケーションバイナリ、ファイル、メタデータ、パッケージの依存関係に関する情報、他のパッケージとの競合の可能性などを含むパッケージにソフトウェアを編成します。コアRhelパッケージマネージャーはrpm自体と呼ばれ、 dnf
、依存関係を管理できる上位レベルのパッケージマネージャー。比較的最近のテクノロジー、 flatpak
、サンドボックス化されたアプリケーションもランタイムと一緒にインストールしましょう。
このチュートリアルでは、次のことを学びます。
- rpmを使用してパッケージをインストールする3つの主な方法
- dnfを使用してパッケージをインストールする方法
- gnome-softwareユーティリティからアプリケーションをグラフィカルにインストールする方法
- flatpakを使用してサンドボックス化されたアプリケーションをインストールする方法
rpmパッケージマネージャーマニュアル
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
RHEL 8 / CentOS 8 | |
このチュートリアルで使用されるユーティリティはデフォルトでインストールされており、追加のソフトウェアは必要ありません。 | |
root権限でコマンドを実行する権限。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、または sudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
パッケージとは何ですか?
RHEL 8 / CentOS 8では、すべての最新のLinuxディストリビューションと同様に、ソフトウェアはパッケージの形式でリポジトリに編成されています。しかし、パッケージとは正確には何ですか?パッケージは基本的に圧縮されたアーカイブであり、コンパイルされたバイナリやライブラリなどの特定のソフトウェアに関連付けられたファイルに加えて、メタデータとそれらのファイルをシステムのどこにどのようにインストールするかに関する指示、ソフトウェアを正しく実行するために必要な外部依存関係、およびもっと。 RHELとCentOSはrpm
を使用します Red Hat自体によって発明されたパッケージ形式:このチュートリアルでは、Red Hat EnterpriseLinux8にrpmパッケージをインストールして管理する方法を説明します。
RPM:Red HatPackageManagerとyum/dnf
rpmパッケージの管理を容易にするために、rpmパッケージマネージャー
作成されました。非常に強力ですが、単一のパッケージに焦点を合わせているため、依存関係を解決することはできません。パッケージ間の関係を管理し、悪名高い依存関係地獄を回避するには、最初に yum
パッケージマネージャー(Yellow Updater Modified)とその進化、 dnf
(Dandified YUM)、採用されました。 DnfはFedora18で最初に導入され、Red HatEnterpriseLinuxの最後のバージョンのyumに取って代わります。
rpmでパッケージをインストールする
rpmで実行できる最も基本的な操作の1つは、パッケージのインストールです。前に述べたように、rpmはそれを管理できないため、これはパッケージに外部依存関係がない場合にのみ機能します。 rpmでパッケージをインストールする方法は基本的に3つあります。それぞれ-i
に対応します。 、 -U
および-F
オプション。
新しいパッケージをインストールするには、 -i
を使用してrpmを実行できます。 オプション(-install
の略) )。構文は非常に単純です:
$ sudo rpm -i packagename.rpm
上記のコマンドを実行すると、指定されたパッケージは、システムにまだインストールされていない場合にのみインストールされます。すでにインストールされているパッケージ(この場合はgedit)をインストールしようとすると、エラーが発生します:
$ sudo rpm -i gedit-3.28.1-3.el8.x86_64.rpm package gedit-2:3.28.1-3.el8.x86_64 is already installed
ここで同じ「パッケージ」とは、まったく同じバージョンを意味することに注意してください。このインストール方法は、新しいカーネルのインストールを実行するときに使用することをお勧めします。このような状況では、新しいカーネルは古いカーネルと共存するため、何かが期待どおりに機能しない場合は、次のようになります。それらをフォールバックとして使用することが可能です。
-U
を使用すると、状況が異なります。 オプション。-upgrade
の略です。 。この場合、パッケージがシステムにまだ存在しない場合は、インストールされます。以前のバージョンのパッケージが存在する場合、パッケージはアップグレードされます。これは、新しいバージョンのパッケージがインストールされた後、古いバージョンが削除されることを意味します。上で述べたように、カーネルのような基本的なソフトウェアをアップグレードすることは強くお勧めしません。古いバージョンを削除する前に、新しいカーネルが期待どおりに機能することを絶対に確認することをお勧めします。
-F
(または–freshen)オプションは別のことをします。使用すると、既存のパッケージのみが更新されます。インストールしようとしている以前のバージョンのパッケージがシステムにまだ存在しない場合、そのパッケージはインストールされていません。
離れた場所からのパッケージのインストール
rpm
を使用 ローカルファイルシステムにないパッケージをインストールすることも可能です。たとえば、ftpプロトコルを介してアクセス可能なパッケージをインストールするとします。実行するコマンドは次のようになります:
$ sudo rpm -i ftp://ftp.someaddress.com/package.rpm
認証が必要な場合は、アドレスにそのような情報を含めて、ユーザー名とパスワードを提供することもできます。
$ sudo rpm -i ftp://username:[email protected]/package.rpm
dnfを使用したパッケージのインストール
dnf
rpm上で動作し、ソフトウェアの依存関係の管理や、配布リポジトリからソフトウェアをインストールする機能など、非常に便利な機能を提供します。特に、rpmパッケージに格納されているメタデータは、ソフトウェアが機能するためにインストールする必要のある他のパッケージ、および最終的にはどのパッケージが競合する可能性があるかを指定します。 Dnf、またはユーザーの確認を受け取った後、必要なすべての操作を実行します。たとえば、 vim
をインストールしたいとします。 dnfを使用したパッケージ。実行します:
$ sudo dnf install vim
上記のコマンドを実行すると、実行する操作とインストールする依存関係のリストが画面に表示されます。
Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: vim-enhanced x86_64 2:8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 1.4 M Installing dependencies: gpm-libs x86_64 1.20.7-15.el8 rhel-8-for-x86_64-appstream-beta-rpms 39 k vim-filesystem noarch 2:8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 47 k vim-common x86_64 2:8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 6.3 M Transaction Summary ================================================================================ Install 4 Packages Total download size: 7.8 M Installed size: 30 M Is this ok [y/N]:
無人で実行することを目的としたスクリプトからdnfを実行する場合は、 -y
オプション(の短縮形--assumeyes
)を使用できます。これにより、すべての回答が自動的に「はい」の応答を受け取り、ユーザーの操作が必要になります。
rpmと同様に、dnfではリモートURLにあるパッケージをインストールできます。後者を指定するだけです:
$ sudo dnf install http://path/to/package.rpm
パッケージをグラフィカルにインストールする
GNOME
を実行する場合 デスクトップ環境では、 gnome-software
を使用して、パッケージをグラフィカルにインストールすることもできます。 応用。パッケージが配布リポジトリに存在する場合は、検索フィールドを使用して、インストールするアプリケーションを検索するだけです。
Gnomeソフトウェア検索インターフェース
その後、「インストール」ボタンをクリックして、実際にアプリケーションをインストールできます。
Gnomeソフトウェアのインストールインターフェイス
この方法でパッケージをインストールする場合、別の手順が使用されます。 gnome-softwareアプリケーションは、 packagekit
のフロントエンドです。 これ自体が高レベルのフロントエンドであり、ディストリビューションのネイティブパッケージマネージャーを抽象化したものとして機能します。その主な目標は、さまざまなディストリビューションに均一にインストールすることです。また、packagekitは内部で後者を使用しないため、この方法でインストールされたパッケージはdnf履歴に表示されないことに注意することも重要です。
フラットパックを使用したソフトウェアのインストール
RHEL 8 / CentOS 8では、gnome-softwareアプリケーションまたはコマンドラインの両方からソフトウェアをインストールする別の可能な方法は、フラットパックを使用することです。 Flatpackは、ソフトウェアがすべての依存関係とともに提供されるサンドボックス環境を提供します。これにより、ネイティブライブラリとは関係なく、このテクノロジをサポートするすべてのディストリビューションで特定のバージョンのプログラムを実行できます。フラットパックのメインリポジトリはflathubです。 gnome-softwareを使用してこのサイトからフラットパックをインストールするのは本当に簡単です。インストールするアプリケーションを検索して、 install
をクリックするだけです。 ボタン。
Flathubは、flatpaksに使用されるメインリポジトリです。
Gnomeソフトウェアは自動的に起動するはずです。起動しない場合は、ダウンロードしたファイルをGnomeで開きます。インストールボタンをクリックし、必要に応じて管理者パスワードを入力すると、パッケージがインストールされます。
Gnomeソフトウェアflatpakのインストール
この方法でflatpakをインストールすると、flathubリポジトリがflatpakソースとして自動的に追加されるため、そこに含まれる他のアプリケーションをgnome-softwarecenterインターフェースから直接検索できるようになります。
flatpakコマンドを使用して、コマンドラインから上記で見たのと同じ操作を実行することができます。 flatpak
を使用する場合 ユーティリティを使用すると、インストールをグローバルに行うか、特定のユーザーのみに行うかを決定できます。後者の場合、管理者権限は必要ありません。-user
コマンドにオプションを指定する必要があります。フラットハブリポジトリをグローバルに追加するには、次のコマンドを実行するだけです。
$ sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
これで、パッケージをインストールできます。フルパッケージパスと、インストール元のリモートリポジトリの名前を指定する必要があります。たとえば、neovimをインストールするには、次のコマンドを実行します:
$ sudo flatpak install flathub io.neovim.nvim Required runtime for io.neovim.nvim/x86_64/stable (runtime/org.freedesktop.Sdk/x86_64/18.08) found in remote flathub Do you want to install it? [y/n]:
肯定的に答えると、パッケージとそのランタイムがダウンロードされ、システムにインストールされます。 Flatpakテクノロジーについて詳しく知りたい場合は、このテーマに関する詳細な記事をご覧ください
結論
このチュートリアルでは、RHEL 8 / CentOS8Linuxシステムにソフトウェアをインストールするさまざまな方法を見てきました。ソフトウェアはパッケージに編成されており、低レベルでは、依存関係を自動的に解決できないrpmパッケージマネージャーによって管理されます。この機能などを提供するために、rpm上で動作するdnfプログラムが使用されます。最後に、比較的最近のテクノロジーであるflatpakを使用してサンドボックスソフトウェアをインストールする方法を学びました。