この記事では、yum
を使用してパッケージを管理する方法について説明します RedHat®EnterpriseLinux®ベースのディストリビューションで。
次の前提条件が必要です。
- Secure Shell(SSH)の基本的な理解
- サーバーへのsudoまたは管理アクセス
- Red Hat EnterpriseLinux6以降またはCentOS6以降を実行しているクラウドサーバー
Linuxでのパッケージ管理
パッケージ管理という用語 Linuxでは、Linuxサーバーでのソフトウェアのインストール、削除、または更新について説明します。パッケージは、サーバーにソフトウェアをインストールするソースコードを使用して構築されます。パッケージは、ソースから各コンポーネントをインストールするのではなく、簡単にインストールできるようにコンパイルされています。
RHELディストリビューションのパッケージツール
RHEL®ベースのディストリビューションには、次の2つの形式のパッケージ管理が含まれます。
-
rpm
は、情報のインストール、削除、収集、およびRHELベースのサーバーにインストールするパッケージの構築に使用される低レベルのツールと見なされます。 -
yum
rpm
と同じ機能を持つ高レベルのツールと見なされます また、依存関係を解決して、 .rpmをよりスムーズにインストールできるようにします。 パッケージ。
注 :Rackspaceはソースからのパッケージのインストールをサポートしていません。
yum
の使用
yum
ツールは、サーバーにソフトウェアをインストールして管理するための主要なツールです。
yum
の元となるリポジトリを表示するには パッケージをプルするには、次のコマンドを実行します:
yum repolist
このコマンドは、サーバーで使用可能なリポジトリを一覧表示します。
# yum repolist
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
repo id repo name status
!drivesrvr drivesrvr 20
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,314
ius/x86_64 IUS for Enterprise Linux 7 - x86_64 609
rackspace Rackspace Monitoring 1
rhel-x86_64-server-7 Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64) 29,118
rhel-x86_64-server-optional-7 RHEL Server Optional (v. 7 64-bit x86_64) 21,287
repolist: 64,3
リポジトリからパッケージを検索するには、次のコマンドを使用します。
yum search <package name>
注 :このコマンドは、<package name>
のすべてのインスタンスを検索します あなたのリポジトリで利用可能です。このリストは非常に冗長になる可能性があるため、パッケージのフルネームを知っている場合は、それを使用して検索を絞り込みます。
パッケージの詳細を取得するには、次のコマンドを使用します。
yum info <package name>
このコマンドは、パッケージに関する情報を提供します。 httpd
を検索する例を次に示します。 パッケージ:
# yum info httpd
Available Packages
Name : httpd
Version : 2.4.43
Release : 1.fc31
Architecture : x86_64
Size : 1.4 M
Source : httpd-2.4.43-1.fc31.src.rpm
Repository : updates
Summary : Apache HTTP Server
URL : https://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible web server.
現在インストールされているパッケージを表示するには、次のコマンドを実行します。
yum list installed
このコマンドは、システムにインストールされているすべてのパッケージを一覧表示します。このリストは広範囲にわたる可能性があります。探しているパッケージがわかっている場合は、grep
を使用できます。 次の例に示すように検索をフィルタリングするには:
yum list installed | grep httpd
このコマンドは、より管理しやすいリストを提供します:
# yum list installed | grep httpd
httpd.x86_64 2.4.6-93.el7 @rhel-x86_64-server-7
httpd-tools.x86_64 2.4.6-93.el7 @rhel-x86_64-server-
パッケージをインストールするには、次のコマンドを使用します。
yum install <package>
このコマンドは、リポジトリにクエリを実行し、インストールするパッケージをプルダウンします。インストールプロセス中に、yum
インストールしているパッケージに関連付けられている依存関係を解決しようとします。 yum
の場合 依存関係を解決できます。出力が表示され、インストールの確認を求められます。次の例は、依存関係の解決を示しています。
# yum install httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
drivesrvr | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================
Installing:
httpd x86_64 2.4.6-93.el7 rhel-x86_64-server-7 1.2 M
Transaction Summary
=========================================================================================================================
Install 1 Package
Total download size: 1.2 M
Installed size: 3.7 M
Is this ok [y/d/N]:
注 :httpd
をインストールする場合 、パッケージのインストールに必要な他の依存関係はありません。他の状況では、インストールにyum
という追加の依存関係が必要になる場合があります。 インストールする必要があります。yum
の場合 依存関係を解決できない場合、出力にエラーが一覧表示されます。インストールを続行するには、これらの依存関係を解決する必要があります。
インストールされているパッケージを更新するには、次のコマンドを実行します。
yum update <package>
このコマンドは、可能であれば、指定されたパッケージの更新をリポジトリで検索します。
利用可能な更新がある場合、コマンドは変更を表示し、確認を要求します。それ以外の場合は、何もすることがないことを通知します:
# yum update httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
drivesrvr | 2.9 kB 00:00:00
No packages marked for update
次のコマンドを使用して、システム上のすべてのパッケージの更新をトリガーすることもできます。
yum update
このコマンドは、サーバーにインストールされているパッケージの更新をリポジトリに照会します。
重要 :このプロセスは、システム上のすべてのパッケージを更新しようとします。変更により、更新の結果としてアプリケーションに予期しない問題が発生する可能性があるため、続行する前に環境を確認してください。
インストールされているパッケージを削除するには、次のコマンドを使用します。
yum remove <package name>
このコマンドは、インストールされているパッケージをチェックし、出力を提供し、変更を確認するように求めます。
# yum remove httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be erased
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_php73-7.3.18-1.el7.ius.x86_64
--> Running transaction check
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be erased
--> Finished Dependency Resolution
drivesrvr | 2.9 kB 00:00:00
Dependencies Resolved
======================================================================================================================
Package Arch Version Repository Size
======================================================================================================================
Removing:
httpd x86_64 2.4.6-93.el7 @rhel-x86_64-server-7 3.7 M
Removing for dependencies:
mod_php73 x86_64 7.3.18-1.el7.ius @ius 4.8 M
Transaction Summary
=======================================================================================================================
Remove 1 Package (+1 Dependent package)
Installed size: 8.6 M
Is this ok [y/N]:
注 :httpd
を削除した場合 、yum
mod_php73
も削除します パッケージ。httpd
に依存します 。パッケージを削除しても、サーバーの他の部分に悪影響が及ばないことを確認してください。
場合によっては、yum
で実行されたアクションを確認する必要があります ツール。
yum
の履歴を表示するには コマンドの使用法については、次のコマンドを実行してください:
yum history
このコマンドは、yum
によって行われたトランザクションを示す番号付きの出力を提供します 。
# yum history
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
19 | <rack> | 2020-06-09 14:58 | Install | 2
18 | <rack> | 2020-06-09 14:57 | Erase | 2
17 | <rack> | 2020-06-09 14:56 | Install | 1
16 | <rack> | 2020-06-09 14:55 | Install | 4
15 | <rack> | 2020-06-09 14:55 | Erase | 2
14 | <rack> | 2020-06-09 14:54 | Erase | 1
13 | <rack> | 2020-06-09 14:50 | Install | 1
12 | <rack> | 2020-06-09 14:49 | Erase | 2
11 | root <root> | 2020-06-09 10:14 | I, U | 2
10 | root <root> | 2020-06-09 10:14 | Install | 2 EE
9 | <rack> | 2020-06-09 10:14 | Install | 4
8 | root <root> | 2020-06-09 10:14 | Install | 1 EE
7 | <rack> | 2020-06-09 10:14 | Install | 5
6 | root <root> | 2020-06-09 10:13 | Install | 4
5 | root <root> | 2020-06-09 10:13 | I, U | 18 <
4 | System <unset> | 2020-01-15 13:02 | Install | 1 >
3 | System <unset> | 2020-01-15 13:02 | Install | 1
2 | System <unset> | 2020-01-15 13:02 | Erase | 1
1 | System <unset> | 2020-01-15 12:55 | Install | 578
history list
このリストには、変更されたパッケージの日付、アクション、および番号のみが記載されています。特定のアクションに関する詳細情報を取得するには、ID
をクエリします。 左の列から。次のコマンドを使用して、アクションに関する情報を表示します。
yum history info <ID>
このコマンドを実行すると、このトランザクション中に発生したことに関する詳細情報が提供されます。
# yum history info 18
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Transaction ID : 18
Begin time : Tue Jun 9 14:57:12 2020
Begin rpmdb : 609:12b0c5cdd97ae2f0a77a06403b7b16f3d404403c
End time : 14:57:13 2020 (1 seconds)
End rpmdb : 607:784f813e94127f71465085cd9437377514697243
User : <rack>
Return-Code : Success
Command Line : remove httpd
Transaction performed with:
Installed rpm-4.11.3-40.el7.x86_64 @anaconda/7.7
Installed subscription-manager-1.24.13-3.el7_7.x86_64 @base/7.7
Installed yum-3.4.3-167.el7.noarch @rhel-x86_64-server-7
Installed yum-rhn-plugin-2.0.1-10.el7.noarch @anaconda/7.7
Packages Altered:
Erase httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Erase mod_php73-7.3.18-1.el7.ius.x86_64 @ius
history info
変更を元に戻す必要がある場合は、次のコマンドを使用する必要があります。
yum history undo <ID>
このコマンドは、このアクションの変更内容に関する情報を提供し、確認を求めます。
# yum history undo 13
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Undoing transaction 13, from Tue Jun 9 14:50:18 2020
Install httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be erased
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_php73-7.3.18-1.el7.ius.x86_64
--> Running transaction check
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be erased
--> Finished Dependency Resolution
drivesrvr | 2.9 kB 00:00:00
Dependencies Resolved
======================================================================================================================
Package Arch Version Repository Size
======================================================================================================================
Removing:
httpd x86_64 2.4.6-93.el7 @rhel-x86_64-server-7 3.7 M
Removing for dependencies:
mod_php73 x86_64 7.3.18-1.el7.ius @ius 4.8 M
Transaction Summary
======================================================================================================================
Remove 1 Package (+1 Dependent package)
Installed size: 8.6 M
Is this ok [y/N]:
すべての変更を特定のトランザクションにロールバックする場合は、次のコマンドを使用します。
yum history rollback <ID>
このコマンドは、このアクションの変更内容を示し、確認を求めます。ロールバックする距離に応じて、このリストは広範囲に及ぶ可能性があります。出力は次の例のようになります:
# yum history rollback 17
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Rollback to transaction 17, from Tue Jun 9 14:56:03 2020
Undoing the following transactions: 18, 19
Reinstall httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Reinstall mod_php73-7.3.18-1.el7.ius.x86_64 @ius
drivesrvr | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be reinstalled
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be reinstalled
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================
Reinstalling:
httpd x86_64 2.4.6-93.el7 rhel-x86_64-server-7 1.2 M
mod_php73 x86_64 7.3.18-1.el7.ius ius 1.6 M
Transaction Summary
=====================================================================================================================
Reinstall 2 Packages
Total download size: 2.8 M
Installed size: 8.6 M
Is this ok [y/d/N]:
yum
内で利用できるオプションは他にもあります 。 Linux man
でさまざまなフラグとオプションを表示できます yum
のページ このリンク:yummanページ
yum
コマンドはシステムに変更を加えます。パッケージをインストールまたは更新する前に、環境をテストしたことを常に確認する必要があります。可能であれば、更新後の問題が発生した場合にロールバックできる使用可能なイメージがあることを確認してください。