This service is available only in Japanese-language.

Yoctoに入っている各パッケージのサイズを知る方法について

Yoctoに入っている各パッケージのサイズを知る方法をご教授ください。
ubuntuでは以下コマンドで確認できるのですが、
$ dpkg-query -W -f='${Installed-Size}\t${Package}\n' | sort -nr | less
Yoctoでは dpkg-query -l でのパッケージ一覧でさえ表示されません。dpkgは追加済です。

dpkg-queryコマンドにより、パッケージサイズを確認したいとのことですが、
ご使用の環境のパッケージシステムは本当にdebパッケージでしょうか?

YoctoProjectではrpm/deb/ipkのパッケージシステムが使用可能となっています。
rpmを使用している場合、dpkg-queryは当然ながら使用できません。

local.confのをご確認いただき、下記のようにdebパッケージが有効であることをご確認ください。

PACKAGE_CLASSES ?= "package_deb"

また、デフォルトの状態ではYoctoProjectで作成したOSイメージの中にはパッケージデータベースの情報は含まれません。
そのため、PACKAGE_CLASSESがpackage_debだったとしても、dpkg-queryコマンドは正しい情報を返しません。
local.confに下記の内容を追記していただき、パッケージサイズの確認を行ってみていただけますでしょうか?

EXTRA_IMAGE_FEATURES += "package-management"

状況説明が不足しておりました。
現在、debパッケージではなくipk(デフォルト)のパッケージシステムを使用しており、
ipkでのパッケージサイズ取得をしたいと考えております。
Local.confにて以下の2行が必要かと思いますが、認識は正しいでしょうか?

EXTRA_IMAGE_FEATURES += "package-management"
PACKAGE_CLASSES ?= " package_ipk "

また、指定後にどのようにパッケージサイズを確認すればよいか分かっておりません。
実際にサイズを確認する手順についてもご教授いただきたいです。
よろしくお願いいたします。

お忙しいところ恐れ入りますが、もし知見等お持ちでしたらご教授いただけますと幸いです。
よろしくお願いいたします。

ターゲット上にインストールされている各パッケージのサイズを調査する方法ということでご案内します。

すでに実施済みとのことですが、local.confに下記を追加した上でイメージを作成します。

```
EXTRA_IMAGE_FEATURES += "package-management"
PACKAGE_CLASSES ?= " package_ipk
```

その後そのイメージでターゲットを起動し下記のようなスクリプトを`/tmp/test.sh`として作成します。

```
#!/bin/sh

PACKAGES=$(opkg list-installed | cut -d ' ' -f1)

for p in ${PACKAGES}; do
echo -n "${p} : "
opkg info ${p} | grep 'Installed-Size:'
done
```

ipkのパッケージ情報の取得には「opkg」コマンドを使用します。

「opkg list-installed」にてインストール済みのパッケージ一覧を取得し、
「opkg info <package-name>」にて各パッケージの情報を取得しています。
今回はパッケージサイズとのことですので、「Installed-Size:」の行でフィルタしています。

スクリプトは下記のようにして実行します。

```
# chmod +x /tmp/test.sh
# /tmp/test.sh
```

「opkg list-installed」コマンドを実行しても、パッケージ一覧で1つも出力されません。
どのような原因が考えられますでしょうか?
以上、よろしくお願いいたします。

パッケージが一つもインストールされていないことは考えづらいため、
ターゲット側にパッケージデータベースが無いことが一番疑わしいです。

local.confの下記の行にスペルミスなどがないか確認していただけますでしょうか?
EXTRA_IMAGE_FEATURES += "package-management"

当方ではQEMU環境ですが実際に動作が確認できた手順を案内しております。
こちら確認してみて解決できそうにない場合は

・再現環境
・再現手順の詳細情報
・ログファイル一式
などをご提供頂いての調査が必要になるかと思います。
こちらでの調査をご希望の場合には、リネオソリューションズが提供する有償のLinuxサポートをご検討ください。
ご依頼される場合はお手数をおかけしますが、下記のお問合せフォームまでご連絡をお願い出来ればと存じます。
https://www.lineo.co.jp/contact/