由于论文需要,最近在研究nutch,网上几乎没有一篇在window环境下能够配置正确的文档.今天一天的努力,终于配置成功了!现在将资料和配置过程整理如下.
1、安装Cygwin
首先,到 http://www.cygwin.com/官网上下在setup.exe安装程序,下载后双击它,出现程序安装的向导界面(如图1所示)。
点击“下一步”后,安装向导要求选择Cygwin的安装方式,如图2所示:
图示中共有三种安装方式:
(1)Install from Internet:从Internet上下载并安装软件;
(2)Download Without Installing:从Internet上下载安装的文件,但暂时不安装;
(3)Install from Local Directory:从本地含有安装文件的目录进行安装。
我们选择第三项“Install from Inter”后,点击“下一步”,如图3所示:
安装向导要求选择Cygwin的安装路径,我们可以在“Root Directory”文本框中更改安装路径,点击“下一步”,如图4所示:
安装向导要求选择下载的Cygwin安装文件的本地存储路径,可以在“Local Package Directory”中设置,点击“下一步”,如图5所示:
安装向导显示出所要安装的内容列表,用户可以根据自己的实际需要来决定安装哪些程序。点击循环箭头图标后面的文字,可以更改安装的方式,常用的方式有Default(表示只安装缺省的安装项)、Install(表示安装全部程序,空间要求较大)、Reinstall(表示重新安装程序)。推荐选择“Install”方式,一步到位,以免后扰,不过用户应保证至少有2G以上的空间可供使用。点击“下一步”后,就开始正式的安装了(如图6所示)。
最后出现如图7所示的窗口,点击“完成”后,Cygwin安装完毕。
Nutch 的脚本都是用 Linux 的 Shell 写的,所以在 Windows 平台需要一个 Shell 解释程 序。Cygwin 是一个在 Windows 下的模拟 Linux 系统程序 。
2、安装Nutch
去http://mirror.vmmatrix.net/apache/lucene/nutch/下载到Nutch的最新版本,将其解压到指定目录中,如笔者是将其解压到I:/nutch-1.1中。
3、测试Nutch命令
在运行Nutch的脚本命令前,需要设置一些环境变量。Cygwin提供了一个名为cygwin.bat的文件,通过它可以自动完成必需环境变量的设置。该文件可在cygwin所在的根目录下找到,感兴趣的读者还可通过UltraEdit等编辑器打开该文件一查究竟。其实Cygwin安装完成之后,会在Windows系统桌面生成一图标,如图8所示:
此图标就是cygwin根目录下cygwin.bat文件的快捷方式,双击此图标将打开一类似DOS窗口。由于先前笔者将Nutch的压缩包解压至I:/nutch-0.7.1中,故在此命令窗口中输入命令“cd /cygdrive/i/nutch-1.1”,读者可根据自己的安装路径进行相应的修改,然后使用命令“ls -l”可查看nutch-0.7.1中的所有子目录及文件信息。执行命令“bin/nutch”,如果读者能看到如图9所示的提示,那恭喜你,Nutch在Windows系统中的安装已经大功告成了!
cygwin 环境下 , 进入 windows 某个盘加cygdrive , cd /cygdrive/d/ 就相当于进入 d 盘。在这里你使用命令时,注意路径的正确性。
上面是讲解了如何装cygwin,在使用nutch前,这个cywin是必须要安装的,且要进入到nutch的安装目录下,执行bin/nutch命令成功后,nutch才能正常使用.
注意:在选择cygwin的下载地址时选择最上边第一个地址下载比较快.
注意:在cygwin的安装过程中如果出现断网,是可以重新接着上次的下载进度继续下载的,重新点击setup.exe,在
这里,选择reInstall,则为接着上次的下载.
注意:在使用bin/nutch命令前,需要使用CD命令进入到nutch的安装目录下再使用.例如我下载nutch-1.1后,nutch-1.1的目录如下.
那么首先执行cd /cygdrive/c/Documents and Settings/Administrator/桌面/apache-nutch-1.1-bin/apache-nutch-1.1-bin,再执行bin/nutch.
安装完cygwin后,就可以在myeclipse中配置nutch了,如下:
在MyEclipse中搭建Nutch开发环境
1 以Java Project形式搭建
1.1 第一步:下载Nutch的压缩包
到Nutch的网站上下载Nutch的压缩包,这里以Nutch1.1为例。Nutch各版本的下载地址为http://archive.apache.org/dist/nutch/,进入该网页后,找到apache-nutch-1.1-bin.tar.gz文件,将其下载到自己的电脑里。
1.2 第二步:新建一个Java项目
打开MyEclipse,点击File→New→Java Project新建一个Java项目,输入Project Name如Nutch1.1,点击Finish按钮。如下图所示。
1.3 第三步:导入Nutch的代码
将第一步下载的Nutch压缩包解压,解压后的目录结构如下图所示。
将src/java目录下的整个org文件夹copy到Nutch1.1项目的src目录下。
1.4 第四步:导入Nutch的配置文件、Jar包、插件
在第三步解压后的目录下,找到conf、lib、plugins三个文件夹,将这三个文件夹copy到Nutch1.1项目的根目录下(即与src目录同级)。Copy完后,Nutch1.1项目的目录结构如图所示。
1.5
也许有这样的需求,当我们在公司的时候,连公司的网络后需要开启网关验证程序,在家里连网后需要开启VPN。即:希望在连接到某个特定的网络时执行某些特定的程序。
步骤0.准备
思路理清:当网络发生变动时,会有某些事件被记录,那么我们执行的特定程序就在某些特定事件被记录之后。
相关程序:控制面板-管理工具-查看日志事件,控制面板-管理工具-计划任务
[01]
[02]
步骤1. 连接网络,得到特定事件的ID。
查看网卡的连接日志事件 中 左侧树展开:应用程序和服务日志-Microsoft-Windows-WLAN-AutoConfig-Operational ,首先清空这里的日志,然后连接公司的网络。接下来就可以看到一系列的事件。
[11]
从事件的详细信息中,确认对应网络的SSID。(加入不同的网络事件ID会不一样)
[12]
步骤2.将执行程序的操作附加到特定事件发生后
[21]
设置完成后在计划任务中可以看到对应的事件
[22]
步骤3.当这个网络断开连接后,关闭上步执行的程序
在网络连接正常的情况下清空 Microsoft-Windows-WLAN-AutoConfig-Operational 的日志,然后断开网络。从中查找对应的事件ID,然后重复步骤2.
PS:linux、ubuntu 的直接把脚本放在 /etc/network/if-up.d/ 和/etc/network/if-dn.d/ 下即可,MAC OSX 还没有找到对应方法,如果有知道的还请告知,谢谢。
本文链接
在命令行中定义别名、变量和函数,只是将它们添加在当前PowerShell的会话中。退出会话后,这些更改就会丢失。想要在以后的会话中也能使用它们,就要将它们定义在配置文件中。
配置文件
PowerShell的配置文件,不像Windows操作系统中那样使用.ini文件,也不像多数应用程序那样使用XML文件。PowerShell的配置文件都是些普通的PowerShell脚本文件。需要注意的是,这些配置文件的文件名是固定、不能更改的。并且它们受到脚本执行策略的约束,就是说在默认情况下,也就是脚本执行策略为Restricted的时候,这些配置文件也不能被执行,也就是无效的。
配置文件详细
影响PowerShell命令行的配置文件总共4个,它们的名字分别存贮在变量$PROFILE.AllUsersAllHosts、 $PROFILE.AllUsersCurrentHost、$PROFILE.CurrentUserAllHosts和$PROFILE.CurrentUserCurrentHost(可简写为$PROFILE)中。它们的作用范围分别为“所有用户所有Shell”、“所有用户当前Shell”、“当前用户所有Shell”和“当前用户当前Shell”。以上配置文件按加载顺序给出,如果有冲突项,后者覆盖前者。
需要说明一下,“用户”的概念跟计算机中的用户概念相同;这里的“Shell”或者叫“主机程序”,是指Shell分类,而非打开的一个个PowerShell示例(会话)。我们常见的Shell种类有两种,PowerShell命令行和PowerShell ISE环境。其余还有那些Shell或者主机类型,我没仔细考究。
PowerShell ISE的配置文件
PowerShell ISE也是我们常用的PowerShell环境,它也有4个配置文件。其中两个影响所有主机或者Shell的配置文件是与PowerShell命令行共用的,影响当前主机程序或者Shell的,则有专门的配置文件。这些配置文件的全名(包括路径)也存储在$Profile的属性中,属性名跟在PowerShell命令行中的一致,但是属性值不同,反映的是ISE的配置文件名信息。
定义配置文件
配置文件虽然名称已经确定,但它们不会随PowerShell安装自动生成,而是需要使用者在需要的时候自己创建。它们的创建过程跟一般脚本的创建过程一样。关于脚本文件的详细信息,可参见“PowerShell入门(八):函数、脚本、作用域”。但请务必保证自己创建的配置文件的路径和文件名(包括扩展名.ps1)都要跟系统定义的完全一致,否则无效。
四个配置文件的定义方式完全相同,下面以影响当前用户当前Shell的配置文件为例,说明定义配置文件的过程:
1、创建配置文件
任何创建文本文件的方式,在这里都适用。但请注意文件的扩展名必须是.ps1。简单起见,我们使用命令类创建,命令如下:
2、编辑配置文件
用记事本或者任意文本编辑器打开配置文件,添加你的配置项。这些配置项可以实定义别名、变量、函数,也可以运行命令,用点“.”获取来源,导入模块等。下面是定义变量和用点“.”获取来源的示例。(假设我有一个脚本文件,名字叫myScript.ps1,里边定义了一个函数HelloWorld())
. .\myScript.ps1
将以上内容输入配置文件,保存、关闭。
3、验证配置文件
打开一个新的PowerShell命令行,输入$greet,回车,结果显示Hello Luke!;输入HelloWorld,回车,结果显示Hellow, World!。打开PowerShell ISE,输入$greet,回车,啥也没有;输入HelloWorld,显示未能找到命令的错误。哈哈,验证通过。
结语
配置文件既为公司或者项目组统一PowerShell环境提供了简易的方案——为所有工作机提供相同的影响所有用户所有Shell的配置文件,也为程序员的个性化要求提供了方法——自己定义影响当前用户当前Shell的配置文件。此外,配置文件提高PowerShell交互式命令行的效率是有目共睹的,但对于想要精确控制变量定义、模块导入的脚本来说,可能是个隐患。所以,哪些内容应该写入配置文件,请慎重考虑。
本文链接