debファイルを扱うdpkgコマンドの使い方を簡単解説

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

dpkgコマンドはdebian系のパッケージを管理するためのコマンドだ。Redhat系のrpmに相当する。

このページではdpkgコマンドについて使い方をご紹介していこう。

dpkgコマンドとは?

「dpkg」とはdebianのパッケージである「deb」ファイルを取り扱うコマンドである。名前の由来は「Debian Package」の略とされている。

Debianのパッケージ管理システムは他のディストリビューションに比べて最も高度な部類だ。

dpkg単体でもパッケージのインストールやアンインストールは一応に可能だが、実際にはパッケージの操作及び統合管理は「apt」系のコマンド「apt-get」や「aptitude」などで行なわれる。これにより依存関係の解決が行われ、必要なパッケージが自動的に導入される。

つまりdpkgはdebファイルを使用するときの基礎コマンドであり、丁度Redhat系列でいうところの「rpm」コマンドに相当する。rpmパッケージと比較するとdebパッケージは少々複雑な作りをしている。

基礎的なオプションがRPMと比べるといくらか多いが、それだけ厳格に管理できる証だろう。

debパッケージ

名前の規則

以下のようにパッケージがある。パッケージには名前の付け方に規則性がある。例えば

unzip_6.0-16+deb8u2_amd64.deb

unzipパッケージを例に挙げる。各項目は以下のとおりだ。

  • unzip:パッケージネーム
  • 6.0:バージョン番号
  • 16+deb8u2:リビジョン番号
  • amd64:アーキテクチャ
  • deb:拡張子

dpkgコマンド

dpkgを使用するとdebパッケージを操作できる。

オプションの数だけでいえばrpmよりも若干複雑でありパワフルである。なおソースから自分でアプリケーションをビルドして使用するのも手段の一つだが、依存関係やアンインストールが雑になりがちである。

debianの場合パッケージ数は膨大であり、大概のアプリケーションはそろっているはずだ。特に事情がないかぎりdebianのパッケージを利用するようにしよう。

dpkgの主要なアクション

全てではないが主要なアクションを紹介する。パッケージの削除とインストール、主にシステム全体に変更を加える動作以外は、一般ユーザでも実行可能となっている。

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

# dpkg -i <アーカイブ名>

パッケージを削除する。

# dpkg -r <パッケージ名>

パッケージを設定ファイル含め完全に削除する。

# dpkg -P <パッケージ名>

パターンにマッチするパッケージを一覧表示、なにも指定しないとインストールされているパッケージ一覧が表示される。

$ dpkg -l もしくはパターン

dpkg -l

パターンを指定した場合、以下のようになる。

dpkg -l_p

パッケージの情報を表示

$ dpkg -p <パッケージ名>       

dpkg -p

システムにパッケージによってインストールされたファイル一覧を表示する。

$ dpkg -L <パッケージ名>

dpkg -L_L

debアーカイブの情報を参照する。

$ dpkg -I <アーカイブ名>

dpkg -I

debアーカイブの中身のファイルを表示する。

$ dpkg -c <アーカイブ名>

dpkg -c

指定した文字列がマッチするファイルを含んだパッケージを表示する

$ dpkg -S 文字列

dpkg -S

dpkgの主な基本オプション

上記にあるアクションだけで大体のことはこなせるがその他付属できるオプションが幾つかあるので紹介する。

古いバージョンのパッケージでも強制的にインストールを行なう。

--force-downgrade

古いバージョンのパッケージのインストールを強制的に拒否する。

--no-force-downgrade

依存関係を無視して実行。

--force-depends

依存関係を評価するときにバージョン関係は無視する。

--force-depends-version

他のパッケージと競合してもインストール強制実行する。

--force-conflicts        

制御ファイルのチェックをしない。

--nocheck

実際にはインストールを行わず確認のみを行う。

--no-act

システムにインストール済みのパッケージが新しい場合はインストールをしない。

-G

同バージョンがインストール済みの場合は,再インストールしない。

-E

アクションとショートオプションは同時に指定できる。例えば

# dpkg -iE bash_4.3-11+b1_amd64.deb

dpkg -iE

とすると既にbash_4.3-11+b1_amd64.debがインストールされている場合操作がスキップされる。

dpkg-reconfigureについて

dpkg-reconfigureを使用すると、既にインストールされたdebパッケージの状態を再設定できる。設定の初期化などもこのコマンドで可能だ

# dpkg-reconfigure apache2

などとする。forceオプションを設定すると、多少設定状態が破損している場合でも強制実行することが出来る

# dpkg-reconfigure --force apach

まとめ

dpkgコマンドは、少々使い勝手が悪い部分もあり、できる限りapt系コマンドを使いたいところだ。しかし、すべてにおいてaptが使えるわけではなく、dpkgコマンドが活躍する場面もあるだろう。一通りの使い方は押さえておこう。

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

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

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

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

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

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

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

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


資料を見てみる

SNSでもご購読できます。

コメントを残す

*