dpkg-reconfigure完全ガイド: locale再設定からdebconfパッケージ一覧まで

はじめに

Debian/Ubuntuでlocaleを再設定する場合は、dpkg-reconfigureコマンドを使う。 ここでは dpkg-reconfigureについてのおさらいと、具体的にlocaleを再設定する方法について述べる。

dpkg-reconfigure コマンドとは

dpkg-reconfigure は、Debian系Linux(Debian、Ubuntu)で 既にインストール済みのパッケージの設定を再度やり直す ためのコマンド。 初回インストール時の設定ウィザードを再度呼び出すイメージだ。

基本的な役割

  • 再設定: 初回インストール時と同じ質問(設定項目)を再び表示して、値を変更できる。
  • 設定ファイルの再生成: 間違った設定をやり直したり、再設定できる。
  • 対話的設定ツール(debconf)の再実行: Debian系は debconf という仕組みで設定を管理している。これをもう一度呼び出すのが dpkg-reconfigure

基本構文

sudo dpkg-reconfigure [オプション] パッケージ名

例:

sudo dpkg-reconfigure tzdata

→ タイムゾーン設定画面が再び表示される。

よく使うオプション

オプション説明
-f または --frontend対話形式の方法を指定(例: dialog, noninteractive
-p または --priority表示する質問の重要度レベルを指定(low, medium, high, critical

例:

sudo dpkg-reconfigure -f noninteractive tzdata

→ 対話なしでデフォルト設定を再適用。

実用例

  1. ロケールの再設定
   sudo dpkg-reconfigure locales

→ 言語と文字コードの設定を再選択。

  1. キーボードレイアウトの変更
   sudo dpkg-reconfigure keyboard-configuration
  1. Postfix の設定をやり直す
   sudo dpkg-reconfigure postfix

注意点

  • apt や dpkg -i ではなく、既存パッケージの再設定に使うコマンド。
  • 設定の質問が出ない場合は、そのパッケージが debconf を使っていない可能性がある。
  • --frontend noninteractive を付けると質問がスキップされるので、スクリプトや自動化に便利。

debconfで管理されているパッケージの情報を取り出すには

個々のパッケージのdebconf設定項目の表示

debconf-show パッケージ名
  • 特定のパッケージに関する debconf 設定項目を表示する。
  • 例:
  sudo debconf-show tzdata

tzdata のタイムゾーン設定などが表示される。

debconfで管理されている全パッケージの一覧を表示

sudo debconf-get-selections
  • すべてのパッケージの debconf 設定を一覧表示する。
  • 出力例(抜粋):
  tzdata   tzdata/Zones/Asia  select  Tokyo
  postfix  postfix/main_mailer_type  select  Internet Site
  locales  locales/default_environment_locale  select  en_US.UTF-8

debconfで管理されているパッケージの一覧を表示

debconf-get-selections の出力からパッケージ名だけを取り出す。

sudo debconf-get-selections | awk '{print $1}' | sort -u
  • awk で1列目(パッケージ名)を取り出し、sort -u で重複を削除。
  • これで「debconf に登録されているパッケージ名だけの一覧」が得られる。
  • ただし、これは過去インストールしたパッケージ(削除しても)が全て表示される。

インストール済みパッケージに絞る

もし「debconf に登録されていて、なおかつインストール済みのパッケージ」に絞りたい場合は:

comm -12 \
  <(dpkg --get-selections | awk '$2 == "install" {print $1}' | sort) \
  <(sudo debconf-get-selections | awk '{print $1}' | sort -u)

dpkg --get-selections でインストール済みパッケージを取得。

debconf 登録パッケージ一覧とcomm -12で突き合わせ。(共通のものを取り出す)

dpkg-reconfigureコマンドによるlocale設定

では、具体的にdpkg-reconfigureコマンドでlocaleを(再)設定してみよう。

localeパッケージをインストールしてある前提。

sudo dpkg-reconfigure locale

とすると、下のような画面になる。

欲しいlocaleにチェック(スペースキーを押す)を入れてOKする。