LoginSignup
1
1

More than 5 years have passed since last update.

APT ( Advanced Package Tool ) について

Last updated at Posted at 2018-09-19

以前から何の気なしに使っていた apt コマンド。
その外観を大まかに知ろうと調べた内容をまとめます。

1. APT とは

本記事のタイトルになっている APT ( Advanced Package Tool ) とは、 Debian 用に開発されたパッケージ管理システムです。APT によってバイナリパッケージの依存関係の解消やアプリケーションのアップデート等が容易に行なえます。

APT はパッケージのダウンロードやインストールを行う際にリポジトリを参照しますが、公式なリポジトリはファイル/etc/apt/sources.listに、非公式なリポジトリはディレクトリ/etc/apt/sources.list.d直下に格納されます。リポジトリについて、詳しくは 3. apt-line についてで触れます。

APT を利用するためのツールとして、aptapt-getaptitude 等が用意されていますが、以下でその違いについて触れます。

2. apt コマンド

Ubuntu でパッケージのインストールについて調べていると apt 以外にも apt-getaptitudeといったコマンドに出会った経験があるかと思います。

apt コマンドが登場したのは2014年4月1日にリリースされた apt 1.0 からであり、それ以前のバージョンでは、パッケージインストール等には apt-get 、パッケージ検索等には apt-cache が使われていました。apt 1.0 から登場した apt コマンドは、大まかには apt-getapt-cache の機能を併せ持ったコマンドです。Debian 管理者ハンドブックを見てみると aptapt-get が持っていた設計上のミスを克服しているそうで、Ubuntu 14.04 からは apt コマンドが推奨されているようです。

上述の apt 及び apt-get/cache は CUI で APT を使用するツールですが、aptitude は CUI だけでなく TUI でも APT を使用できます。CUI が苦手な人でも使えるよう開発されたのでしょうが、Ubuntu 16.04 からデフォルトでインストールされなくなったようです。

apt コマンドの用法に関しては以下の記事に詳しく載っています。

因みに、aptapt-getaptitude にはジョークコマンドが用意されているようですね。

試しに、次のコマンドを実行してみてください。気晴らしになるでしょうか。

$ apt moo; apt moo moo; apt moo moo moo

3. apt-line について

apt-line とはファイル /etc/apt/sources.list やディレクトリ /etc/apt/sources.list.d 直下のファイルに記されている次のような風体の行のことです。

deb http://us.archive.ubuntu.com/ubuntu xenial main restricted

1. APT とはで触れたように、APT はパッケージのインストールや更新時にリポジトリを参照しますが、そのリポジトリの設定文 ( 1行スタイル ) が apt-line ( 俗称? ) です。

前述の設定文を deb822 スタイルで表記すると次のようになります。

Types: deb
URIs: http://us.archive.ubuntu.com/ubuntu
Suites: xenial
Components: main restricted

Types はパッケージの形式、URIs はリポジトリの場所を表します。通常、Suits には codename やバージョン名を、Components には main 、contrib 、non-free のどれかを記述します。因みに、1行スタイルの設定文は拡張子が.listのファイルに書き込みますが、deb822スタイルの設定文は拡張子が.sourcesのファイルに書き込む必要があります。

リポジトリの設定について、詳しくは次のコマンドで確認することが出来ます。

$ man sources.list

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1