インタラクティブなプロンプトで個々のDebian 8パッケージを自動的にインストールします。

インタラクティブなプロンプトで個々のDebian 8パッケージを自動的にインストールします。

bashスクリプトを使っていくつかのパッケージのインストールを自動化したいと思います。既存のchrootファイルシステムにインストールされます。ただし、一部のパッケージには、簡単に自動化できない対話型ユーザー入力(ddclientを使用するには動的DNSサービスプロバイダを選択する必要があります)が含まれています。

debconfプリセットは、インタラクティブパッケージのインストールを自動化する最も一般的な方法のようですが、私が読んだすべての例は、個々のパッケージだけでなく完全なDebianインストールでも機能することを示しています。

私はこれに従いました対話型 Debian パッケージのインストールを自動化する方法しかし、具体的には説明しません。

よろしくお願いします!

ベストアンサー1

プロビジョニングは、AnsibleやSaltなどの「適切な」展開および設定管理ツールを使用せずにdebconfDebianパッケージを事前設定するのに十分です。これはインストール全体に限定されず、必要な数のパッケージに適用できます。

始める最も簡単な方法は、インストールするパッケージをインストールし、質問に答えて手動で設定することです。次にdebconf-get-selections(パッケージで)実行すると、インストールしたばかりのdebconf-utilsパッケージの設定を含む、保存されているすべての設定とコメントの質問テキストが一覧表示され、プロビジョニングしたい質問を簡単に見つけることができます。形式は

<package> <debconf key> <type> <value>

例えば

# System's default paper size:
# Choices: letter, a4, note, legal, executive, halfletter, halfexecutive, 11x17, statement, folio, quarto, 10x14, ledger, tabloid, a0, a1, a2, a3, a5, a6, a7, a8, a9, a10, b0, b1, b2, b3, b4, b5, c5, DL, Comm10, Monarch, archE, archD, archC, archB, archA, flsa, flse, csheet, dsheet, esheet
libpaper1       libpaper/defaultpaper   select  a4

プリセットしたい設定をファイルに保存し、最初の引数と呼ばれるローカルで利用可能なファイルを使用するか、その内容をパイピングしてターゲットシステムdebconf-set-selectionsdebconfパッケージ)で実行します。

cat preseed-file | ssh remotehost debconf-set-selections

これを行う今後ターゲットシステムにパッケージをインストールします。

おすすめ記事