MentoHUST安装指南

本文介绍两种安装MentoHUST的方法:

  • 依据平台来安装MentoHUST:
  • 手动编译安装MentoHUST:

另外,也提供一些设置开启启动的方法。

 

二进制软件包

Fedora发行版

下载最新的RPM软件包,然后切换至对应目录,在命令行中输入以下命令:

rpm -ivh "rpm包文件名"

Ubuntu发行版

下载最新的DEB软件包,双击deb包即可安装。 如果无法双击安装,可使用命令行操作:

sudo dpkg -i "deb包文件名"

ArchLinux发行版

目前,ArchLinux发行版的用户可以在AUR中搜索mentohust软件包来进行安装。或者点击以下下链接直接查 看: AUR上mentohust包

对于安装了 yaourt 软件的用户,可以直接运行以下命令安装:

yaourt -S mentohust

另外,你也可以直接下载已经编译好的软件包(x86_64平台i686平台 )。

手工安装

如果所用系统并没有对应的软件包,可使用解压软件从deb包提取文件或者自己编译(MacOS就别从deb包提取了,而应该下载对应的MacOS版),然后复制文件到/usr/bin下:

sudo cp ./mentohust /usr/bin/mentohust
sudo +x /usr/bin/mentohust

不会敲命令的可输入以下命令后像Windows下一样操作:

sudo xdg-open /

手动编译

准备好源代码

您可以直接下载源代码包或者运行以下命令从svn仓库取出最新版代码并生成对应的configure文件(需要安装相应工具链):

svn checkout http://mentohust.googlecode.com/svn/trunk/ mentohust
cd mentohust
sh autogen.sh

配置MentoHUST

目前您可以根据自己的需求启动或禁止以下特性:

--enable-debug         Build a debug version
--disable-encodepass   Don't encode password
--disable-arp          Don't care ARP info
--disable-notify       Don't show notification
--disable-nls          Disable NLS
--with-pcap=TYPE       How to link libpcap: dyload(Default) | dylib | stlib | PATH

对于普通PC用户,一般运行这个命令配置即可:

./configure --prefix=/usr

对于交叉编译的用户,建议禁用所有特性并链接libpcap而不是动态载入:

./configure --host=mipsel-linux --disable-encodepass --disable-arp --disable-notify --disable-nls --with-pcap=dylib

编译并安装

make && make install

给程序授予超级用户权限(可选)

sudo chmod u+s /usr/bin/mentohust

