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


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

システム管理者は、ソフトウェアパッケージを管理する責任があります。これには、システムへのパッケージのインストール、アップグレード、およびパッケージの削除またはアンインストールが含まれます。

Linuxシステムには2つのタイプのパッケージがあります。

  • バイナリパッケージ:これらには、構成ファイル、実行可能ファイル、マニュアルページなどのドキュメントが含まれています。 Debianの場合、バイナリパッケージの拡張子は.debです。 Red Hatの場合、バイナリパッケージには.rpmファイル拡張子が付いています。バイナリパッケージは、後で説明するように、.rpmバイナリパッケージ用のDebianユーティリティrpmを使用して解凍されます。
  • ソースパッケージ:ソースパッケージは、アプリケーションのソースコード、パッケージの簡単な説明、およびアプリケーションのビルド方法の説明を含む圧縮ファイルです。

さまざまなLinuxディストリビューションに独自のパッケージマネージャーがあります。ここでは、DebianとRedHatの2つのLinuxファミリーを見ていきます。

Debianパッケージ管理

Debianは、フロントエンドのパッケージ管理ソリューションとしてAPT(Advanced Package Manager)を提供しています。これは、コアライブラリと連携し、システムからパッケージをダウンロード、インストール、更新、および削除できる強力なコマンドラインユーティリティです。

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 Webサーバーをインストールするには、次のコマンドを実行します。

$ sudo apt install apache2

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

$ apt search package_name

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

$ apt search neofetch

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

$ apt show package_name

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

$ apt show neofetch

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

$ sudo apt upgrade

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

$ sudo apt remove apache2

構成ファイルと一緒にパッケージを削除するには、図のようにパージオプションを使用します。

$ sudo apt purge apache2

Dpkgパッケージマネージャー

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

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

$ sudo dpkg -i package.deb

たとえば、表示されているDebianファイルからAnyDeskパッケージをインストールするには、次のコマンドを実行します。

$ sudo dpkg -i anydesk_6.1.0-1_amd64.deb
OR
$ sudo dpkg --unpack  anydesk_6.1.0-1_amd64.deb

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

$ sudo dpkg -l anydesk

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

$ sudo dpkg -r anydesk

パッケージをすべての構成ファイルと一緒に削除するには、 -P オプションを使用して、パッケージに関連付けられているすべてのファイルを削除します。

$ sudo dpkg -P anydesk

YUM/DNFおよびRPMパッケージ管理

最新のYUMパッケージマネージャー。これは、RedHatやCentOS7などの古いバージョンのRedHatLinuxディストリビューションの事実上のパッケージマネージャーでした。

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

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

$ 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パッケージマネージャーは、RedHatLinuxディストリビューションで.rpmバイナリパッケージを処理するためのもう1つのオープンソースパッケージ管理ツールです。 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

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

$ sudo rpm -qa

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

$ sudo rpm -e package_name

例えば:

$ sudo rpm -e anydesk

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