Linux学習についてのまとめ 04        リポジトリとパッケージ

こんにちは。22年度入社の中島です。

前回はLinuC101試験に向けての学習の一環として、ファイルシステムについての記事を作成しました。今回はリポジトリとパッケージについての内容をまとめました。この記事を通じて、リポジトリとパッケージの基本的な内容、設定に使用される一部コマンドをまとめましたので共有します。

リポジトリとは?

リポジトリは、ソフトウェアパッケージを保管し、管理する場所です。リポジトリを利用すると、ソフトウェアを簡単に検索・インストールできます。多くのLinuxディストリビューションでは、公式リポジトリが提供されており、信頼性の高いソフトウェアを利用できます。

リポジトリの種類

  • 公式リポジトリ: ディストリビューション提供元が管理する信頼性の高いリポジトリ (例: Ubuntuのmain, universe)。
  • サードパーティリポジトリ: 外部の開発者や組織が提供するリポジトリ(例: EPEL, PPA)。公式リポジトリにはないソフトウェアが含まれることがあります。
  • ローカルリポジトリ: ネットワークを使わず、ローカルで管理されるリポジトリ。

パッケージ管理システム

Linuxでは、ディストリビューションごとに異なるパッケージ管理システムが使われます。以下は主要なパッケージ管理システムです。

ディストリビューションパッケージ管理システム
Debian系 (Ubuntu等)APT (dpkg)
Red Hat系 (RHEL, CentOS等)YUM / DNF(rpm)
Arch系Pacman

パッケージのインストール・削除

APTを使ったパッケージ管理(Debian系)

パッケージのインストール

これにより、システムにvimがインストールされ、vimコマンドでエディタを開けるようになります。

パッケージの一覧表示

このコマンドを使用すると、現在インストールされているすべてのパッケージを確認できます。

パッケージの削除

removeはソフトウェア本体のみを削除し、purgeは関連する設定ファイルも含めて削除します。

YUM/ DNF(rpm)を使ったパッケージ管理(Red Hat系)

yumとdnfの違いについて

yum(Yellowdog Updater, Modified)は、Red Hat系のディストリビューション(RHEL, CentOS, Fedoraなど)で長年使用されてきたパッケージ管理ツールです。
dnf(Dandified YUM)は、yumの後継として開発され、yumよりも高速でメモリ使用量が少なく、依存関係の処理が改善されたパッケージ管理ツールです。

 yum の基本的なコマンドは dnf でも使えますが、一部オプションが異なります。また、新しい環境では dnfを使うのが推奨されます。

パッケージのインストール

yumまたはdnfを使用すると、依存関係も解決して自動的に関連パッケージをインストールしてくれます。

パッケージの一覧表示

このコマンドを使用すると、現在インストールされているパッケージのリストを取得できます。

パッケージの削除

このコマンドを実行すると、指定したパッケージが削除されます。YUM/DNFは依存関係の整理も行うため、注意が必要です。

パッケージの検索

APTを使った検索(Debian系)

パッケージ名を検索

searchを使うことで、vimという名前を含むすべてのパッケージを検索できます。

パッケージ内のファイル検索

このコマンドを使うと、/usr/bin/vimを提供しているかを調べることができます。

インストール済みのパッケージを確認

このコマンドは、インストール済みのパッケージ一覧を表示し、 grepで特定のパッケージを検索できます。

YUM/DNFを使った検索(Red Hat系)

特定のファイルを含むパッケージを検索

searchを使用すると、指定したキーワードに関連するすべてのパッケージを一覧表示できます。

パッケージ内のファイル検索

providesを使用すると、特定のファイルがどのパッケージに含まれているかを調べることができます。

インストール済みのパッケージを確認

このコマンドを使用すると、システムにインストール済みのパッケージを確認できます。

リポジトリの追加と管理

リポジトリを追加することで、公式リポジトリにはないソフトウェアをインストールできるようになります。

APTでリポジトリを追加する(PPAの例)
YUM / DNFでリポジトリを追加する(EPELの例)

EPELはRed Hat系の拡張リポジトリで、多くの追加パッケージが含まれています。

おわりに

今回の記事では、リポジトリとパッケージ管理の基本についてまとめました。Linuxのパッケージ管理はシステムの運用に欠かせない重要な知識です。リポジトリの理解と適切なパッケージ管理を行うことで、安全で効率的な環境を構築できます。

LinuC 101試験に向けて、基本的なコマンドをしっかりと身につけ、試験に備えたいと思います。

今回はここまで
最後までご覧いただきありがとうございました!