パッケージとは?
実行プログラム、設定ファイル、ライブラリ、マニュアル、ドキュメントなどを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 グループ
説明: 指定したグループのパッケージをインストールします。