RPM
- RPM Package Managerの略(元々はRed Hat Package Managerの略だった)
- 主にRed Hat系のディストリビューションでソフトウェアのパッケージを管理するためのシステム
-
.rpm
形式のパッケージとその依存関係を管理している - 依存関係を自動的に解決したい場合は、YumやDNFを使用する
- YumやDNFも内部的にはRPMを使用している
- 公式サイト: https://rpm.org/index.html
Yum
- Yellowdog Updater Modifiedの略
- RPMのパッケージを管理するメタパッケージ管理システム
- Yellow Dog Linuxで利用されていたパッケージ管理システムであるYUPを全面的に書き換える形で誕生した
- Yellow Dog LinuxはPlayStation 3にも対応しているディストリビューションだった
- 以下のような理由からDNFへの置き換えが行われている
- メモリリークをはじめとしたバグにより、OSのパフォーマンスを低下させてしまう恐れがある
- ドキュメントが存在しない
- 依存関係アルゴリズムが壊れている
- Python2系にしか対応していない
- 複数のパッケージをひとまとまりにしたリポジトリという単位で管理しているため、インストールの際に手元にパッケージファイルを用意する必要がなく、パッケージ名さえ分かっていれば良い
- 有名なリポジトリだと
- EPOL
- Extra Package for Enterprise Linux
- RHEL向けの高品質なアドオンパッケージが揃っている
- Remi
- 最新のPHPを使用する際等に使用するリポジトリ
- EPOL
- 公式サイト: http://yum.baseurl.org/
DNF
- Dandified Yumの略
- Yumのフォーク
- Python3系に対応した他、Yumに存在した様々な問題を解消している
- コマンド体系はopenSUSEのパッケージ管理システムであるZypperを参考にしている
- 公式サイト: https://rpm-software-management.github.io/
dpkg
- Debian Packageの略
- 主にDebian系のディストリビューションでソフトウェアのパッケージを管理するためのシステム
-
.deb
形式のパッケージとその依存関係を管理している - 依存関係を自動的に解決したい場合は、apt-getやaptを使用する
- apt-getやaptも内部的にはdpkgを使用している
apt-get
- Advanced Packaging Tool
- dpkgのパッケージを管理するメタパッケージ管理システム
- 複数のパッケージをひとまとまりにしたリポジトリという単位で管理しているため、インストールの際に手元にパッケージファイルを用意する必要がなく、パッケージ名さえ分かっていれば良い
- 公式サイト: https://tracker.debian.org/pkg/apt
apt
- apt-getの拡張
- apt-getが抱えていた設計上のミスを克服している
Aptitude
- APTから派生して開発された
- よりインタラクティブで高度なことができる
Snappy
- カノニカル(Ubuntuを支援している企業)が開発しているパッケージ管理システム
- パッケージ毎の独立性が高く、多数のディストリビューションをまたいで利用できる作りになっている
- 公式サイト: https://snapcraft.io/
Homebrew
- Macでおなじみのパッケージ管理システム
- HomebrewからフォークしてLinuxbrewが開発されていたが、Homebrewにマージされた
- 公式サイト: https://brew.sh/index_ja