Linux学习13_配置yum,nc,telnet

来源:互联网 发布:电脑软件开发制作 编辑:程序博客网 时间:2024/05/16 18:00

配置yum,nc,telnet

原文来自:http://www.cnblogs.com/sunddenly/p/4031322.html?utm_source=tuicool

一、学习中问题  

最近学习在学习Hadoop的一个子项目Zookeeper,在测试其中的“四字命令”---”echo ruok|nc localhost 2181“时发现命令无法被识别,如下图所示:

[root@hadoop ~]# echo ruok|nc localhost 2181-bash: nc: command not found

从提示信息中我们可以知道,是由于nc命令无法被找到。出现该情况有两种可能:

  (1)没有配置nc命令的环境变量;
  (2)该系统没有安装nc命令;

我查看了一下在/usr/bin目录中并没有nc命令,所以我可以认为出现该情况的原因是第二种情况

二、解决办法

由于我的Linux(CentOS6.4)没有安装该命令,所以我需要安装一下该命令,安装办法有两种在线安装和下载后安装。我先尝试的是通过使用yum命令进行在线安装,由于我的系统配置问题并有成功,所以使用了第二种方法安装成功后,后来经过上网查阅,解决了在使用一种方法时所遇到的问题。在此,记录和大家分享一下,首先先介绍下载安装的办法。

(1)下载安装

下载地址: http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1-1.i386.rpm/download

安装方法: 

1) 下载后得到一个rpm包,如:netcat-0.7.1-1.i386.rpm
2)  将该包通过Wincp将其上传到Linux目录中,我上传的目录是/root/Downloads
3)  进入该目录,执行命令:rpm -ihv netcat-0.7.1-1.i386.rpm,进行安装
4)  安装成功后可以执行命令:nc --help,进行测试

(2)在线安装

在线安装需要我们使用yum命令,由于nc命令通过上述方法已经安装好了,就不在以nc命令为例了。我们以另一种远程联机指令telnet为例。首先我们执行命令:echo ruok|telnet localhost 2181,同样提示该命令无法找到如下图所示:

[root@hadoop ~]# echo ruok|telnet localhost 2181-bash: telnet: command not found

所以我们也学要安装一下,在这我使用第一种办法,步骤如下:

1)配置yum

yum是一种在线安装和更新软件的工具,使用该工具要保证网络连接,还要有一个可用的软件源,可以使用163或sohu的软件源,软件源地址如下:

a:163的网址:http://mirrors.163.com/ ,进入后点击右列的“fedora使用帮助”,有使用说明
b:sohu的网址:http://mirrors.sohu.com/
c: Centos自带的源

在此我使用的是Centos自带的源,如果使用163下载源,则步骤如下:

a:下载fedora-163.repo和fedora-updates-163.repo, 通过winCP放入Linux中/etc/yum.repos.d/目录
b:运行以下命令生成缓存:yum clean all、yum makecache

在执行上述两条命令后结果如下:

2)执行命令:yum list telnet*;查看telnet相关的安装包,结果如下:

复制代码
[root@hadoop ~]# yum makecacheLoaded plugins: fastestmirror, refresh-packagekit, securityRepository updates is listed more than once in the configurationDetermining fastest mirrorsCould not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=i386&repo=os error was14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"Error: Cannot find a valid baseurl for repo: base
复制代码

注意:

又出现了问题,出现如下错误信息,是因为DNS配置错误,我装的是Cent OS 6.4 ,没有图形界面,这个版本默认安装后,配置文件中没有配置DNS。

解决办法:

使用vi打开DNS的配置文件进行修改,执行命令: vi  /etc/resolv.conf,添加及几行内容,下面是一个例子文件:

nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain

合法的参数及其意义如下:


nameserver 表明DNS 服务器的IP 地址。可以有很多行的nameserver,每一个带一个I P 地址。在查询时就按nameserver 在本文件中的顺序进行,且只有当第一个nameserver 没有反应时才查询下面的nameserver.
domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS 查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( . )前面的内容。
search 它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search 声明的域中分别查找。domain 和search 不能共存;如果同时存在,后面出现的将会被使用。
sortlist 允许将得到域名结果进行特定的排序。它的参数为网络/掩码对。允许任意的排列顺序。

再次执行命令:yum list telnet*,结果如下:

Cannot retrieve metalink for repository: Fedora. Please verify its path and try again 

注意:

  出现该提示信息的原因是,原因是我在以前/etc/yum.repos.d/下建立了一个163的源,那个文件可能不正确,将那个源移除,再运行yum makecache时就可以了。 

再次执行命令:yum list telnet*,结果如下:

复制代码
[root@hadoop network-scripts]# yum list telnet*Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cnAvailable Packagestelnet.i686                                                                       1:0.17-47.el6_3.1                                                                 basetelnet-server.i686                                                                1:0.17-47.el6_3.1                                                                 base[root@hadoop network-scripts]#
复制代码

这次运行成功,telnet.i686表示客户端,telnet-server.i686表示服务端。我们需要的是客户端,安装telnet.i686即可。

3)执行命令:yum install telnet.i686,进行安装,结果如下:

 View Code

4)验证,执行命令:telnet --help,如下所示,表示安装成功。

复制代码
[root@hadoop network-scripts]# telnet --helptelnet: invalid option -- '-'Usage: telnet [-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user]        [-n tracefile] [-b hostalias ] [-r] [host-name [port]][root@hadoop network-scripts]#
复制代码
0 0