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

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

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する