0
0

Linuxパッケージ管理システムのまとめ

Posted at

パッケージとは?

実行プログラム、設定ファイル、ライブラリ、マニュアル、ドキュメントなどを1つのファイルにまとめたものをパッケージと呼ぶ。
スクリーンショット
引用元: 日経クロステック

パッケージ管理システムとは?

パッケージ管理システムは、ソフトウェアのインストール、更新、削除、およびシステムの依存関係の管理を自動化するツールである。これにより、ソフトウェアの配布や管理が簡単かつ効率的に行える。LinuxにはAPTやRPM、WindowsにはNuGet、macOSにはHomebrewなどがある。パッケージ管理システムを使用することで、手動での管理作業が減少し、一貫性のある環境を保ちやすくなる。

Debian系Linuxのパッケージ管理システムを扱うコマンド

Debian系のLinuxのパッケージ管理システムを扱う代表的なコマンドには、dpkg,apt,apt-get,apt-cache,apt-fileなどがある。

dpkgコマンド

dpkgは、Debianベースのシステムで使用されるパッケージ管理ツールです。主に、パッケージのインストール、削除、設定、クエリを行います。.debパッケージ形式を扱い、パッケージの依存関係管理やファイルリストの表示、パッケージの状態確認などができます。APT(Advanced Package Tool)の基礎にある低レベルのツールで、システムのパッケージ管理を直接操作するための基本的な機能を提供しています。

オプション 説明
-i, --install パッケージをインストールする
-r, --remove パッケージを削除する(設定データは残る)
-P, --purge パッケージと設定データを完全に削除する
-l, --list インストール済みのパッケージを表示する
-L, --listfiles パッケージによってインストールされたファイルを一覧表示する
-s, --status パッケージの情報を表示する
-S, --search ファイルがどのパッケージによってインストールされたかを検索する
--configure 未構成のパッケージを構成する
--unpack パッケージを展開する(インストールはしない)
-E 既にインストールされているバージョンと同じ場合はインストールしない
-G 既に新しいバージョンがインストールされている場合はインストールしない
-R, --recursive ディレクトリ内を再帰的に処理する

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

sudo dpkg -i example_package.deb

説明: .debパッケージをインストールします。

パッケージの削除

sudo dpkg -r example_package

説明: パッケージを削除します(設定ファイルは残る)。

パッケージの完全削除

sudo dpkg -P example_package

説明: パッケージと設定ファイルを完全に削除します。

インストール済みパッケージの一覧表示

dpkg -l

説明: インストールされているパッケージを一覧表示します。

パッケージのファイル一覧表示

dpkg -L example_package

説明: 指定されたパッケージがインストールしたファイルを表示します。

パッケージの依存関係確認

dpkg -s example_package

説明: パッケージのステータスと依存関係を表示します。

ファイルがどのパッケージに属するかを検索

dpkg -S /path/to/file

説明: 指定されたファイルがどのパッケージからインストールされたかを表示します。

インストール済みパッケージの構成

sudo dpkg --configure -a

説明: 未構成のパッケージを設定します。

パッケージの展開のみ

sudo dpkg --unpack example_package.deb

説明: .debパッケージをインストールせずに展開します。

再帰的にパッケージをインストール

sudo dpkg -R /path/to/directory

説明: ディレクトリ内のすべてのパッケージを再帰的にインストールします。

apt-getコマンド

apt-getコマンドはDebian系Linuxディストリビューションで使用されるパッケージ管理コマンドである。apt-getは低レベルの操作に向いているため、特定のケースではまだ使用することはあるが、一般的なパッケージ管理にはaptが推奨されている。

オプション 説明
-s, --dry-run システムを変更せず動作をシミュレートする
-y, --yes 処理中の問い合せに対して自動的にYes(y)と答える
サブコマンド 説明
autoclean ダウンロードしたパッケージのアーカイブを削除する
autoremove 自動的にインストールされたもののうち使われていないパッケージを削除する
download パッケージをダウンロードのみ行いインストールしない
dist-upgrade システムを最新にアップグレードする
install パッケージをインストールまたはアップグレードする
remove パッケージをアンインストールする
update パッケージのインデックスを更新する
upgrade システムの全パッケージのうち、他のパッケージを削除しないものをアップグレードする

パッケージリストの更新

sudo apt-get update

説明: パッケージリストを最新の状態に更新します。

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

sudo apt-get install package_name

説明: 指定したパッケージをインストールします。

パッケージの削除

sudo apt-get remove package_name

説明: 指定したパッケージを削除します(設定ファイルは残る)。

パッケージの完全削除

sudo apt-get purge package_name

説明: 指定したパッケージとその設定ファイルを完全に削除します。

システムのアップグレード

sudo apt-get upgrade

説明: インストールされているすべてのパッケージを最新バージョンにアップグレードします。

ディストリビューションのアップグレード

sudo apt-get dist-upgrade

説明: 依存関係を考慮してシステムを最新にアップグレードします。

不要なパッケージの自動削除

