您的位置:首页 > 其它

配置yum,nc,telnet

2015-09-04 06:02 495 查看


一、学习中问题

最近学习在学习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 R
d089
esolved

========================================================================================================================================================================
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-key@centos.org>
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]#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: