ユーザ用ツール

サイト用ツール


linux:debian:buster:dpkg

dpkgコマンド

パッケージインストール

$ sudo dpkg -i packagefile.deb

パッケージの展開

$ sudo dpkg --unpack packagefile.deb

展開はするが構成はしない.-R オプションと複数のパッケージの格納されたディレクトリを指定するとディレクトリ以下のパッケージを導入する.

パッケージの構成を行う

$ sudo dpkg --configure packagename

一度構成されたパッケージを再構成する場合はこれではなく dpkg-reconfigure(8) を利用する

導入済みパッケージ名を検索

$ dpkg -l 検索パターン

検索パターンを指定しないと導入済みパッケージが全て表示される

パッケージのファイル一覧を確認

$ dpkg -L packagename

確認できるのは導入済みパッケージのみ

パッケージファイルに格納されているファイル一覧を確認

$ dpkg -c packagefile.deb

ファイルがどのパッケージに含まれているか探す

$ dpkg -S filename

パッケージの状態確認

$ dpkg -status packagename

システムに導入されているパッケージの一覧を取得する

$ dpkg --get-selections '*'

この結果を新しいシステムで dpkg --set-selections で一括導入できる. 但し,新しいシステムのリポジトリに存在しないパッケージ(個別にダウンロードしてインストールしたパッケージや,自分でcheckinstallなどで導入したパッケージ等)が含まれていた場合失敗してしまう.

標準リポジトリのものだけを抜き出す例.これと両方とっておくと良さそう.

dpkg --get-selections '*' \
  | while read line; do
    apt-cache policy $(echo "$line" | cut -f1 ) \
      | grep -q 'http://' \
      && echo "$line"
done

参考URL

dpkg --get-selectionsで書き出したパッケージ一覧を使い同じパッケージを新しいシステムに導入する

dpkg --get-selections で書き出したファイルをリダイレクトする.以下の例ではpackages.log

$ sudo dpkg --set-selections < packages.log

実際のインストール処理

$ sudo apt-get dselect-upgrade

パッケージのアーキテクチャの確認

$ dpkg --print-architecture
amd64

標準のものだけで追加したアーキテクチャは表示されない.

追加したパッケージのアーキテクチャの確認

$ dpkg --print-foreign-architectures
i386
armhf
arm64

追加したものだけで標準のアーキテクチャは表示されない

アーキテクチャの追加

$ sudo dpkg --add-architecture i386

コメント

コメントを入力. Wiki文法が有効です:
193 -9​ = 
 
linux/debian/buster/dpkg.txt · 最終更新: 2019/10/17 18:13 by matoken