5.7.7. ifupdown 系统的脚本

ifupdown 系统会自动运行安装在 “/etc/network/*/” 中的脚本,而且会传递环境变量给脚本。

表 5.14. ifupdown 系统传递的环境变量

环境变量传递值
$IFACE处理中的接口的物理名称(接口名称)
$LOGICAL处理中的接口的逻辑名称(配置名称)
$ADDRFAM接口的 <addressfamily>
$METHOD接口的 <method_name> (例如 “static”)
$MODE如果是 ifup 运行的,则值为 “start”;如果是 ifdown 运行的,则值为 “stop”
$PHASE根据 “$MODE”,但有更细致的区分,共分为 pre-uppost-uppre-downpost-down 阶段
$VERBOSITY指示是否使用了 “—verbose”;是为 1,否为 0
$PATH命令搜索路径:“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$IF<OPTION>位于 iface 这节的相应选项值

这里,每一个环境变量,”$IF_<OPTION>“,是在相应的选项名字 <option1> 和 <option2> 前增加 “$IF_“ 来创建, 把字母转换为大写字母,将中划线替换为下划线,忽略非字母数字的字符。

[提示]提示

<address_family>, <method_name>, <option1> 和 <option2> 的说明,请参见第 5.6.2 节 “”/etc/network/interfaces” 基本语法”

ifupdown-extra 软件包 (参见 第 5.6.14 节 “ifupdown-extra 包”)使用这些环境变量来扩展ifupdown 软件包的功能. ifmetric 软件包 (参见 第 5.7.2 节 “ifmetric 软件包”)安装 “/etc/network/if-up.d/ifmetric“脚本,这个脚本通过”$IF_METRIC“变量来设置 metric 路由度量值. guessnet 软件包 (参见 第 5.7.8 节 “guessnet Mapping 映射”),提供简单和功能强大的框架,用于通过 mapping 映射机制自动选择网络配置,这个软件包也使用了这些环境变量。

[注意]注意

使用这些环境变量进行个性化网络配置的列子,你可以查看”/usr/share/doc/ifupdown/examples/*“里的列子脚本,以及 ifschemeifupdown-scripts-zg2 软件包使用的脚本.这些额外的脚本有部分功能和 ifupdown-extraguessnet 软件包的基本功能重叠. 如果你安装了这些额外脚本,你应当个性化这些脚本来避免互相影响。