This service is available only in Japanese-language.

ifconfigの重複インストールについて

以下のページのBSPを使用し、開発を進めています。
https://github.com/TechNexion/tn-imx-yocto-manifest/tree/mickledore_6.1....

bitbake imx-image-core は完了しており、評価基板上で動作確認を行ったところ、
ifconfig が2種類入っていることがわかりました。

1つは net-tools パッケージによるもので、
他方は BusyBox によるものです。

BusyBox の ifconfig を使えるようにするには、どのように編集すればよいでしょうか。

※ 弊社の開発の都合上、mii-tool が必要であるため、net-tools パッケージの削除はできない状態です。

※上記コメントに対する補足です。

$ which ifconfig
/bin/ifconfig

ではなく、

$ which ifconfig
/bin/busybox ipconfig (イメージです。)

のような挙動は実現できそうか、という内容です。

本件回答します。

実機がないためビルドPC上でimx-image-coreを作成し、${IMAGE_ROOTFS}のディレクトリを調査した結果となります。

ルートディレクトリでifconfigというファイルを検索しました。

---
$ find -name ifconfig
./usr/lib/opkg/alternatives/ifconfig
./bin/ifconfig
---

alternativesが設定されている事がわかります。その設定内容を確認するとnet-tools側のifconfigのほうが優先度が高いことがわかります。

---
$ cat ./usr/lib/opkg/alternatives/ifconfig
/bin/ifconfig
/bin/busybox.nosuid 50
/bin/ifconfig.net-tools 100
---

ifconfigの実体を確認します。

---
ls -l ./bin | grep ifconfig
lrwxrwxrwx 1 user user 23 3月 9 2018 ifconfig -> /bin/ifconfig.net-tools
-rwxr-xr-x 1 user user 68K 3月 9 2018 ifconfig.net-tools
---

このことから、net-tools側のifconfigが使用されていることがわかります。

alternativeの仕組みを使用して、使用するifconfigをbusyboxのものにする場合、

「update-alternatives --config ifconfig」を実行し、表示された一覧の中からbusyboxの番号を選択します。
詳しい使用方法は下記がわかりやすいかと思います。

https://qiita.com/kuwa_tw/items/cfba33d0678b621808a8

手動でシンボリックリンクを貼り直すことでも対応可能です。その場合下記を実行します。

---
$ ln -sf /bin/busybox.nosuid /bin/ifconfig
---

alternativesの機能が働いているためbusyboxとnet-toolsが同時に存在することで競合などは発生しないと考えます。
また、機能的にもnet-toolsのifconfigを使用することで問題が発生するとは考えづらいですが、
あえてbusyboxのバージョンを使用したい理由などはあるのでしょうか?
もし無いようでしたら現在の状態でも問題は無いと考えます。

上記の内容について、弊社の開発環境内のbitbake結果や、実機で確認してみます。

***************
> また、機能的にもnet-toolsのifconfigを使用することで問題が発生するとは考えづらいですが、
> あえてbusyboxのバージョンを使用したい理由などはあるのでしょうか?

現在、ある組込み機器更新の業務を進めています。
更新対象の組込み機器では、IPアドレス設定の際、ifup/ifdownによる処理を行っています。

net-tools パッケージによるものは「netplan」を採用しており、
BusyBox によるものは、「ifup/ifdown」を採用しています。
ですので、なるべく更新前と同じ処理にしたいため、
IP設定関連のコマンドはBusyBoxを選択したいと考えています。

※ifconfig以外にも、パッケージ・BusyBoxと重複するコマンドがあれば、
ご連絡いただければ幸いです。
***************

すみませんが、追加で質問させてください。
> alternativeの仕組みを使用して、使用するifconfigをbusyboxのものにする場合、
>
> 「update-alternatives --config ifconfig」を実行し、表示された一覧の中からbusyboxの番号を選択します。
> 詳しい使用方法は下記がわかりやすいかと思います。
>
> https://qiita.com/kuwa_tw/items/cfba33d0678b621808a8
>
> 手動でシンボリックリンクを貼り直すことでも対応可能です。その場合下記を実行します。
>
> ---
> $ ln -sf /bin/busybox.nosuid /bin/ifconfig
> ---

上記について、適切なbbappendレシピ内で、
自動でbusyboxのifconfigを使用するように設定するには、
どのように対応すればよろしいでしょうか?