如果您不运行这个命令,那么以后启动mentohust,均需要注意以root权限运行(例如,sudo mentohust

开机运行

Ubuntu、Fedora用户

选择菜单“系统->首选项->启动应用程序”,点击“添加”,输入名称MentoHUST,命令sudo mentohust,点击“添加”即可。

对于没有修改/etc/sudoers文件使得sudo无需密码的用户,此方法可能无效,这时可通过sudo chmod u+s /usr/bin/mentohust授予权限然后按此方法添加命令为mentohust的启动项。

ArchLinux用户

AUR中的mentoHUST软件包提供了一个rc脚本,因此直接在系统配置文件/etc/rc.conf中的DAEMONS节添加’mentohust’ 即可:

DAEMONS=(syslog-ng network ... @mentohust ...)

rc.local方式

修改/etc/rc.local*或者/etc/gdm/Init/Default*等文件,例如:

sudo gedit /etc/gdm/Init/Default

然后在exit 0(最后一行)前面加入以下内容:

if [ -x /usr/bin/mentohust ]; then
    /usr/bin/mentohust
fi

MacOS用户

待编辑。

小技巧

    • 建议需要开机运行的用户使用以下命令将MentoHUST设置为daemon运行并保存输出到/tmp/mentohust.log,开启消息通知。
sudo mentohust -b3 -y5 -w

 

MentoHUST for Windows,同时支持锐捷和赛尔,更稳定、更省心、占用内存更少。
内置数据为xrgsu的,这样在实验室也可以不做什么配置就成功认证;加入了对赛尔的支持
(用于赛尔组播地址务必选择标准,在HUST主校区用于锐捷认证的话也要选标准)。
解压,运行“安装卸载”安装WinPcap,运行程序,(Win7等系统如提示找不到网卡一般自行
安装WinPcap官方安装包即可解决),点击“设置”检查并修改参数以符合自己的认证环境,
“确定”保存,选择合适的账号和网卡,点击“认证”,OK!
http://byhh.net/f/NetResource/1291868731/MentoHUST_x86.7z
http://byhh.net/f/NetResource/1291868752/MentoHUST_x64.7z
如果提示“找不到网卡”请安装:http://www.winpcap.org/install/bin/WinPcap_4_1_1.exe

Nginx的平滑重启和平滑升级

Nginx的平滑重启

如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,可以发送系统信号给Nginx主进程的方式来进行。不过,在重启之前,要确认Nginx配置文件的语法是正确的,可通过如下命令测试配置文件是否正确:

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

如果配置文件不正确,屏幕会提示配置文件的第几行出错:

nginx:[emerg] invalid number of arguments in “autoindex” directive in /usr/local/nginx/conf/nginx.conf:29

nginx:configuration file /usr/local/nginx/conf/nginx.conf test failed

如果配置文件正确,屏幕将提示以下两行信息:

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

configuration file /usr/local/nginx/conf/nginx.conf test is successful

 

这时候,就可以平滑重启了:

对于Nginx 0.8.x之前的版本 kill -HUP `cat /usr/local/nginx/nginx.pid`
对于Nginx 0.8.x之后的版本 /usr/local/webserver/nginx/sbin/nginx -s reload

 

 

Nginx的平滑升级

 

当需要将正运行的Nginx升级,可以在不中断服务的情况下进行,具体步骤如下:

1、使用新的可执行程序替换旧的可执行程序。下载新的Nginx,重新编译到旧版本的安装路径中。重编译之前,先备份一下旧的可执行文件。

 

2、执行以下指令,他将存储有旧版本主进程ID的文件重命名为.oldbin:

kill -USR2 旧版本的Nginx主进程号

一般情况下是这样的:kill -USR2 `cat /usr/local/nginx/nginx.pid`

可以用 ls /usr/local/nginx/logs来查看是否改名

3、执行新版本的Nginx可执行程序。

 

ulimit -SHn 65535

/usr/local/nginx/sbin/nginx

 

4、此时新旧版本的Nginx会同时运行,共同处理请求。要逐步停止旧版本的Nginx,必须发送WINCH信号给旧的主进程。然后,他的工作进程将从容关闭。

kill -WINCH 旧版本的Nginx主进程号

 

5、一段时间后,旧的工作进程处理完了所有的请求后退出,仅由新的进程来处理输入请求了。可用下面的命令查看:

ps -ef | grep nginx

 

6、现在可以决定使用新版本还是恢复到旧版本:

kill -HUP 旧的主进程号 :Nginx在不重载配置文件的情况下启动他的工作进程

kill -QUIT 新的主进程号  :从容关闭其工作进程

kill -TERM 新的主进程号 :强制退出

kill 新的主进程号或旧的主进程号:如果因为某些原因新的工作进程不能退出,则向其发送kill信号

 

新的主进程退出后,旧的主进程会移除.oldbin后缀,恢复为他的.pid文件,这样,一切就都恢复为升级之前了。
如果尝试升级成功,而自己又希望保留新版本时,可发送QUIT信号给旧的主进程,使其退出而只留下新的进程运行:kill -QUIT 旧主进程号

 

 

附:Nginx的信号控制

Nginx支持以下几种信号:

TERM,INT 快速关闭

QUIT 从容关闭

HUP 平滑重启,重新加载配置文件

USR1 重新打开日志文件,在切割日志时用途较大

USR2 平滑升级克执行程序

WINCH 从容关闭工作进程