
根据文章说明,我下载了ns-allinone-2.29.tar.gz。安装完并设置环境变量,编辑.bashrc并加入:
export NS_HOME=`pwd`/ns-allinone-2.29
export PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11/unix:$NS_HOME/otcl-1.11:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.11/library
运行cd ns-allinone-2.27/ns-2.27 ./validate检验ns2是否安装正确。
在这一个小节结束之前,笔者以一个范例来检验ns和nam。在命令列中输入startxwin.bat。会产生一个新的窗口,在此命令窗口中输入
cd ns-allinone-2.27/ns-2.27/ns-tutorial/examples
ns example2.tcl
模拟结束后,ns会去执行nam。按一下nam的执行。就可以看到模拟过程的可视化。
如果遇到nam couldn't find之类的error,是因为程序找不到nam.exe。gcc没有将它自动编译进来。将nam文件夹下的agent.h文件,第73行的NULL改成0,然后再nam文件夹下执行:make cleanmake make install(我这里报错了,没install成功,不过好像没什么影响)。还要在.bashrc文件的export PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11/unix:$NS_HOME/bin:$NS_HOME/nam-1.11:$PATH
里面添加有下划线的一段,这其实是指明了nam.exe文件的位置。
一。ns2的安装方式1.windows下安装ns2:需要VC环境,而且要手工安装每一个包,比较繁琐,不常使用。2.allinone安装:也就是 all in one,把所有的包都放到了一起,只要执行install就可以一步到底,需要linux环境。这种方式比较常用。二。Redhat下的allinone安装最早使用ns2时便是这种方式,安装和使用时比较麻烦,毕竟,linux下 *** 作界面的友好程度远不如windows的好。但是,仿真的运行效率很高,linux系统提供的gcc编译器也很方便使用,个人认为这种方式比较适合于C++层的功能扩展。三。Windows+Cygwin+allinoneRedhat下的allinone安装需要专门安装 *** 作系统,往往会引入其他问题分散使用者的注意力。Cygwin是一种虚拟平台,在windows上虚拟linux环境,可以为用户提供一种linux命令行界面,这对于使用ns2来说已经足够了。安装完成Cygwin后,可以直接安装allinone版本。网上对这种方式也推崇较多,它结合了window的友好 *** 作界面(很多 *** 作不需要在虚拟系统上 *** 作,在windows下就可以直接完成)和linux的 gcc环境,确实很方便。只是执行效率比较低,曾经做过一个大的仿真,在Cygwin上运行了3天,而redhat上运行了一天多一点就完毕了。 四、RedHat9.0下NS2的安装 1.本实验安装环境:完全安装的RedHat9.0 *** 作系统,ns-allinone-2.29安装包。 2.到官方下载网址:http://www.isi.edu/nsnam/ns/ns-build.html下载NS2安装软件包ns-allinone-2.29.tar.gz. 3.以root登录RH9,在/home下建立ns2文件夹,将ns-allinone-2.29.tar.gz放在该文件夹下,在终端运行cd /home/ns2,使用解压命令tar xvfz ns-allinone-2.29.tar.gz,即生成/home/ns2/ ns-allinone-2.9. 4.修改/home/ns2/ ns-allinone-2.9/nam-1.11/agent.h中的第73行,将NULL改为0.5.在/home/ns2/ ns-allinone-2.9/下运行。/install 6.根据安装结束后结尾处的提示,将某些路径复制下来,或者直接按照以下修改(可以对照提示理解):7.修改/root/.bashrc(注意该文件为隐藏文件),在该文件末尾加上以下三句话: exportPATH=$PATH:/home/ns2/ns-allinone-2.29/bin:/home/ns2/ns-allinone-2.29/tcl8.4.11/unix:/home/ns2/ns-allinone-2.29/tk8.4.11/unix exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ns2/ns-allinone-2.29/otcl-1.11:/home/ns2/ns-allinone-2.29/lib exportTCL_LIBRARY=/home/ns2/ns-allinone-2.29/tcl8.4.11/library 8.这时,如果以上设置正确,直接运行ns会出现%,或者可以运行软件自带的例子,在 /home/ns2/ns-allinone-2.29/ns-2.29/ns-tutorial/examples下运行ns example2.tcl 9.可以选择执行./validate,验证安装是否成功(比较耗时间哦!) 说明: 1. 修改了/root/.bashrc之后,可以在新打开的终端输入echo $PATH看看那些路径是否加进去了,如果加进去,会显示出来的。注意,命令‘export’只能改变当前终端及以后运行的终端里的变量。对于已经运行的终端没有作用。 2. 本例子中在/home/ns2/下安装ns仿真软件,该路径可以换成你想安装ns的路径。3. 如果PATH没加进去,可以考虑在/root/下运行source .bashrc使重新获取环境变量设置。正常情况下,如果按照上述在/root/下修改。bashrc文件是可以成功的。有些其他做法是在安装ns的路径下新建一个。bashrc文件,把那三条export语句加进去。运行source .bashrc,在该终端就可以使用ns命令了,但是该命令只在本终端有效,在以后运行的终端无效。查看当前的主机名
首先我们使用hostname命令来查看当前的主机名。
hostname1
也可以使用hostnamctl命令
hostnamectl
方法1:修改配置文件
主机名保存在/etc/hostname文件里,所以我们可以打开这个文件,手动编辑主机名。
sudo nano /etc/hosts12
把旧的主机名删除,替换为新的主机名,保存文件就行了。要注意大小写。
方法2:hostnamectl命令
命令语法为:
sudo hostnamectl set-hostname <newhostname>12
这条命令会删除/etc/hostname文件中的主机名,然后替换为新的主机名。和第一种方法一样,我们也需要更新/etc/hosts文件。这两种方法的本质都是一样的。
方法3:hostname命令进行临时更改
如果只需要临时更改主机名,可以使用hostname命令。 《Linux就该这么学》
sudo hostname <new-hostname>12
这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname)。所以重启计算机后会回到旧的主机名。
静态主机名保存在/etc/hostname文件中。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)