読者です 読者をやめる 読者になる 読者になる

ksaitoの日記

日々試したことの覚え書き

Dockerコンテナでdebconfのdialogを使う

Dockerコンテナでdialogを使ってインタラクティブに設定をするための設定です。

コンテナからdebconf実行

特別何もしないとtextで入力を求められます。

sudo docker run -it --rm -e TZ=Asia/Tokyo -e LANG=ja_JP.UTF-8 ubuntu:16.10 bash
root@b1af411dee00:/mnt# dpkg-reconfigure debconf
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
Configuring debconf
-------------------

設定に debconf
を用いるパッケージは、共通のルック&フィールを用います。どの種類のユーザインターフェイスを用いるかを選んでください。

「ダイアログ」は全画面の文字ベースのインターフェイスです。「readline」はより伝統的なプレーンテキストのインターフェイスです�
��「gnome」と「kde」は近代的な X のインターフェイスで、それぞれのデスクトップに適しています (ほかの X
環境で利用することもできます)。「エディタ」を用いるとあなたの好きなテキストエディタを用いることができます。「非対話的」�
�選ぶとまったく質問をしなくなります。

  1. ダイアログ  2. Readline  3. Gnome  4. Kde  5. エディタ  6. 非対話的
利用するインターフェイス: 

whiptailをインストールして再実行

whiptailは、newtというテキストベースのウィンドウツールです。

これがないので、利用できるtextが選択されたのですね。

再実行するとおなじみのダイアログが表示されました。

root@b1af411dee00:/mnt# apt-get install whiptail
root@b1af411dee00:/mnt# dpkg-reconfigure debconf
  ┌────────────────────────────────────────────────────────────────────────────┤ Configuring debconf ├────────────────────────────────────────────────────────────────────────────┐  
  │ 設定に debconf                                                                                                                                                                │  
  │ を用いるパッケージは、共通のルック&フィールを用います。どの種類のユーザインターフェイスを用いるかを選んでください<E3>                                                        │  
  │ <80><82>                                                                                                                                                                      │  
  │                                                                                                                                                                               │  
  │ 「ダイアログ」は全画面の文字ベースのインターフェイスです。「readline」はより伝統的なプレーンテキストのインターフェイ<E3><82>                                                  │  
  │ <B9>です。「gnome」と「kde」は近代的な X のインターフェイスで、それぞれのデスクトップに適しています (ほかの X                                                                 │  
  │ 環境で利用することもできます)。「エディタ」を用いるとあなたの好きなテキストエディタを用いることができます。「非対話                                                           │  
  │ 的」を選ぶとまったく質問をしなくなります。                                                                                                                                    │  
  │                                                                                                                                                                               │  
  │ 利用するインターフェイス:                                                                                                                                                     │  
  │                                                                                                                                                                               │  
  │                                                                                  ダイアログ                                                                                   │  
  │                                                                                  Readline                                                                                     │  
  │                                                                                  Gnome                                                                                        │  
  │                                                                                  Kde                                                                                          │  
  │                                                                                  エディタ                                                                                     │  
  │                                                                                  非対話的                                                                                     │  
  │                                                                                                                                                                               │  
  │                                                                                                                                                                               │  
  │                                                     <了解>                                                       <取消>                                                       │  
  │                                                                                                                                                                               │  
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

後続のダイアログです。debconfは、ソフトウェアをパッケージして柔軟に設定/再設定をするための非常に優れた仕組みなので使わない手はないですね。

                   ┌──────────────────────────────────────────────────────────┤ Configuring debconf ├───────────────────────────────────────────────────────────┐                    
                   │ あなたが答えたい質問のうち、最低の優先度のものを選択してください。                                                                         │                    
                   │  - 「重要」は、ユーザが介在しないとシステムを破壊しかねないような項目用です。                                                              │                    
                   │    あなたが初心者か、あるいは急いでいるのであればこれを選んでください。                                                                    │                    
                   │  - 「高」は、適切なデフォルトの回答がないような項目用です。                                                                                │                    
                   │  - 「中」は、適切なデフォルトの回答があるような普通の項目用です。                                                                          │                    
                   │  - 「低」は、ほとんどの場合にデフォルトの回答でかまわないような、ささいな項目用です。                                                      │                    
                   │                                                                                                                                            │                    
                   │                                                                                                                                            │                    
                   │ 注意: ここで何を選択しても、以前に行った質問は dpkg-reconfigure プログラムを使用して表示できます。                                         │                    
                   │                                                                                                                                            │                    
                   │ より低い優先度の質問を無視:                                                                                                                │                    
                   │                                                                                                                                            │                    
                   │                                                                    重要                                                                    │                    
                   │                                                                    高                                                                      │                    
                   │                                                                    中                                                                      │                    
                   │                                                                    低                                                                      │                    
                   │                                                                                                                                            │                    
                   │                                                                                                                                            │                    
                   │                                         <了解>                                           <取消>                                            │                    
                   │                                                                                                                                            │                    
                   └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