Armadilloフォーラム

x1-debian-builderを使用したルートファイルシステムでインストールしたpostgresqlの所有者

saigusa

2020年7月31日 18時57分

お世話になります。三枝です。

packagesにpostgresqlを追加してインストールした時の所有者について、質問させてください。

下記のサイトを参考に、x1-debian-builder-v2.2.0 でルートファイルシステムを構築しました。
https://armadillo.atmark-techno.com/blog/10899/4053

packagesの最終行にpostgresqlを追加し、インストールをしたところ、
postgresqlの所有者が「dnsmasq」となっており、
armadillo-X1上でapt-get でインストールした時の所有者と異なっておりました。
(packagesには「packagesに追記した内容.png」の内容を追加しました。)
(所有者は、「2020-07-28.png」の下から11行目で確認しました。)

私としては、armadillo-X1上でpostgresqlをapt-get でインストールした時と同じ所有者にしたいのですが、
何か良い方法がございましたら、ご教授していただけませんでしょうか。

ファイル ファイルの説明
2020-07-28.png 所有者を確認した時の画面
packagesに追記した内容.png packagesに追記した内容
コメント

佐藤です。

一点確認させてください。
2020-07-28.png はどのディレクトリを ls -l したものでしょうか。

佐藤です。

こちらでも packages の最終行に「packagesに追記した内容.png」と同じ内容を記載し、試してみたところ
/var/lib 配下の postgresql ディレクトリの所有者は"postgres"(期待通り)となっていました。
他になにか実施された手順や追加した設定などありますでしょうか。

こちらで試した際の環境は以下です。
・ATDE7
・x1-debian-builder-v2.2.0
・make-install-disk-image-v1.1.0
・イメージファイルは以下で最新のものをダウンロードして使用
https://armadillo.atmark-techno.com/armadillo-x1/resources/software

お世話になります。三枝です。

説明が不足しておりました。
ルートファイルシステムの書き込み作業は、下記の手順で実施しました。

①下記サイトを参考に、ルートファイルシステムを作成。
 https://armadillo.atmark-techno.com/blog/7370/2935

・packagesには、「packagesに追記した内容.png」の内容を追記
・fixupには、下記のpip3の処理を追記
  pip3 install -r /test/Settings/requirements.txt
  pip3 install -r /test/testWeb/requirements.txt

/test/Settings/requirements.txtの内容は下記の通りです。
psycopg2==2.8.4
pyserial==3.4
SQLAlchemy==1.3.13

/test/testWeb/requirements.txtの内容は下記の通りです。
alembic==1.3.3
antiorm==1.2.1
app==0.0.1
Click==7.0
config==0.4.2
construct==2.9.52
db==0.1.1
Flask==1.1.1
Flask-Login==0.4.1
flask-marshmallow==0.9.0
Flask-Migrate==2.3.0
Flask-SQLAlchemy==2.1
itsdangerous==1.1.0
Jinja2==2.11.1
Mako==1.1.1
MarkupSafe==1.1.1
marshmallow==2.13.6
MyApplication==0.1.0
psycopg2==2.8.4
PyBluez==0.23
pyserial==3.4
pystache==0.5.4
python-dateutil==2.8.1
python-editor==1.0.4
six==1.14.0
SQLAlchemy==1.2.13
static==1.1.1
Werkzeug==0.16.1
Flask-Assets==2.0
WTForms==2.2.1
webassets==2.0
configparser==4.0.2

②下記サイトの「3.USBメモリにルートファイルシステムを展開」までを実施。
https://armadillo.atmark-techno.com/blog/53/2764

③下記サイトを参考に、書込み用USBメモリ内にimagesフォルダを作成し、下記4つのファイルを格納。
その後、「インストールスクリプトの作成・配置」と「ブート時にインストールスクリプトが実行されるよう設定」を実施。
https://armadillo.atmark-techno.com/blog/1913/2426
・ブートローダーイメージ(u-boot-x1-at20.bin)
・Linuxカーネルイメージ(uImage)
・デバイスツリー(armadillo_x1.dtb)
・ルートファイルシステム(①で作成したファイル)

④書込み用USBメモリをArmadillo-X1に挿入し、下記サイトのTeraTermマクロを作成し、実行してルートファイルシステムの書き込みを実施
https://armadillo.atmark-techno.com/blog/53/2802

佐藤です。

> その後、「インストールスクリプトの作成・配置」と「ブート時にインストールスクリプトが実行されるよう設定」を実施。
> https://armadillo.atmark-techno.com/blog/1913/2426
上記で紹介している、install.sh の 「# 4. ルートファイルシステムの書き換え」の部分を以下のように修正するとどうでしょうか。

# 4. ルートファイルシステムの書き換え
mount -t ext4 /dev/mmcblk2p2 /mnt
rm -rf /mnt/*
tar zxf /images/debian-jessie-armhf.tar.gz -C /mnt --numeric-owner <-*追記*
umount /mnt

※「debian-jessie-armhf.tar.gz」はご自身の環境のもので書き換えてください。

三枝です。

ご回答ありがとうございます。
お教えいただいた通り、
install.shのルートファイルシステムの書き換えの処理に、「--numeric-owner」を追記し、
/var/lib配下の postgresql ディレクトリの所有者は"postgres"(期待通り)になることを確認しました。
ありがとうございました。