ブログ

x1-debian-builder: apt-getでインストールされる設定ファイルの変更方法について

at_yuma.arakawa
2017年3月30日 19時29分

x1-debian-builderを使用してルートファイルシステムアーカイブを作成する際、apt-getでインストールするパッケージは、
x1-debian-builder-[VERSION]/[製品名]_resources/resources/packages
にパッケージ名を追加します。

パッケージに設定ファイルが含まれる場合、この設定ファイルがルートファイルシステムアーカイブに組み込まれることになります。
しかし、ルートファイルシステムアーカイブには任意に変更した設定ファイルを含めたい場合があります。

そこで本記事ではlighttpdを例に、変更した設定ファイルを含むルートファイルシステムアーカイブの作成方法を紹介します。


結論としては、変更後の設定ファイルを以下の場所へ配置するだけです。
(lighttpdは全ての製品のpackagesファイルに元から記載されているため、packagesへ追加する必要はありません。)

  • x1-debian-builder-[VERSION]/[製品名]_resources/

ただし、その際、配置するディレクトリ構造を用意する必要があります。

例えば、lighttpdの設定ファイルである

  • /etc/lighttpd/lighttpd.conf

を変更したい場合、変更後のlighttpd.confファイルを

  • x1-debian-builder-[VERSION]/[製品名]_resources/etc/lighttpd/lighttpd.conf

へ配置します。

※ x1-debian-builder-[VERSION]/[製品名]_resources/ 以下のファイルは、resourcesディレクトリを除く全てのファイルがディレクトリ構造ごとルートファイルシステムアーカイブへ組み込まれます。
例えば、x1-debian-builder-[VERSION]/[製品名]_resources/bin/hoge というファイルを配置した場合、ルートファイルシステムアーカイブには/bin/hogeとして組み込まれます。


packagesファイルへの追記や[製品名]_resourcesディレクトリへのファイル配置の完了後、
以下のコマンドを実行することで、ルートファイルシステムアーカイブを作成できます。

[ATDE]$ sudo ./build.sh [製品名]

なお、"[製品名]"に指定するパラメータは以下のとおりです。

製品指定するパラメータ
Armadillo-IoT G3aiotg3
Armadillo-IoT G3Laiotg3l
Armadillo-X1ax1

build.sh実行中、以下の質問が現れますので、"N"を選択して下さい。 apt-getでインストールするパッケージに[製品名]_resourcesへ配置したファイルと同じパスのファイルが含まれることを示しており、 「パッケージ内のファイル」と「ユーザーが配置したファイル」のどちらを使用するのかと質問しています。

Setting up libutempter0 (1.1.5-4) ...
Creating utempter group...
Setting up lighttpd (1.4.35-4+deb8u1) ...

Configuration file '/etc/lighttpd/lighttpd.conf'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** lighttpd.conf (Y/I/N/O/D/Z) [default=N] ? N <== "N"と入力し、Enter