そもそもパッケージとは?
以下などを1つのファイルにまとめたものです。
- 実行プログラム
- 設定ファイル
- ドキュメント ...etc
このパッケージを管理する方法はディストリビューションによって異なります。
ディストリビューション種類 | パッケージ管理形式 | コマンド/ツール |
---|---|---|
Debian GNU/Linux | Debian形式 | dpkg コマンド、 APTツール |
Red Hat Enterprise Linux | PRM形式 | rpm コマンド |
パッケージ管理システムは以下について管理します。
- どのパッケージがインストールされているか把握
- パッケージの依存関係の解決
- パッケージ同士の競合を発生させないインストール・アンインストール
パッケージ管理システムでコンパイル済みのバイナリパッケージを扱う場合はソースコードからのインストールとは異なり、動作環境に依存するようになります。
そのため、以下について適切なものを選択する必要があります。
- ディストリビューション
- CPUアーキテクチャ ...etc
Debian系
dpkg コマンドでのパッケージ管理
Debian形式(deb形式)のパッケージの書式はこのようになっています。
例
tree_1.6.0-1_i386.deb
セクション | 説明 |
---|---|
tree | パッケージ名称 |
1.6.0 | バージョン |
1 | Debianリビジョン番号 |
i386 | CPUアーキテクチャ |
.deb | 拡張子 |
インストール
例 apache2
dpkg -i apache2_2.4.29-1ubuntu4.5_amd64.deb
アンインストール
例 apache2
dpkg --purge apache2
apt-get コマンドでのパッケージ管理
apt-get
コマンドは APT(Advanced Packaging Tool) というパッケージ管理ツールに含まれるコマンドです。
特徴としては インターネット経由で最新パッケージの入手、インストール、依存関係の解決までできる ことがあげられます。
初めに sources.list にパッケージ管理サイトのURLを指定
apt-get
での管理を始めるには、まず /etc/apt/sources.list
にパッケージ管理サイトのURLを指定します。
deb http://hogehoge bionic main restricted deb-src http://hogehoge bionic main restricted ...
セクション | 説明 |
---|---|
deb | deb (debパッケージを取得) or deb-src (ソースコードを取得) |
http://hgoehgoe | 取得先URL |
bionic | バージョン名 |
main restricted | 後述 |
main restricted などについて
項目 | 説明 |
---|---|
main | 公式にサポートされているもの |
universe | コミュニティによってメンテナンスされるソフトウェア |
restricted | デバイス用の proprietary なドライバ |
multiverse | 著作権 or 法的な問題によって制限されたソフトウェア |
contrib | フリーでは無い依存関係のあるソフトウェア |
non-free | 利用と改変再配布に制限のあるソフトウェア |
最新パッケージ情報を取得
apt-get update
インストール
apt-get install apache2
設定が必要な箇所があれば質問されます。また、 dpkg-reconfigure
コマンドで後日再設定することもできます。
アンインストール
apt-get remove apache2
システムを一括して最新にする
apt-get dist-upgrade
このコマンドではシステムを最新にするにあたり、既存パッケージを削除する場合があります。
削除を伴わないパッケージのみアップグレードをする場合は apt-get upgrade
コマンドを使うようにしてください。
apt-get upgrade
apt-cache コマンド
パッケージ情報を照会・検索する場合に使用するコマンドです。パッケージは実際にインストールされていなくても大丈夫です。
apt-cache search apache2
apt-cache show apache2
最近の主要コマンド apt
apt
コマンドは apt-get
と apt-cache
を合わせたようなコマンドで、こちらの利用が推奨されています。
パッケージリスト更新
apt update
システムのアップグレード(質問には自動的に Yes と答える)
apt -Y upgrade
インストール
apt install emacs
アンインストール
apt remove emacs
不必要なパッケージの削除
過去にパッケージの依存関係を保つためにインストールされた、今はもう不要なパッケージを削除します。
apt autoremove