配置yum,nc,telnet

一、学习中问题  

  最近学习在学习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 makecache
Loaded plugins: fastestmirror, refresh-packagekit, security
Repository updates is listed more than once in the configuration
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=i386&repo=os error was
14: 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, security
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
Available Packages
telnet.i686                                                                       1:0.17-47.el6_3.1                                                                 base
telnet-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,进行安装,结果如下:

[root@hadoop network-scripts]# yum install telnet.i686
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package telnet.i686 1:0.17-47.el6_3.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================================
 Package                               Arch                                Version                                            Repository                           Size
========================================================================================================================================================================
Installing:
 telnet                                i686                                1:0.17-47.el6_3.1                                  base                                 57 k

Transaction Summary
========================================================================================================================================================================
Install       1 Package(s)

Total download size: 57 k
Installed size: 102 k
Is this ok [y/N]: y
Downloading Packages:
telnet-0.17-47.el6_3.1.i686.rpm                                                                                                                  |  57 kB     00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6[email protected]>
 Package: centos-release-6-4.el6.centos.10.i686 (@anaconda-CentOS-201303020136.i386/6.4)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : 1:telnet-0.17-47.el6_3.1.i686                                                                                                                        1/1
  Verifying  : 1:telnet-0.17-47.el6_3.1.i686                                                                                                                        1/1

Installed:
  telnet.i686 1:0.17-47.el6_3.1

Complete!
View Code

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

[root@hadoop network-scripts]# telnet --help
telnet: 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]#

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。