APT
apt-get コマンド | |
開発元 | APT Development Team |
---|---|
初版 | 1998年3月31日 |
最新版 |
1.0.9.8.1
/ 2015年6月10日 |
最新評価版 |
1.0.10.2
/ 2015年8月21日 |
リポジトリ | |
対応OS | Linux、FreeBSD、GNU Hurd |
プラットフォーム | Debian他 |
ライセンス | GPLv2+ |
公式サイト | APT - Debian Wiki |
APT (Advanced Packaging Tool) は、Debian用に開発されたパッケージ管理システムである。dpkgのフロントエンドとして動作するように設計されたが、現在はRPMに対応するように移植されたapt-rpmもある。
コンパイル済みのソフトウェアを管理する機能に加え、ソースコードからソフトウェアをコンパイルする際の依存関係を解決する機能も備えている。
機能
APTでは、コンパイル済みパッケージ(バイナリパッケージと呼ぶ)同士の関係を主に下の4つにわけて管理する。これらの関係を用いて、目的のパッケージをインストールするために必要なパッケージもしくは削除する必要があるパッケージを自動計算する。
- 依存 - パッケージを導入するのに欠かすことのできないパッケージ。
- 推奨 - 無くてもよいが、プログラムの機能を利用するために通常は導入するパッケージ。
- 提案 - 無くてもよいが、導入することによってプログラムの機能を向上させるパッケージ。
- 衝突 - パッケージを導入することで、同一の機能を有するなどの理由で削除されるパッケージ。
代表的なコマンドは次のとおり。
追加・ダウンロード
新しいソフトウェアのインストール(root権限が必要)
apt-get install パッケージ名 [ Enter ]
ソースパッケージのダウンロード
apt-get source パッケージ名 [ Enter ]
ソースパッケージをコンパイルする為に必要なパッケージのインストール(root権限が必要)
apt-get build-dep パッケージ名 [ Enter ]
更新
リポジトリの更新(root権限が必要)
apt-get update [ Enter ]
インストール済みのソフトウェアの更新(root権限が必要)
apt-get upgrade [ Enter ]
ディストリビューションのアップグレード(root権限が必要)
apt-get dist-upgrade [ Enter ]
またこれらapt-getコマンドを使用すると、システムに必要なパッケージが存在しない場合、その不足している依存性パッケージを自動的に判別し、そのパッケージも同時にインストールしてくれる。dist-upgradeを指定した場合、更新可能なすべてのパッケージに対して依存関係を解析し、重要なアップデートを更新するが、依存関係の問題から重要でないパッケージは削除される場合もある。
検索・情報表示
パッケージの検索
apt-cache search 検索キーワード [ Enter ]
特定パッケージの情報表示
apt-cache show パッケージ名 [ Enter ]
削除
特定パッケージの削除(root権限が必要)
apt-get remove パッケージ名 [ Enter ]
特定パッケージの設定ファイルを含めた削除(root権限が必要)
apt-get purge パッケージ名 [ Enter ]
不要なパッケージの自動削除(依存されていないライブラリ等)(root権限が必要)
apt-get autoremove [ Enter ]
Debian系もRPM系も設定ファイル(大抵は/etc/apt/sources.list)を書き換えることでダウンロード先の変更・パッケージリストの指定変更が可能である。Debian GNU/LinuxやVine Linuxをはじめ、この設定の変更でディストリビューションのバージョンアップを行うことができるディストリビューションも存在する。
またSynapticと同様に、パッケージのリポジトリを変更しやすくするためのGUIフロントエンドも存在する。
フロントエンド
CUIで動作するフロントエンドとしてaptitudeがある。またDebian系、RPM系とも Synaptic というGUIフロントエンドが存在する。
イースターエッグ
apt-getには隠し機能があり、aptitudeの隠し機能と対になっている。("\"は円記号ではなくバックスラッシュである)
$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"...