標籤:style blog http color io os ar 使用 for
一、學習中問題
最近學習在學習Hadoop的一個子項目Zookeeper,在測試其中的“四字命令”---”echo ruok|nc localhost 2181“時發現命令無法被識別,如所示:
[[email protected] ~]# 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,同樣提示該命令無法找到如所示:
[[email protected] ~]# 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相關的安裝包,結果如下:
[[email protected] ~]# 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*,結果如下:
[[email protected] 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[[email protected] network-scripts]#
這次運行成功,telnet.i686表示用戶端,telnet-server.i686表示服務端。我們需要的是用戶端,安裝telnet.i686即可。
3)執行命令:yum install telnet.i686,進行安裝,結果如下:
[[email protected] network-scripts]# yum install telnet.i686Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cnSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package telnet.i686 1:0.17-47.el6_3.1 will be installed--> Finished Dependency ResolutionDependencies Resolved======================================================================================================================================================================== Package Arch Version Repository Size========================================================================================================================================================================Installing: telnet i686 1:0.17-47.el6_3.1 base 57 kTransaction Summary========================================================================================================================================================================Install 1 Package(s)Total download size: 57 kInstalled size: 102 kIs this ok [y/N]: yDownloading Packages:telnet-0.17-47.el6_3.1.i686.rpm | 57 kB 00:00warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEYRetrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6Importing 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-6Is this ok [y/N]: yRunning rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning TransactionWarning: 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/1Installed: telnet.i686 1:0.17-47.el6_3.1Complete!
View Code
4)驗證,執行命令:telnet --help,如下所示,表示安裝成功。
[[email protected] 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]][[email protected] network-scripts]#
配置yum,nc,telnet