web-dev-qa-db-ja.com

UbuntuでNetcatのデフォルトバージョンを選択する方法

netcat -hをチェックしたときに、netcatに-eおよびVersionオプションがないことがわかりました。 Ubuntu 15.10。を使用しています。フォーラムから検索した後、インストールされているバージョンとその候補を知る方法を見つけました。

apt-cache policy netcat

私は次の出力を得ました:

Installed: (none)
Candidate: 1.10-41
Version table:
1.10-41 0
500 http://archive.ubuntu.com/ubuntu/ wily/universe AMD64 Packages

そこで、netcatをインストールして、候補バージョンを入手しました。現在、デフォルトのnetcatバージョンを選択する方法について混乱しており、-eオプションはどこにも見当たりません。

これに対する解決策は何ですか?

ありがとう。

4
Harshit Garg

netcatは移行パッケージであるため、インストールされたバージョンはありません。ファイルが含まれていないことを意味します。 (デフォルトで)インストールされ、netcatを提供するパッケージはnetcat-openbsdです。バージョンを確認できます:

apt-cache policy netcat-openbsd  

Netcatマニュアルから:

"このnetcatには-cまたは-eオプションはありませんが、ファイル記述子をリダイレクトすることにより、接続が確立された後でもコマンドを実行できます。あなたのサイトのコマンドは危険です(...)」


-eオプションを指定したnetcat-traditionalもあります。 netcat-openbsdを削除して、従来のバージョンをインストールできます。

Sudo apt-get install netcat-traditional 

または、両方のバージョンを保持し、次を実行して従来のバージョンを選択します。

Sudo update-alternatives --config nc 
5
EdiD

Ubuntuではデフォルトでnetcat-openbsdパッケージがインストールされます。 -eオプションはnetcat-openbsdでは使用できません。そのためには、netcat-traditionalパッケージをインストールする必要があります。

$Sudo apt-get install netcat-traditional

インストール後、netcat-openbsdからnetcat-traditionalに切り替える必要があります。そのタイプの

$Sudo update-alternatives --config nc

あなたはこのようないくつかの選択肢を得るでしょう

There are 2 choices for the alternative nc (providing /bin/nc).

  Selection    Path                 Priority   Status
------------------------------------------------------------
  0            /bin/nc.openbsd       50        auto mode
* 1            /bin/nc.openbsd       50        manual mode
  2            /bin/nc.traditional   10        manual mode

Press enter to keep the current choice[*], or type selection number: 

次に、プロンプトでnetcat-traditionalの選択番号を入力します(ここ2)。

はい、できました。

動作するかどうかを確認するには、次を入力します

$nc -h

リストに-eオプションが表示されます

5