3.5. Debian系のパッケージ管理
3.5.1. dpkgコマンドによるパッケージ管理
パッケージファイル名の構成
パッケージであるdebファイルは以下のような構成となる。
sample_1.2.3-1_i386.deb- sample … パッケージ名
- 1.2.3 … バージョン番号
- 1 … リビジョン番号
- i386 … CPUアーキテクチャ
コンフィグファイル(/etc/dpkg/dpkg.cfg)
dpkgのコンフィグファイルは/etc/dpkg/dpkg.cfgにある。
dpkgコマンド
dpkg -i <パッケージ名(.deb含む)>| オプション | 説明 | 
|---|---|
| -E | 同じバージョンがすでにインストールされている場合、インストールは行わない | 
| -G | 新バージョンがすでにインストールされている場合、インストールはしない | 
| -R | ディレクトリ構造を再帰的に処理する | 
| アクション | 説明 | 
|---|---|
| -i | パッケージをインストール | 
| -I | インストール済みの詳細情報を表示 | 
| -r | パッケージをアンインストール (設定ファイルは残す) | 
| -P | パッケージをアンインストール (設定ファイルを含めて完全に削除) | 
| -l | インストール済みパッケージを検索して表示 | 
| -L | パッケージからインストールされたファイルを一覧表示 | 
| -s | インストール済みのパッケージの詳細情報の表示 | 
| -S | 指定したファイルが、どのパッケージからインストールされたものかを調査 | 
| -c | パッケージに含まれるファイルの一覧表示 | 
| -C / –audit | パッケージのインストール状態を検査 | 
dpkg-reconfigureコマンド
dpkg-reconfigureコマンドは既にインストールされたdebパッケージの状態を再設定するもの。
3.5.2. apt-getコマンドによるパッケージ管理
apt-getコマンドはアプリケーションの依存関係を調整しながらパッケージのインストール、アップグレードを行うため依存解決までできる。
またインターネット経由で最新パッケージ取得する。
apt-getコマンド
apt-get <オプション> <パッケージ名>| apt-getコマンドのオプション | 説明 | 
|---|---|
| -d | インストールせずにダウンロードのみ行う | 
| -s | システムを変更せずに動作をシミュレートする | 
| –purge | 設定ファイルを含めてパッケージを削除する (removeコマンドと一緒に指定) | 
| clean | ダウンロードしたパッケージファイルを削除する | 
| dist-upgrade | Debianのシステムを最新にアップグレードする | 
| install | 指定したパッケージをインストール、またはアップグレードする | 
| remove | 指定したパッケージをアンインストール ( 設定ファイルは残す ) | 
| update | パッケージのリスト情報(データベース)を最新に更新する | 
| upgrade | システムの全パッケージを最新版にアップグレードする | 
| オプション | 説明 | 
|---|---|
| -c | 設定ファイルの指定(デフォルトでは /etc/apt/sources.list) | 
| -y | 全部yes | 
| -d | ダウンロードのみ | 
| -s | システムを変更せず動作をエミュレートする | 
| no-install-recommends | 必須ではないパッケージをインストールしない | 
| –resinstall | 最新版がインストールされていてもインストール | 
| clean | 取得したパッケージのローカルリポジトリを掃除する | 
| dist-upgrade | ディストリビューションをアップグレードする | 
| install | 新規パッケージをインストールする | 
| remove | パッケージが削除される(削除されたパッケージの設定ファイルは残る) | 
| purge | パッケージが削除かつ完全削除(設定ファイルも含む) | 
| update | 設定されたすべての取得元からパッケージ情報をダウンロードする | 
| upgrade | 現在インストール済みのすべてのパッケージで利用可能なアップグレードをインストールする | 
| full-upgrade | システムのメジャーバージョンを最新にアップグレードする( dist-upgradeと同じ) | 
| autoremove | 必要なくなったパッケージの削除 | 
パッケージの取得先(設定ファイル)
パッケージの取得先は/etc/apt/sources.list、/etc/apt/sources.list.d/*に保存される。
/etc/apt/sources.listの中身は以下のように表示される。
...
deb http://security.ubuntu.com/ubuntu bionic-security main restricted
# deb-src http://security.ubuntu.com/ubuntu artful-security main restricted
deb http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://security.ubuntu.com/ubuntu artful-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse
# deb-src http://security.ubuntu.com/ubuntu artful-security multiverseapt-cacheコマンド
apt-cache はインストール済みとインストール可能なパッケージの情報の照会と検索が可能なコマンド。
apt-cache| サブコマンド | 説明 | 使用例 | 
|---|---|---|
| search - 正規表現 | 正規表現パターンによってパッケージ一覧を検索 | apt-cache search apache2 | head -n 5 | 
| show | 一般的な情報を表示 | apt-cache show apache2 | head -n 20 | 
| showpkg <パッケージ名> | 詳細な情報を得る | apt-cache showpkg apache2 | 
| depends - <パッケージ名> | パッケージの生の依存情報を表示 | apt-cache depends apache2 | 
aptitudeコマンド
aptitudeコマンドはapt-getよりも高機能なコマンド。
apt-getとapt-cacheの機能をもつ。
aptコマンド
aptコマンドはapt-getの後発のコマンド。 主なオプションはapt-getと同じもの使える。
aptのリポジトリの登録
aptのリポジトリの登録はadd-apt-repositoryコマンドで可能。