1、下载bridge-utils http://www.linuxfromscratch.org/blfs/view/svn/basicnet/bridge-utils.html
2、放到/usr/src 目录下
输入:su
以root运行
输入:cp /home/joanna/桌面/bridge-utils-1.5.tar.gz /usr/src/bridge-utils-1.5.tar.gz
bridge-utils拷贝到/usr/src
输入:tar zxvf bridge-utils-1.5.tar.gz
解压
输入:cd bridge-utils-1.5
进入解压好的文件夹
3、配置
①更新autoconf
输入:apt-get install autoconf
这是为了解决直接用autoconf会产生的一个错误:
程序 'autoconf' 已包含在下列软件包中:
* autoconf
* autoconf2.13
请尝试:apt-get install <选定的软件包>
②自动配置
输入:autoconf
③生成configure文件
输入:./configure
④修改一下Linux的/usr/include/linux/if_bridge.h,为了make做准备
输入:cd /usr/include/linux/
输入:vi if_bridge.h
光标移动到#include <linux/if_ether.h>的下一行,按i键进入编辑模式,键入#include <linux/in6.h>,按Esc退出编辑模式,键入:w保存修改(冒号也要写哦),:x退出。结果就是if_bridge.h多了一个include,如图:
这一步是为了避免make时出现错误,这个错误是:
In file included from libbridge.h:24:0,
from libbridge_devif.c:28:
/usr/include/linux/if_bridge.h:184:20: error: field ‘ip6’ has incomplete type
struct in6_addr ip6;
^
make[1]: *** [libbridge_devif.o] 错误 1
和
In file included from ../libbridge/libbridge.h:24:0,
from brctl.c:25:
/usr/include/linux/if_bridge.h:184:20: error: field ‘ip6’ has incomplete type
struct in6_addr ip6;
^
make[1]: *** [brctl.o] 错误 1
显然是使用了ip6的结构体,而没有引用in6.h头文件。
参考网页:https://lkml.org/lkml/2013/1/13/116
4、编译安装
输入:make
输入:make install
5、将命令brctl复制到/sbin下
输入:cp /usr/local/sbin/brctl /sbin
6、验证
输入:brctl
可以显示brctl帮助信息
参考:http://blog.csdn.net/kulung/article/details/6923674