sudo apt-get autoremove

説明: もはや必要とされないパッケージを自動的に削除します。

キャッシュのクリーンアップ

sudo apt-get clean

説明: ダウンロードされたパッケージファイルを削除し、ディスクスペースを解放します。

パッケージのダウンロードのみ

sudo apt-get download package_name

説明: パッケージをダウンロードのみ行い、インストールはしません。

システムのシミュレーション

sudo apt-get -s upgrade

説明: システムを変更せずにアップグレードをシミュレートします。

apt-cacheコマンド

apt-cacheコマンドは、Debian系Linuxディストリビューションで使用されるパッケージ管理ツールの一部で、パッケージの検索や情報取得に特化しています。apt-cacheは低レベルなパッケージ管理タスクに適しており、詳細な依存関係やキャッシュデータの確認に使用されます。現在はaptコマンドに統合されているため、通常のパッケージ検索や情報取得にはaptが推奨されています。

サブコマンド 説明
search キーワード 指定したキーワードを含むパッケージを検索する
show パッケージ名 パッケージについての一般的な情報を表示する
showpkg パッケージ名 パッケージについての詳細な情報を表示する
depends パッケージ名 指定したパッケージの依存関係情報を表示する

パッケージの検索

apt-cache search キーワード

説明: 指定したキーワードを含むパッケージを検索します。

パッケージの情報表示

apt-cache show package_name

説明: パッケージについての一般的な情報を表示します。

パッケージの詳細情報表示

apt-cache showpkg package_name

説明: パッケージについての詳細な情報を表示します。

パッケージの依存関係確認

apt-cache depends package_name

説明: 指定したパッケージの依存関係情報を表示します。

逆依存関係の確認

apt-cache rdepends package_name

説明: 指定したパッケージに依存しているパッケージを表示します。

apt-fileコマンド

apt-fileコマンドは、Debianベースのシステムでファイルがどのパッケージに含まれているかを検索するためのツールです。これにより、インストールされていないパッケージに含まれるファイルも確認できます。apt-fileは、主にファイル名やパスからパッケージを逆引きするのに使われ、apt-getやapt-cacheとは異なり、詳細なファイルレベルの検索をサポートしています。apt-fileコマンドは現在も使用が推奨されています。
ファイルが含まれるパッケージの検索

apt-file search /path/to/file

説明: 指定したファイルが含まれるパッケージを検索します。

パッケージに含まれるファイルの一覧表示

apt-file list package_name

説明: 指定したパッケージに含まれるファイルを一覧表示します。

パッケージ情報の更新

sudo apt-file update

説明: apt-fileのデータベースを更新します。

ファイル名でパッケージを検索

apt-file find filename

説明: 指定したファイル名を含むパッケージを検索します。

特定のパッケージに含まれるファイルの検索

apt-file show package_name

説明: 指定したパッケージに含まれるファイルを表示します。

aptコマンド

aptコマンドは、DebianベースのLinuxディストリビューション(Ubuntuなど)でパッケージ管理を行うための統合ツールです。apt-getやapt-cacheの機能を簡略化し、よりユーザーフレンドリーなインターフェースを提供します。

オプション 説明
-c 設定ファイル 設定ファイルを指定する(デフォルトは/etc/apt/sources.list)
-d パッケージのダウンロードのみ行う(installとともに)
-y 問い合わせに対して自動的にYesと回答する
--no-install-recommends 必須ではない推奨パッケージはインストールしない
--install-suggests 提案パッケージをインストールする
--reinstall インストール済みパッケージの再インストールを許可する
サブコマンド 説明
update パッケージリストを更新する
install パッケージ名 パッケージをインストールする
remove パッケージ名 パッケージを削除する(設定ファイルは残す)
purge パッケージ名 パッケージを完全に削除する
upgrade パッケージ名 システムをアップグレードする(ファイル削除は伴わない)
full-upgrade システムの全パッケージを最新にアップグレードする
show パッケージ名 指定したパッケージに関する情報を表示する
list パッケージのリストを表示する
list --installed インストールされたパッケージを一覧表示する
list --upgradable アップグレード可能なパッケージを表示する
search キーワード 指定したキーワードを含むパッケージ情報を全文検索する
depends パッケージ名 パッケージの依存関係情報を表示する
autoremove 必要とされていないパッケージを自動的に削除する

パッケージリストの更新

sudo apt update

説明: パッケージリストを最新の状態に更新します。

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

sudo apt install package_name

説明: 指定したパッケージをインストールします。

パッケージの削除

sudo apt remove package_name

説明: 指定したパッケージを削除します(設定ファイルは残る)。

パッケージの完全削除

sudo apt purge package_name

説明: 指定したパッケージとその設定ファイルを完全に削除します。

システムのアップグレード

sudo apt upgrade

説明: インストールされているすべてのパッケージを最新バージョンにアップグレードします。

ディストリビューションのアップグレード

sudo apt full-upgrade

説明: 依存関係を考慮してシステムを最新にアップグレードします。

