こんにちは。22年度入社の中島です。
前回はLinuC101試験に向けての学習の一環として、ファイルシステムについての記事を作成しました。今回はリポジトリとパッケージについての内容をまとめました。この記事を通じて、リポジトリとパッケージの基本的な内容、設定に使用される一部コマンドをまとめましたので共有します。
リポジトリとは?
リポジトリは、ソフトウェアパッケージを保管し、管理する場所です。リポジトリを利用すると、ソフトウェアを簡単に検索・インストールできます。多くのLinuxディストリビューションでは、公式リポジトリが提供されており、信頼性の高いソフトウェアを利用できます。
リポジトリの種類
- 公式リポジトリ: ディストリビューション提供元が管理する信頼性の高いリポジトリ (例: Ubuntuのmain, universe)。
- サードパーティリポジトリ: 外部の開発者や組織が提供するリポジトリ(例: EPEL, PPA)。公式リポジトリにはないソフトウェアが含まれることがあります。
- ローカルリポジトリ: ネットワークを使わず、ローカルで管理されるリポジトリ。
パッケージ管理システム
Linuxでは、ディストリビューションごとに異なるパッケージ管理システムが使われます。以下は主要なパッケージ管理システムです。
ディストリビューション | パッケージ管理システム |
---|---|
Debian系 (Ubuntu等) | APT (dpkg) |
Red Hat系 (RHEL, CentOS等) | YUM / DNF(rpm) |
Arch系 | Pacman |
パッケージのインストール・削除
APTを使ったパッケージ管理(Debian系)
パッケージのインストール
1 |
sudo apt update # パッケージリストの更新 |
1 |
sudo apt install vim # vimエディタをインストール |
これにより、システムにvimがインストールされ、vimコマンドでエディタを開けるようになります。
パッケージの一覧表示
1 |
sudo apt list --installed # インストール済みのパッケージを一覧表示 |
このコマンドを使用すると、現在インストールされているすべてのパッケージを確認できます。
パッケージの削除
1 |
sudo apt remove vim # vimを削除(設定ファイルは残る) |
1 |
sudo apt purge 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を使うのが推奨されます。
パッケージのインストール
1 |
sudo yum install vim # vimエディタをインストール(YUM) |
1 |
sudo dnf install vim # DNF使用時 |
yumまたはdnfを使用すると、依存関係も解決して自動的に関連パッケージをインストールしてくれます。
パッケージの一覧表示
1 |
sudo yum list installed # インストール済みのパッケージを一覧表示(YUM) |
1 |
sudo dnf list installed # インストール済みのパッケージを一覧表示(DNF) |
このコマンドを使用すると、現在インストールされているパッケージのリストを取得できます。
パッケージの削除
1 |
sudo yum remove vim # vimを削除 |
1 |
sudo dnf remove vim # DNF使用時 |
このコマンドを実行すると、指定したパッケージが削除されます。YUM/DNFは依存関係の整理も行うため、注意が必要です。
パッケージの検索
APTを使った検索(Debian系)
パッケージ名を検索
1 |
apt search vim # vimに関連するパッケージを検索 |
searchを使うことで、vimという名前を含むすべてのパッケージを検索できます。
パッケージ内のファイル検索
1 |
apt-file search /usr/bin/vim |
このコマンドを使うと、/usr/bin/vimを提供しているかを調べることができます。
インストール済みのパッケージを確認
1 |
apt list --installed | grep vim # vimがインストールされているか確認 |
このコマンドは、インストール済みのパッケージ一覧を表示し、 grepで特定のパッケージを検索できます。
YUM/DNFを使った検索(Red Hat系)
特定のファイルを含むパッケージを検索
1 |
yum search vim # YUMを使ってvim関連のパッケージを検索 |
1 |
dnf search vim # DNFを使ってvim関連のパッケージを検索 |
searchを使用すると、指定したキーワードに関連するすべてのパッケージを一覧表示できます。
パッケージ内のファイル検索
1 |
yum provides /usr/bin/vim # YUMを使って特定のファイルを含むパッケージを検索 |
1 |
dnf provides /usr/bin/vim # DNFを使って特定のファイルを含むパッケージを検索 |
providesを使用すると、特定のファイルがどのパッケージに含まれているかを調べることができます。
インストール済みのパッケージを確認
1 |
yum list installed | grep vim # vimがインストールされているか確認 |
1 |
dnf list installed | grep vim # DNFでvimがインストールされているか確認 |
このコマンドを使用すると、システムにインストール済みのパッケージを確認できます。
リポジトリの追加と管理
リポジトリを追加することで、公式リポジトリにはないソフトウェアをインストールできるようになります。
APTでリポジトリを追加する(PPAの例)
1 |
sudo add-apt-repository ppa:neovim-ppa/unstable |
1 |
sudo apt update |
YUM / DNFでリポジトリを追加する(EPELの例)
1 |
sudo yum install epel-release # EPELリポジトリを追加 |
1 |
sudo yum update # パッケージ情報を更新 |
EPELはRed Hat系の拡張リポジトリで、多くの追加パッケージが含まれています。
おわりに
今回の記事では、リポジトリとパッケージ管理の基本についてまとめました。Linuxのパッケージ管理はシステムの運用に欠かせない重要な知識です。リポジトリの理解と適切なパッケージ管理を行うことで、安全で効率的な環境を構築できます。
LinuC 101試験に向けて、基本的なコマンドをしっかりと身につけ、試験に備えたいと思います。
今回はここまで
最後までご覧いただきありがとうございました!