在Linux上安装链路层拓扑发现(LLTD)协议响应程序Debian Lenny
本文档介绍如何从Microsoft安装和配置链路层拓扑发现(LLTD)协议 - 响应程序源代码。 lld2d守护程序允许linux系统显示在Vista的网络地图中。 本手册应易于适应其他发行版。
积分
我最初在http://www.jcxp.net/forums/index.php?showtopic=19789上找到关于如何使其工作的信息。 来自pgn674的帖子描述了他们如何能够使源代码工作。 我的贡献是简化方向和简单的init.d启动脚本。
先决条件
- 安装了Linux的系统(Debian Lenny被用于此操作)
- Linux构建环境为您的发行版
- 基本熟悉Linux和命令行
- 安装gcc编译器
- Microsoft LLTD源代码
下载源代码
从http://www.microsoft.com/whdc/rally/rallykit.mspx下载Rally-LLTD-
PortingKit.exe 。 将exe解压缩到系统上的文件夹(我使用KDE的方舟来解压缩文件)。
安装构建环境
确保您具有所需的构建环境和工具来编译您的发行版的源代码。
apt-get install linux-headers-`uname -r` build-essential
编译安装
在您首选的文本编辑器中,打开/usr/include/linux/wireless.h
,并在文件的
开头
添加#include <linux / if.h>
并保存。
打开终端窗口或从控制台输入:
cd /unzipped file folder/Sample Code/native-linux
输入“make”命令并忽略警告:
sudo make
将lld2d可执行文件复制到/ usr / sbin
(可能与您的发行版有所不同)。
创建init.d启动脚本
这个简单的lld2d init.d脚本是基于lisa init.d脚本的。 使用您首选的文本编辑器在/etc/init.d中创建lld2d init.d脚本。
确保使用首选界面编辑INTFACE
变量,并使脚本可执行。
#! /bin/sh ### BEGIN INIT INFO # Provides: lld2d # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/lld2d NAME=lld2d PIDFILE=/var/run/$NAME.pid DESC="LLTD Protocol Responder" INTFACE=ENTER YOUR PREFERRED INTERFACE HERE test -f $DAEMON || exit 0 set -e is_running () { if [ -e "$PIDFILE" ] then #checking if program is running if [ -L /proc/`cat $PIDFILE`/exe ] then #checking for stale pidfile if grep -q $NAME /proc/`cat $PIDFILE`/cmdline then #program is running and is called lisa return 0 fi fi rm -f $PIDFILE fi #program is not running return 1 } case "$1" in start) if is_running then echo "$DESC is already running. Not doing anything" exit 0 fi echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON $INTFACE\ > /dev/null echo $(pidof lld2d) > $PIDFILE echo "$NAME." ;; stop) if ! is_running then echo "$DESC is not running. Not doing anything" exit 0 fi echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \ --exec $DAEMON rm -f $PIDFILE echo "$NAME." ;; reload|force-reload) echo "Reloading $DESC configuration files." start-stop-daemon --stop --quiet --signal 1 --pidfile $PIDFILE \ --exec $DAEMON $INTFACE ;; status) echo -n "$DESC is " if ! is_running then echo -n "not " fi echo "running." ;; restart) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \ --exec $DAEMON $INTFACE rm -f $PIDFILE sleep 1 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON $INTFACE\ > /dev/null echo $(pidof lld2d) > $PIDFILE echo "$NAME." ;; cond-restart) if ! is_running then echo "$DESC is not running. Not doing anything" exit 0 fi echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \ --exec $DAEMON $INTFACE rm -f $PIDFILE sleep 1 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON $INTFACE\ > /dev/null echo $(pidof lld2d) > $PIDFILE echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|cond-restart|status|reload|force-reload}" >&2 exit 1 ;; esac exit 0
启动lld2d守护进程
在终端窗口或控制台中输入以下命令:
/etc/init.d/lld2d start
刷新Vista上的网络映射,现在您的Linux服务器将显示为地图显示的一部分。