Linux でソフトウェアパッケージを管理する方法 – パート 7

この記事はLFCAシリーズの第7部であり、この部ではLinuxシステムでソフトウェアパッケージを管理するための一般的なシステム管理コマンドについて紹介します。

システム管理者として、ソフトウェアパッケージの管理が任されます。これには、システムからパッケージのインストール、アップグレード、削除、またはアンインストールが含まれます。

Linuxシステムには2種類のパッケージがあります:

  • バイナリパッケージ:これには設定ファイル、実行可能ファイル、manページなどが含まれます。Debianでは、バイナリパッケージには.debのファイル拡張子があります。Red Hatでは、バイナリパッケージには.rpmのファイル拡張子があります。バイナリパッケージは、後で見るように、Debianユーティリティdpkg.debバイナリファイル用)およびrpm.rpmバイナリパッケージ用)を使用して展開されます。
  • ソースパッケージ:ソースパッケージは、アプリケーションのソースコード、パッケージの簡単な説明、およびアプリケーションをビルドする方法の手順を含む圧縮ファイルです。

異なる Linux ディストリビューション は、それぞれ独自のパッケージ管理システムを持っています。ここでは、2 種類の Linux ファミリー:DebianRed Hat について見ていきましょう。

Debian のパッケージ管理

Debian は、パッケージ管理のためのフロントエンド ソリューションとして APT (Advanced Package Tool) を提供しています。これは、コア ライブラリと連携する強力なコマンドライン ユーティリティで、パッケージのダウンロード、インストール、アップデート、削除を可能にします。

Debian/Ubuntu システムにパッケージをインストールする

Windows 環境から移行した場合、ソフトウェア ベンダーから .exe パッケージをダウンロードし、インストール ウィザードを使ってシステムにインストールする方法に慣れているでしょう。

Linux では、アプリケーションのインストール方法がかなり異なります。ソフトウェア パッケージは、オンライン リポジトリからダウンロードしてパッケージ マネージャーを使ってインストールします。リポジトリのリストは /etc/apt/sources.list ファイルと /etc/sources.list.d ディレクトリで定義されています。

Debian ベースのディストリビューションでは、APT パッケージ マネージャーを使ってオンライン リポジトリからパッケージをダウンロードしてインストールします。このツールは、パッケージだけでなく、パッケージに必要な依存関係もインストールします。

常にパッケージをインストールする前に、/etc/apt/sources.listファイル内のリポジトリを更新することが推奨されています。これを実行するには、次のコマンドを実行してください:

$ sudo apt update

ソフトウェアパッケージをインストールするには、次の構文を使用してください:

$ sudo apt install package_name

たとえば、Apacheウェブサーバーをインストールするには、次のコマンドを実行します:

$ sudo apt install apache2
Install Apache in Ubuntu

インストールする前にパッケージを検索する

リポジトリ内のパッケージの利用可能性を検索するには、次の構文を使用します:

$ apt search package_name

たとえば、neofetchというパッケージの利用可能性を検索するには、次のコマンドを実行します:

$ apt search neofetch
Search for Package in Ubuntu

パッケージの情報を表示する

パッケージに関する詳細情報を表示するには、aptコマンドを以下のように使用します。

$ apt show package_name

たとえば、neofetchパッケージの詳細情報を表示するには、次のコマンドを実行します:

$ apt show neofetch
Check Package Info in Ubuntu

Ubuntuでパッケージをアップグレードする

システムにインストールされたパッケージをアップグレードするには、次のコマンドを実行してください:

$ sudo apt upgrade

Ubuntuでパッケージを削除する

ソフトウェアパッケージを削除するには、apache2などとして、次のコマンドを実行します:

$ sudo apt remove apache2

構成ファイルとともにパッケージを削除する場合は、次のようにpurgeオプションを使用してください。

$ sudo apt purge apache2

Dpkgパッケージマネージャ

DebianベースのLinuxディストリビューションもdpkgパッケージマネージャを提供しています。これは、インストール中に依存関係を必要としないバイナリパッケージを処理する低レベルのパッケージマネージャです。 dpkgはバイナリパッケージファイルが依存関係を必要とすることを検出した場合、欠落している依存関係を報告して停止します。

