ファイルシステムのファイルから起動時にIPアドレスとMACアドレスを取得する必要がある組み込みLinuxデバイスを設定しています。/root/ipaddress
内容が「192.168.10.10」と/root/macaddress
「02:02:02:02:02:02」しかないファイルがあるとします。残りの構成は構成できません。
現在のネットワーク設定は を介して行われifup -i /etc/interfaces -a
、IP アドレスは次のセクションで定義されます。
# The loopback network interface
#auto lo
#iface eth0 inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.10.10
netmask 255.255.255.0
/etc/interfaces ファイルで環境変数を試してみましたが、成功しませんでした。
ip
このコマンドを使用してインターフェイスを再びシャットダウンし、IPおよびMACアドレスを設定してから再起動するスクリプトを作成できます。しかし、これは非効率的なようです。
答え1
ifupdown
スクリプトセットはこのように動作するようには設計されていません。
代わりに、次のことができます。
- 使用を中止し
ifupdown
、専用スクリプトで直接ネットワークを設定してみてください。 (私はおそらくこのオプションを選択します) post-up
次のように機能を使用してくださいifupdown
。
iface eth0 inet static
pre-up ifconfig eth0 hw ether `cat /root/macaddress`
address 0.0.0.0
netmask 255.255.255.0
post-up ifconfig eth0 `cat /root/ipaddress`
ポストアップがバックティック構成を管理できるかどうかはテストされていません。 ..
manual
たぶん(代わりに)メソッドを掘り下げることもできますstatic
。