vi/etc/sysconfig/network-script/ifcfg-eth0
进入编辑模式
按i键进行编辑
修改
DEVICE=eth0#物理设备名IPADDR=192.168.1.10#IP地址NETMASK=255.255.255.0#掩码值NETWORK=192.168.1.0#网络地址(可不要)BROADCAST=192.168.1.255#广播地址(可不要)GATEWAY=192.168.1.1#网关地址ONBOOT=yes#[yes|no](引导时是否激活设备)USERCTL=no#[yes|no](非root用户是否可以控制该设备)BOOTPROTO=static#[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
然后修改DNS配置文件
vi/etc/resolv.conf
nameserver202.109.14.5#主DNS
nameserver219.141.136.10#次DNS
searchlocaldomain
所以网络配置完成后,都需要重启网络服务:servicenetworkrestart或/etc/init.d/networkrestart
问题:设置静态IP后,重启或重启路由,IP会发生变化
解决办法:
在安装完毕后,尝试设置静态IP地址,发现在network下面修改完毕之后,其netmask与gateway始终相同,导致网络链接不上(右上角到链接符号显示disconnected)。然后上网搜索了一下,发现这个现象在F9就已经存在,一直还没有修复。于是尝试几种解决方案,发现这个比较简单可行,特此如下显示。step1:
step2:
修改配置文件如下:
step3:
step4:上网,呵呵
作者:北南南北来自:LinuxSir.Org摘要:本文是关于Linux操作系统主机名(hostname)的文档,对主要配置文件/etc/hosts进行简要的说明;另外对基配具工具hostname也进行了举例说明;欢迎高手斧正,谢谢;
++++++++++++++++++++++++++++++++++++++++正文++++++++++++++++++++++++++++++++++++++++
1、什么是主机名;
无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在(以实验为目的的局域网域网实验性除外),每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。域名类型linuxsir.org这样的;
主机名是用于什么的呢?在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名。
2.主机名配置文件;
主机名的配置文件大多是/etc/hosts;
hosts-Thestatictablelookupforhostname(主机名查询静态表);
2.1主机名配置文件/etc/hosts解说;
Fedora/Redhat或以Fedora/Redhat为基础打包的发行版,主机名配置文件是/etc/hostsDebian或以Debian为基础打包的发行版,主机名配置文件是/etc/hostname和/etc/hostsSlackware的主机名配置文件是/etc/hosts
那我们来读读/etc/hosts的内容,看这个文件是用来做什么的。hosts配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射,也就是说每台机器都是独立的,所有的计算机都不能相互通过hostname来访问。
注:在debian中还有一个/etc/hostname的文件,这个文件就是直接把本地主机名写进去就行了,但要和/etc/hosts中的本地主机名保持一致。
/etc/hosts的内容一般有如下类似内容:
注:
一般情况下hosts的内容关于主机名(hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
第一部份:网络IP地址;第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如localhost.localdomain第二部份:主机名(主机名别名),其实就是主机名;
当然每行也可以是两部份,就是主机IP地址和主机名;比如192.168.1.195debian
127.0.0.1是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程序,就可以用回环地址来测试。
为什么需要定义域名呢?其实理解也简单,比如我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计hostname;
把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中,这样这三台局域网的机器就可以通过hostname来访问了。
2.2主机名(hostname)和域名(Domain)的区别;
主机名就机器本身的名字,域名是用来解析到IP的。但值得一说的是在局域网中,主机名也是可以解析到IP上的;比如我们前面所说举的例子;
2.3局域网的机器,不能通过主机名互访的原因;
有的弟兄可能会说,我的hostname彼此不能互访,其实这也问题也简单,我们前面已经提到了一个简单的解决办法。就是要让局域网中的所有主机都有一个通用的,并且包含所有主机的/etc/hosts文件;
另一个是做解决办法是做局域网DNS服务器,如果您的主机特别少,就用前面所说的简单方法就行;如何做DNS服务器,我将在以后的文档中专题介绍;不过我值得一提的是做任何服务器都是以效率优先的原则为基础。比如我们在局域网中两台机器,我们还有必要做DNS服务器吗?无论怎么解决,最终的都是用最有效率的办法解决问题;我们不能说明DNS多高级。如果DNS是为外网服务的,那就另说了,不做也得做。对不对?
3、主机名修改工具hostname;
其实主机名的修改也有专用工具,就是hostname;我认为如果用这个工具来修改主机名,不如直接修改/etc/hosts来的方便;您可以查看hosname--help或manhostname的帮助。在这里我们只说简单的用法;
hostname工具是用来显示和设置系统主机名,看下面的洋文;hostname-showorsetthesystem’shostname
举例解说:
*显示主机名:
此主机的主机名是linuxsir01,不加参数是用来显示当前操作的主机的主机名;
*临时设置主机名:
我们可以用hostname后接主机名,这样就可以设置当前操作的主机的主机名,比如我们想把主机名设置为linuxsir02;
通过hostname工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;所以您想修改主机名,想一直有效的,还是用前面所说修改主机名配置文件/etc/hosts;
*显示主机IP:
显示当前主机名的IP,可以用-i参数;
以下是配置SSH的无密码公钥认证的过程。首先,在homer06机器上执行命令,如代码清单1所示:
[root@master~]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):Createddirectory'/root/.ssh'.Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:Youridentificationhasbeensavedin/root/.ssh/id_rsa.Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.Thekeyfingerprintis:a8:97:55:d3:95:d6:fe:f5:08:ca:4c:6e:24:62:b4:22root@master
接下来可以做一下SSH连接测试,从master分别向master,slave1,slave2,slave3发起SSH连接请求,确保不需要输入密码就能SSH连接成功。注意第一次SSH连接时会出现如下提示信息:
Theauthenticityofhost[homer06]can'tbeestablished.Thekeyfingerprintis:74:32:91:f2:9c:dc:2e:80:48:73:d4:53:ab:e4:d3:1aAreyousureyouwanttocontinueconnecting(yes/no)
请输入yes,这样OpenSSH会把连接过来的这台主机的信息自动加到/root/.ssh/know_hosts文件中去,第二次再连接时,就不会有这样的提示信息了。
一.下载jdk5.0forlinux
到sun的主页下载jdk安装文件jdk-1_5_0_05-linux-i586.bin
二.解压安装jdk
在shell终端下进入jdk-1_5_0_05-linux-i586.bin文件所在目录,执行命令./jdk-1_5_0_05-linux-i586.bin这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk-1.5.0_05目录,你可以将它复制到任何一个目录下。
三.需要配置的环境变量
1.PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
2.CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
3.JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
四.三种配置环境变量的方法
1.修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
·用文本编辑器打开/etc/profile·在profile文件末尾加入:
JAVA_HOME=/usr/share/jdk1.5.0_05PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportJAVA_HOMEexportPATHexportCLASSPATH
2.修改.bashrc文件这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
·用文本编辑器打开用户目录下的.bashrc文件·在.bashrc文件末尾加入:setJAVA_HOME=/usr/share/jdk1.5.0_05exportJAVA_HOMEsetPATH=$JAVA_HOME/bin:$PATHexportPATHsetCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportCLASSPATH
3.直接在shell下设置变量
不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
只需在shell终端执行下列命令:
exportJAVA_HOME=/usr/share/jdk1.5.0_05exportPATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
五.测试jdk
1.用文本编辑器新建一个Test.java文件,在其中输入以下代码并保存:
publicclasstest{publicstaticvoidmain(Stringargs[]){System.out.println("Anewjdktest!");}}
2.编译:在shell终端执行命令javacTest.java
3.运行:在shell终端执行命令javaTest
当shell下出现“Anewjdktest!”字样则jdk运行正常。
六.卸载jdk
[root@masterhadoop-0.18.2]#scp-r.slave1:/opt/hadoop-0.18.2[root@masterhadoop-0.18.2]#scp-r/usr/local/jdk1.6.0_01/slave1:/usr/local/jdk1.6.0_01
JAVA_HOME=/usr/local/jdk1.6.0_01PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportJAVA_HOMEexportPATHexportCLASSPATH
[root@master~]#cd/opt/hadoop-0.18.2/bin/[root@masterbin]#./hadoopnamenode-format
[root@masterbin]#cd/opt/hadoop-0.18.2/bin/[root@masterbin]#./start-all.sh