不要なパッケージの自動削除

sudo apt autoremove

説明: もはや必要とされないパッケージを自動的に削除します。

パッケージの情報表示

apt show package_name

説明: 指定したパッケージに関する情報を表示します。

パッケージの検索

apt search キーワード

説明: 指定したキーワードを含むパッケージを検索します。

依存関係の確認

apt depends package_name

説明: 指定したパッケージの依存関係情報を表示します。

RedHat系Linuxのパッケージ管理システムを扱うコマンド

RedHat系のLinuxのパッケージ管理システムを扱う代表的なコマンドにはrpm,yum,dnfなどがある。

rpmコマンド

RPMパッケージ(.rpmファイル)をインストール、削除、検証、クエリ、アップグレードするために使用されます。

オプション 説明
-i パッケージファイル名 パッケージをインストールする
-U パッケージファイル名 パッケージをアップグレードする(なければインストールする)
-F パッケージファイル名 パッケージがインストールされていればアップグレードする

インストール / アップグレードモードで併用するオプション

オプション 説明
-v 詳細な情報を表示する
-h (--hash) 進行状況を#で表示する
--nodeps 依存関係を無視してインストールする
--force 既存のファイルを新しいものに置き換える
--test 実際にはインストールせずテストを実施する

アンインストールモード

オプション 説明
-e パッケージ名 パッケージをアンインストールする
--nodeps 依存関係を無視してアンインストールする

照会モード

オプション 説明
-q パッケージ名 指定したパッケージがインストールされているか照会する
-a (--all) インストール済みのすべてのパッケージを表示する
-f ファイル名 指定したファイルを含むパッケージ名を表示する
-p パッケージファイル名 対象としてパッケージファイルを指定する
-c (--configfiles) 設定ファイルのみを表示する
-d (--docfiles) ドキュメントのみを表示する
-i (--info) 指定したパッケージの情報を表示する
-l (--list) 指定したパッケージに含まれるファイルを表示する
-R (--requires) 指定したパッケージが依存しているファイル等を表示する
--changelog 変更履歴を表示する
パッケージのインストール
sudo rpm -i package_file.rpm

説明: 指定したパッケージをインストールします。

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

sudo rpm -U package_file.rpm

説明: パッケージをアップグレードします(なければインストールします)。

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

sudo rpm -e package_name

説明: 指定したパッケージをアンインストールします。

パッケージの情報表示

rpm -qi package_name

説明: 指定したパッケージの情報を表示します。

インストール済みパッケージの一覧表示

rpm -qa

説明: インストール済みのすべてのパッケージを表示します。

パッケージに含まれるファイルの一覧表示

rpm -ql package_name

説明: 指定したパッケージに含まれるファイルを表示します。

パッケージの依存関係確認

rpm -qR package_name

説明: 指定したパッケージが依存しているファイルを表示します。

ファイルがどのパッケージに属するかを検索

rpm -qf /path/to/file

説明: 指定したファイルを含むパッケージを表示します。

パッケージの変更履歴表示

rpm --changelog package_name

説明: 指定したパッケージの変更履歴を表示します。

パッケージの検証

rpm -V package_name

説明: 指定したパッケージの整合性を検証します。

yumコマンド

リポジトリからパッケージのインストール、アップデート、削除、検索を行うために使います。依存関係を自動で解決し、システムのパッケージ管理を効率的に行います。

表4-7 yumコマンドの主なオプション

サブコマンド 説明
check-update アップデート対象のパッケージリストを表示する
update [パッケージ名] 指定したパッケージをアップデートする
install パッケージ名 指定したパッケージをインストールする
remove パッケージ名 指定したパッケージをアンインストールする
info パッケージ名 指定したパッケージの情報を表示する
list 全パッケージ情報をリスト表示する
repolist リポジトリ一覧を表示する
search キーワード パッケージ情報をキーワードで検索する
search all キーワード パッケージ名および説明文をすべて検索する
groups list パッケージグループをリスト表示する
groups install グループ 指定したグループのパッケージをインストールする

パッケージリストの更新

sudo yum check-update

説明: アップデート対象のパッケージリストを表示します。

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

sudo yum install package_name

説明: 指定したパッケージをインストールします。

パッケージのアップデート

sudo yum update package_name

説明: 指定したパッケージをアップデートします。

パッケージの削除

sudo yum remove package_name

説明: 指定したパッケージをアンインストールします。

パッケージの情報表示

yum info package_name

説明: 指定したパッケージの情報を表示します。

全パッケージ情報のリスト表示

yum list

説明: 全パッケージ情報をリスト表示します。

リポジトリ一覧の表示

yum repolist

説明: リポジトリ一覧を表示します。

パッケージの検索

yum search キーワード

説明: パッケージ情報をキーワードで検索します。

パッケージグループのリスト表示

yum groups list

説明: パッケージグループをリスト表示します。

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

sudo yum groups install グループ

説明: 指定したグループのパッケージをインストールします。

0
0
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
0
0