3
3

More than 3 years have passed since last update.

【Linux】 パッケージ管理コマンドまとめ(ディストリビューション別)

Last updated at Posted at 2021-01-23

Linuxパッケージ管理コマンドを全オプション/サブコマンドを全ディストリビューション、目的ごとにまとめます。
まだ完全ではないですが勉強するごとに徐々に項目を追加していきます。
LPICなどの資格勉強や業務で使う際に役立てて頂けたら幸いです。

RedHat系

RedHat、CentOSで使うコマンドは主に以下2つ。コマンド/目的別にオプションを記載します。

rpmコマンド

依存関係を考慮することなく、パッケージ管理を行うコマンド。yumコマンド(後述)とは違いオプション指定でコマンドを実行する。

例) rpm -ih パッケージファイル名
 →進行状況を表示しながらインストール

■インストール編
インストールのオプションで指定する引数はパッケージ名ではなく、パッケージファイル名(~.rpmなど)指定であることに注意。

debian系(後述)など他のディストリビューションでも依存関係を考慮せずに実行するコマンドのインストールオプションはパッケージファイル名を指定するのは共通。

オプション 結果
-i(--install) パッケージファイル名 パッケージのインストール。
-U(--upgrade) パッケージファイル名 パッケージのアップグレード。アップグレード時にパッケージがない場合はインストール。
-F(--freshen) パッケージファイル名 パッケージのアップグレード。アップグレード時にパッケージがない場合はインストールしない。-Uとややこしいので自分は今のパッケージを新鮮(freshen)にする=ないものは新鮮にできないと覚えました。
-e(--erase) パッケージ名 パッケージのアンインストール
併用オプション(上記オプションと併用)
-v パッケージの詳細情報表示。
-h(--hash) インストールの進行状況を#で表示。-eとは併用不可。
-t(--test) テストを実施(実際にはインストールしない)。
-nodeps 依存関係を無視。

■検査・参照編
既存のパッケージに対し、検査・参照する場合はパッケージ名を指定。
パッケージの検査はRPMデータベースのファイルに関する情報とパッケージファイルを比較して検査する。
主にファイルサイズ、チェックサム、所有ユーザ/グループ、タイムスタンプにより判断。

オプション 結果
-q(--query) パッケージ名 指定パッケージがインストールされているか参照。
-V(--verify) パッケージ名 パッケージ検査。併用オプションは-a(--all)と--nomd5のみ。
併用オプション(上記オプションと併用)
-a(--all) 全パッケージ表示。
-l(--list) パッケージに含まれるファイルを表示。
-i(info) パッケージそのものの詳細情報を表示
-l(list) パッケージ一覧表示(バージョン、インストール有無)
-f(--file) ファイル名 指定ファイルがどのパッケージからインストールされているか表示
-p(--package) パッケージを指定
-changelog パッケージの変更履歴
-c(--configfiles) 設定ファイルを一覧表示
-nomd5 MD5によるファイルの改竄をチェックしない。

yumコマンド

インターネット経由、もしくはその他メディアを通じて依存関係を考慮しながらパッケージ管理を行うコマンド。サブコマンド(-をつけない)を指定してコマンドを実行する。

debian系(後述)など他のディストリビューションでも依存関係を考慮しながら実行するコマンドは-をつけずにサブコマンドでパッケージを指定する。
インストールでもパッケージ名指定でOK。

例) yum [-y] install php
 →phpパッケージをインストール。

■インストール・参照編

オプション 結果
install パッケージ名 パッケージインストール。
update パッケージ名 パッケージのアップデート。パッケージ名を指定しない場合、全パッケージをアップデートする。
remove パッケージ名 パッケージアンインストール
info パッケージそのものの詳細情報を表示
search キーワード キーワードを指定してパッケージを検索
check-update アップデート可能なパッケージを表示
grouplist パッケージグループの一覧表示
groupinstall パッケージグループのインストール

Debian系

Debian、Ubuntuで使うコマンドは主に以下3つ。コマンド/目的別にオプションを記載します。

dpkgコマンド

依存関係を考慮することなく、パッケージ管理を行うコマンド。apt-getコマンド(後述)とは違いオプション/アクション指定でコマンドを実行する。

例) dpkg -Ei パッケージファイル名
 →同バージョンのパッケージがなければインストール。

■インストール編
インストールのオプションで指定する引数はパッケージ名ではなく、パッケージファイル名(~.debなど)指定であることに注意。

オプション 結果
-E インストール対象パッケージと同バージョンがインストール済みの場合、インストールしない。自分はEqualなら実行しないと覚えました。
-G インストール対象パッケージより新しいバージョンがインストール済みの場合、インストールしない。自分はGreaterなら実行しないと覚えました。
-R ディレクトリを再起的に処理。
アクション
-i(--install) パッケージファイル名 パッケージインストール
-r(--remove) パッケージ名 設定ファイルを残してアンインストール。
-P(--purge) パッケージ名 設定ファイルごとアンインストール。-rとややこしいため歴史好きな自分は丸ごと追放をイメージしやすいred purge(赤狩り)を思い浮かべて記憶しています。
-l(--list) 検索パターン インストール済みパッケージを検索。
-L(--listfiles) パッケージからインストールされたファイルを一覧表示。-lとややこしいので自分は"長大なもの(オプションが長くて大文字から)はファイル参照"と覚えました。
-s(--status) パッケージ名 インストール済みパッケージの詳細情報
-S(--search) 検索パターン どのパッケージから指定ファイルがインストールされたかを表示。
-C(--audit) インストールが不完全なパッケージ表示

apt-getコマンド、apt-cacheコマンド

インターネット経由、もしくはその他メディアを通じて依存関係を考慮しながらパッケージ管理を行うコマンド。サブコマンド(-をつけない)を指定してコマンドを実行する。
インストールでもパッケージ名指定OK。

インストールはapt-get、参照はapt-cacheコマンドで対応する。
インストールでもパッケージ名指定でOK。

例)apt-get install パッケージ名
 →パッケージインストール

■インストール編(apt-get)

オプション 結果
install パッケージ名 パッケージインストール/アップグレード。
remove パッケージ名 パッケージアンインストール。
upgrade インストール済み全パッケージのアップグレード。
dist-upgrade ディストリビューションを最新版にアップグレード。
update パッケージのデータベースを最新版へアップデート。
clean 過去に取得したパッケージファイルを削除。

例)apt-cache showpkg パッケージ名
 →依存関係も含めてパッケージ情報を表示。

■参照編(apt-cache)

オプション 結果
search キーワード キーワードを含んだパッケージを参照
show パッケージ名 パッケージ情報を表示
showpkg パッケージ名 依存関係を含めてパッケージ情報を表示
depends パッケージ名 指定パッケージに依存しているパッケージを表示

最後に

ツイッターで日々の勉強内容を発信しておりますのでフォロー、閲覧していただけると幸いです。
何かアドバイスなどございましたらコメントください。

ツイッター
https://twitter.com/Picko_Engineer

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3