Shoeisha Technology Media

資格Zine(しかくジン)

記事種別から探す

「debian系」パッケージ管理ツールを使ったインストール

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 本連載では、LPICレベル1学習のポイントを解説しています。今回は前回引き続き「Linuxにソフトウェアをインストールする」作業に必要なコマンドの解説です。LPICレベル1では、基本的にRed Hat系ディストリビューションの理解でほとんどの問題に対応できますが、インストールコマンドに限ってはRed Hat系、Debian系で大きく異なり、試験でも双方について問われます。前回Red Hat系のインストールコマンドの話をしましたので、今回はDebian系のインストールコマンドを取り上げます。

Debian系ディストリビューションとUbuntu

 Debian自体は歴史のあるディストリビューションです。「Red Hat Enterprise」や「Cent OS」といったRed Hat系のディストリビューションとともに、サーバOSとしても多々使用されます。Debian系に属するディストリビューションはたくさんありますが、今回使用する「Ubuntu」は比較的新しいディストリビューションです。Ubuntuはユーザデスクトップ環境に注力しており、どちらかというとクライアントOSとして使われることが多いです。最近成長の著しい、Debian系の代表格です。

Red Hat系とDebian系のパッケージ管理ツールの違い

Red Hat系とDebian系で、インストール時のコマンドが異なるのはなぜでしょうか? それは、前回出てきたパッケージ管理ツールが異なるからです。Red Hat系で使用されていたパッケージ管理ツールは「RPM」でしたが、Debian系では「dpkg」が使われています。dpkgの扱いを簡便にするツールに「APT」(Advanced Packaging Tool)があります。RPMの操作を簡単にするツールとして「YUM」がありましたが、その関係と似ています。

Red Hat系とDebian系のパッケージ管理ツールを比較してみると、次表のようになります。

ディストリビューション Red Hat系 Debian系
パッケージ管理ツールとそのコマンド RPM(rpmコマンド) dpkg(dpkgコマンド)
パッケージ管理ツールを簡単に扱うためのツールとそのコマンド YUM(yumコマンド) APT(apt-getコマンド、aptitudeコマンド)

このことを頭に留めておくと、それぞれのツール/コマンドがごちゃごちゃにならなくて済みます。

ちなみに、Debian系でもパッケージ管理ツールを使わず、ソースコードからインストールすることはもちろん可能です。ソースコードからインストールする手順を学習したい方は前回で説明していますので、そちらをご覧ください。

dpkgコマンドによるインストール済みパッケージの確認と削除

それではまず、dpkgの使い方を見ていきましょう。今回も「CUPS」という印刷システムパッケージ(以下、単にCUPSと呼びます)をインストールしながら説明を進めます。

最初に次のコマンドで、CUPSがインストール済みであるかどうかを確認します。

# dpkg -l cups
……省略……
||/ 名前                               バージョン             アーキテクチャ         説明
+++-==================================-======================-======================-=========================================================================
ii  cups                               1.7.2-0ubuntu1.7       i386                   Common UNIX Printing System(tm) - PPD/driver support, web interface

dpkg -l cupsの「cups」を別のパッケージ名にすると、そのパッケージがインストールされているかどうかを確認できます。パッケージ名を指定しないと、全てのパッケージの状況が表示されます。

# dpkg -l

また、dpkg -l cupsでも出力される結果の行数が多すぎるので、grepコマンドで絞り込むとよいでしょう。

# dpkg -l | grep cups
ii  bluez-cups       4.101-0ubuntu13.1  i386  Bluetooth printer driver for CUPS
ii  cups                 1.7.2-0ubuntu1.7     i386  Common UNIX Printing System(tm) - PPD/driver support, web interface
ii  cups-browsed  1.0.52-0ubuntu1.7   i386  OpenPrinting CUPS Filters - cups-browsed
……以下略……

「cups」という文字列を含むパッケージが全て表示されますが、CUPS本体は2行目の「cups……」です。

結果の先頭にある2文字は、パッケージの状態(1文字目が実行しようとしている(いた)内容、2文字目が現在の状態)を意味します。それぞれの文字には以下のような意味があります。

1文字目 意味
U 不明(unknown)
I インストール(install)
R 削除(remove)
P 完全削除(purge)
H 保持(hold)
2文字目 意味
N 無(not-installed)
I インストール済み(installed)
C 設定(config file)
U 展開(unpacked)
F 設定失敗(failed)
H 半インストール(half installed)
W トリガ待ち(wait)
T トリガ保留(trigger)

dpkg -l cupsの結果を見ると、先頭が「ii」となっています。ここから、「インストールを実行していて、ちゃんとインストールがされている」状態、要はCUPSはすでにインストールされているということが分かります。

今回はインストールするコマンドを実行したいので、先にCUPSをアンインストールしましょう。アンインストールする際にはdpkgコマンドでオプションr(remove)を使用します。rpmコマンドのオプションe(erase)とは異なるので注意しましょう。

# dpkg -r cups

この結果はどうなるでしょうか? rpmコマンドの場合を思い出してみてください。依存関係のエラーが表示されていました。dpkgコマンドの場合も同様です。次のようなエラーが表示されます。

dpkg: 依存関係の問題により、cups の削除ができません:
 hplip は以下に依存 (depends) します: cups (>= 1.1.20).
 printer-driver-splix は以下に依存 (depends) します: cups (>= 1.5.0-3~).
……以下略……

このようにRPMと同様、dpkgでも依存関係を保ったパッケージの操作はできません。RPMの場合、この依存性の管理を「YUM」というツールに任せることで、パッケージ管理を簡単に行えるようになりました。dpkgにも、RPMにとってのYUMに相当するツールがあります。APTです。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:Linuxを知らない人のためのLPICレベル1【101試験】入門
All contents copyright © 2015-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.0