ウェブサイト検索

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


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

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

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

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

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

Debian パッケージ管理

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

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

sudo apt install apache2

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

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

apt search package_name

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

apt search neofetch

パッケージ情報を表示

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

apt show package_name

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

apt show neofetch

Ubuntuのアップグレードパッケージ

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

sudo apt upgrade

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

ソフトウェア パッケージを削除するには、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 パッケージ管理

RHELCentOS 8Fedora 21 以降のバージョンなどの最新の RedHat Linux ディストリビューションは、現在のアップグレードである DNF (Dandified YUM) を使用します。 RedHat や CentOS 7 などの古いバージョンの Red Hat Linux ディストリビューションの事実上のパッケージ マネージャーであった YUM パッケージ マネージャーは非推奨になりました。

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 バイナリ パッケージを処理するためのもう 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
結論

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