LFCA: Linux でソフトウェア パッケージを管理する方法 – パート 7
この記事は LFCA シリーズのパート 7 です。このパートでは、Linux システムでソフトウェア パッケージを管理するための一般的なシステム管理コマンドについて説明します。
システム管理者は、ソフトウェア パッケージを管理する責任を負います。これには、システムからのパッケージのインストール、アップグレード、削除またはアンインストールが含まれます。
Linux システムには 2 種類のパッケージがあります。
- バイナリ パッケージ: これらには、構成ファイル、実行可能ファイル、マニュアル ページ、その他のドキュメントが含まれています。 Debian の場合、バイナリ パッケージのファイル拡張子は .deb です。 Red Hat の場合、バイナリ パッケージには .rpm ファイル拡張子が付いています。バイナリ パッケージは、Debian ユーティリティ dpkg を使用して解凍されます。.deb バイナリ ファイルの場合は、後で説明するように、.rpm バイナリ パッケージの場合は rpm です。
- ソース パッケージ: ソース パッケージは、アプリケーションのソース コード、パッケージの簡単な説明、アプリケーションのビルド方法に関する説明が含まれる圧縮ファイルです。
さまざまな Linux ディストリビューションには独自のパッケージ マネージャーがあります。ここでは、Debian とRed 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 パッケージ管理
RHEL や CentOS 8 や Fedora 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
結論
apt、dpkg、rpm、dnf、および yum コマンドは便利なコマンドです。 -Linux システム上のソフトウェア パッケージのインストール、更新、削除に役立つツール。