.debファイルからパッケージをインストールするには、次のようにdpkgコマンドを使用します。

$ sudo dpkg -i package.deb

たとえば、そのAnyDeskパッケージをそのDebianファイルからインストールするには、次のように実行します。

$ sudo dpkg -i anydesk_6.1.0-1_amd64.deb
OR
$ sudo dpkg --unpack  anydesk_6.1.0-1_amd64.deb
Install a Package in Ubuntu

パッケージがインストールされたかどうかを確認するには、次のコマンドを実行します。

$ sudo dpkg -l anydesk
Verify Package in Ubuntu

パッケージを削除するには、次のように-rオプションを使用します。

$ sudo dpkg -r anydesk
Remove Package in Ubuntu

パッケージとその構成ファイルすべてを削除するには、パッケージに関連するすべてのファイルをパージするために-Pオプションを使用します。

$ sudo dpkg -P anydesk

YUM / DNFとRPMパッケージ管理

現代のRedHat Linuxディストリビューション、例えばRHELCentOS 8Fedora 21およびそれ以降のバージョンは、廃止予定のYUMパッケージマネージャのアップグレードであるDNF (Dandified YUM)を使用しています。これは、RedHatやCentOS 7などの古いバージョンのRed Hat Linuxディストリビューションの事実上のパッケージマネージャでした。

APTと同様に、DNFまたはYUMパッケージマネージャは、オンラインリポジトリからパッケージをインストールするために使用されます。

CentOSでソフトウェアパッケージをインストールする

パッケージをインストールするには、次の構文を使用します。

$ sudo dnf install package-name
OR
$ sudo yum install package-name (For older versions)

例えば、Apache httpdパッケージをインストールするには、次のコマンドを実行します。

$ sudo dnf install httpd
OR
$ sudo yum install httpd

ソフトウェアパッケージを検索する

リポジトリからパッケージの可用性を検索することもできます。次のようにします。

$ sudo dnf search mariadb

ソフトウェアパッケージをアップデートする

すべてのパッケージを最新バージョンにアップデートするには、次のように実行します。

$ sudo dnf update 
OR
$ sudo yum  update 

ソフトウェアパッケージを削除する

パッケージを削除するには、次のように実行します。

$ sudo dnf remove package_name
OR
$ sudo yum remove  package_name

例えば、httpdパッケージを削除するには、次のように実行します。

$ sudo dnf remove httpd
OR
$ sudo yum remove httpd

RPMパッケージマネージャ

RPMパッケージマネージャーは、RedHat Linuxディストリビューションで.rpmバイナリパッケージを扱うためのオープンソースのパッケージ管理ツールです。APTパッケージマネージャーと同様に、rpmはバイナリパッケージを管理します。

ソフトウェアパッケージのインストール

次の構文を使用して、.rpmファイルを使用してアプリケーションをインストールします。

$ sudo rpm -i package_name

たとえば、表示されている.rpmファイルからAnyDeskアプリケーションをインストールするには、次のコマンドを実行します。

$ sudo rpm -i anydesk-6.1.0-1.el8.x86_64.rpm 

システム上のソフトウェアアプリケーションの存在を確認またはチェックするには、次の構文を使用します。

$ sudo rpm -q package_name

たとえば、Anydeskがインストールされているかどうかを確認するには、次のコマンドを実行します。

$ sudo rpm -q anydesk
Verify Package Installation

すべての現在のソフトウェアパッケージを問い合わせるには、次のコマンドを使用します。

$ sudo rpm -qa
Query Software Packages

ソフトウェアパッケージの削除

rpmコマンドを使用してパッケージをアンインストールするには、次の構文を使用します。

$ sudo rpm -e package_name

例:

$ sudo rpm -e anydesk
結論

aptdpkgrpmdnf、およびyumコマンドは、Linuxシステムでソフトウェアパッケージをインストール、更新、削除するのに役立つコマンドラインツールです。

Source:
https://www.tecmint.com/manage-software-packages-in-linux/