LinuxのDebian系パッケージ管理 apt系コマンドの使い方

linux aptコマンド
  • このエントリーをはてなブックマークに追加
  • Pocket

aptとはLinuxDebian系のパッケージ管理システムだ。dpkgをより簡単に管理するイメージだと思って貰えばいいだろう。

このページではaptについてそもそも何かということや、コマンドについて解説を行っている。参考にしてほしい。

aptとは

もともとLinuxは「tar.gz」という感じで圧縮されたソースコードをもってきて、コンパイルすることが当たり前だった。

しかし、ソフトウェアがアップデートするたびにコンパイルしたり、整合性を取ったりするのは非常に苦い。オープンソースはアップデートが多いし、なおさらだ。

Debianの開発者たちは迅速にソフトウェアを管理するパッケージ管理システムが必要なことに気がつき、「dpkg」をつくりあげた。

これがDebianにおけるパッケージの始まりで、そのdpkgを管理するために「apt」が開発された。aptとは「Advanced Packaging Tool」の略である。Debianのパッケージ管理システムとして開発されたものである。

当初主に「debパッケージ」を管理するために開発されたものだが、現在一部のディストリビューションではAPTでRPMを管理する「apt-rpm」というものも存在する。現に国産ディストリビューションである「VineLinux」ではapt-rpmでrpmが管理されている。

aptは立ち位置としてRedHatなどでいうyumやdnfと同じである。個別のパッケージを統合管理するパッケージマネージャである。

aptとaptitube

Debianは現在パッケージ管理に二つのフロントエンドが存在する。

「apt」と「aptitube」だ。aptとaptitubeどちらを使用してもパッケージを管理できる。aptitubeの方が後に開発されたものだ。

しかしapt-getやapt-cacheが使用できなくなるというわけではない。aptitubeはapt-getなどのコマンドより多機能である。引数を指定せずにaptitubeを起動すると、対話的なCUIインターフェイスでパッケージを管理できる。

またapt-getのようにオプションを指定してインストール、アンインストールなどの作業も可能となっている。

Debianの公式リファレンス

ここでは「安定版システムにおいて、新システムへのアップグレードにaptitude コマンドを使用することは推薦しない」といった趣旨の文章とともにaptとaptitubeの違いにも触れている。

apt-getおよび、apt-cacheは「APTを使う最も基本的なパッケージ管理ツール」であり、aptitubeは「多芸なAPTを使うパッケージ管理ツール」とされている。現在この二つのコマンドはケースバイケースで使い分けることになりそうである。

aptによるパッケージ管理

キャッシュデータベースのアップデート

# apt-get update

実際に新しいパッケージをアップデート

# apt-get upgrade

新しい環境へアップグレード、バージョンを上げる際に使用するコマンドである。

# apt-get dist-upgrade

パッケージをインストール

# apt-get install <パッケージ名>

設定ファイルをそのままにパッケージを削除

# apt-get remove <パッケージ名>

パッケージを完全に削除する

# apt-get purge <パッケージ名>

そのパッケージをビルドするために必要なパッケージをすべてインストールする

# apt-get build-dep <パッケージ名>

パッケージのソース一式、debian独自のパッチなども一緒にダウンロードする

$ apt-get source <パッケージ名>

パッケージを検索する

$ apt-cache search <パッケージ名>

apt-cache search

パッケージの情報を表示

$ apt-cache show <パッケージ名>

apt-cache show

aptitubeを使用してみる

CUI上で対話的インターフェイスを起動

# aptitude

最初に把握しておくべきステータスの表示について記述しておこう。パッケージの頭に表示されるのはパッケージがいまどのような状態なのかを表している。

1文字目:状態

  • p インストールされてない
  • i インストール済み
  • c インストールされていないが設定ファイルなどが残っている。
  • v 仮想パッケージ、実パッケージが存在しないパッケージ、依存関係を柔軟に設定するために用意されている。

2文字目:動作

  • i インストール
  • d パッケージを削除
  • p パッケージおよび設定を削除

3文字目:

  • A システムにより自動インストールされたもの

ザックリとした使用方法

aptitudeに何も引数を与えずに起動すると対話的なCUI画面が表示される。

aptitube1

キャッシュデータベースの状態を最新の状態に保つため立ち上げたら「u」を押す、するとデータベースの更新が行われる。

パッケージを探すときは「/」または「l」を押す。「/」で検索。「l」を実行した場合項目が搾れる。

aptitube search

aptitube3

試しに「unzip」を削除してみる。項目に合わせて「-」を押すと削除のマークが押される。

aptitube6

次に「g」を押す。削除や導入といったマークが入ったもの、すべての動作が確認のあと、確定する。

aptitube7

「g」を押して続行。「Return」を求められるので「Enter」で確定。

同様の手順で「unzip」を戻してみる。

リストを絞り。「unzip」を見つける。「+」を押すとインストールのマークが押される。

aptitube4

あとは「g」で確定していけば問題なく導入されるはずだ。

パッケージの詳細情報を表示するときは項目に合わせてEnterを押せばよい。

aptitube5

「unzip 情報」というタブが出来上がり情報が表示されるはずだ。タブを閉じるときは「q」を押せばよい。

すべてのタブを「q」で閉じれば終了となる。

コマンドでaptitubeを使用してみる

以下ほぼapt-get apt-cacheとほぼ同等の動きをする。

キャッシュアップデート

# aptitude update

パッケージを最新に

# aptitude safe-upgrade

パッケージインストール

# aptitude install <パッケージ名>

パッケージ削除

# aptitude remove <パッケージ名>

パッケージ完全削除

# aptitude purge <パッケージ名>

ビルド依存関係をインストール

# aptitude build-dep <パッケージ名>

パッケージをダウンロード

$ aptitude download <パッケージ名>

パッケージ検索

$ aptitude search <パッケージ名>

aptitube search

パッケージ情報表示

$ aptitude show <パッケージ名>

aptitube show unzip

リポジトリを追加する

基本的に「sources.list」リポジトリの先が記述されている、リポジトリを追加したい場合このファイルを編集する。

# vi /etc/apt/sources.list

source-list

今回「non-free」リポジトリを追加する。「non-free」リポジトリはGPGキーリングの操作は必要ない。今回はapt-get updateしてもエラーは出ないはずだ。

もし本当に非公式なリポジトリを使用する場合、GPGキーリングの取り込みをしないとapt-getの時点でエラーや警告が表示される。その場合リポジトリのWebページなどに記載されているキーリングの取り込みを行うこと。

なお「jessie」の部分は各自Debianのバージョンに合わせて変更すること。ちなみにDebianはトイストーリーに出てくるおもちゃの名前からコードネームがつけられる。開発版は常に「sid」である。

deb http://ftp.de.debian.org/debian jessie main non-free

source-list-nonfree

リポジトリを追加した後はキャッシュの更新を行う。のちにそのリポジトリの中に現状より新しいパッケージがないか確認する。

# apt-get update

# apt-get upgrade

まとめ

このページではLinuxのdebian系パッケージ管理に使われるapt系コマンドについてお伝えをしてきた。

はじめは戸惑う部分もあるかと思うが、慣れれば使い方は難しくない。ぜひマスターして、自然に使えるようにしておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*